我正在尝试运行certutil -repairstore并不断收到提示输入智能卡。这是AWS上的VM,智能卡不是一种选择。有关如何绕过智能卡并完成维修的任何想法都表示赞赏
答案 0 :(得分:1)
其他答案之一触及了它,但我想添加一些上下文/细节,并且我花了很多时间寻找这个问题的根源。关闭智能卡相关服务无效,使用 gpedit 禁用相关策略也无效。
当您使用 -repairstore
选项运行 certutil 时,Windows 会运行其 CSP(配置服务提供程序)列表,其中之一是“Microsoft 智能卡密钥存储提供程序” - 这就是导致提示的原因输入您的智能卡。如上述答案所述,最可能的原因是您尝试安装在 VM 上没有相应密钥的证书文件(.crt、.cer、.pem 等),因此 Windows 正在循环执行各种 CSP 正在寻找有效的密钥,但找不到。这个问题有两种可能的解决方案:
您应该通过IIS > 服务器证书> 创建证书请求 生成您的 CSR(证书签名请求)。这将确保密钥是在本地生成的,并且适当的密钥库知道它。使用该 CSR 从 GoDaddy 或您的提供商那里获取您的证书,然后您应该能够转到 IIS > 服务器证书 > 完成证书请求 来安装证书并完全避免使用 certutil。
如果您仍然无法使用它并且确定密钥是在本地生成的,certutil 的 -csp
选项将允许您指定在验证证书时使用哪个 CSP,从而消除需要 Windows 来尝试智能卡 CSP。您可以通过运行 certutil -csplist
在您的系统上获取已安装的 CSP - “提供程序名称”值是您传递给 certutil 的内容。例如,certutil -csp "Microsoft Software Key Storage Provider" -repairstore ...
将强制 certutil 针对 Microsoft 软件密钥存储提供程序进行验证。确保使用引号,因为名称中有空格。
答案 1 :(得分:0)
确保您在托管域的同一Windows服务器上发出原始证书请求。然后使用ssl供应商提供的p7b完成请求,您将不会有任何问题。
答案 2 :(得分:-1)
尝试将-silent
添加到命令中