作为确保公司安全通信的一部分,我们正在尝试将 Digicert 颁发的 SMIME 证书导出给我们的客户,但是在通过 certmgr 控制台导出过程中,我们遇到了一些与未包含或无法导出的私钥有关的问题。
以下是错误和各种故障排除尝试的简要描述。
在导出过程中,我注意到证书导出向导中选择“个人信息交换 - PKCS #12 (.PFX)”的选项呈灰色,如下面的屏幕截图所示 证书导出向导
我尝试通过首先检查导入的证书是否存在相应的私钥来解决问题,但如下面的屏幕截图所示,没有可用的私钥。 Certmgr 证书
我进一步尝试通过执行 certutil -repairstore my "serial" 命令对证书存储进行修复,以防证书损坏,但出现了以下错误 certutil repairstore 错误
正如这篇 Digicert 文章中所建议的那样https://knowledge.digicert.com/solution/SO1335.html我尝试使用记事本打开密钥容器路径 C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys 中与各个密钥容器对应的文件夹中的每个文件来检查权限。如下面的屏幕截图中的消息所示,访问被拒绝 Machinekeys 权限
我检查了 C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys 文件夹的权限,并得到以下结果Machinekeys 文件夹上的 icacls有趣的是,文件夹的权限符合微软建议的默认权限要求,如下所述https://learn.microsoft.com/en-us/troubleshoot/windows-server/windows-security/default-permissions-machinekeys-folders
此时,我有点不确定该采取什么措施。证书是否可能在没有附带密钥的情况下被导入?我不这么认为,因为将同一证书复制到另一个客户端后将其导出会产生预期的结果。证书是否可能已损坏或密钥容器内的子文件夹继续被拒绝访问?有趣的是,这种情况似乎很偶然,因为它在不同位置的某些客户端上正常运行。运行组可能是特定用户或属于特定组的客户,这些客户在客户端、网络或域上本地拥有必要的权限,这种可能性大吗?我将不胜感激任何提示或建议。
答案1
经过仔细检查,我们发现它被标记为不可导出。我已要求重新颁发证书,同时确保密钥可导出。我们将进行相应的测试,并尽快更新测试结果。与此同时,我会将此标记为已回答。感谢您的意见。