Certutil 要求连接智能卡

问题描述 投票:0回答:4

我正在尝试

run certutil -repairstore
并不断收到输入智能卡的提示。但这是 AWS 上的虚拟机,不能选择智能卡。

任何关于如何绕过智能卡并完成修复的想法都值得赞赏。

ssl certificate ssl-certificate windows-server-2012-r2 x509certificate2
4个回答
5
投票

其他答案之一谈到了它,但我想添加一些上下文/细节,并且我花了很多时间寻找这个问题的根源。杀死与智能卡相关的服务不起作用,使用 gpedit 禁用相关策略也不起作用。

当您使用

-repairstore
选项运行 certutil 时,Windows 会运行其 CSP(配置服务提供程序)列表,其中之一是“Microsoft 智能卡密钥存储提供程序” - 这是导致提示输入您的智能卡密钥的提供程序。卡片。正如上面的答案所述,最可能的原因是您正在尝试安装虚拟机上没有相应密钥的证书文件(.crt、.cer、.pem 等),因此 Windows 会循环遍历各种 CSP 正在寻找有效密钥,但找不到。此问题有两种可能的解决方案:

  1. 您应该通过 IIS > 服务器证书 > 创建证书请求生成 CSR(证书签名请求)。这将确保密钥是在本地生成的并且适当的密钥存储知道它。使用该 CSR 从 GoDaddy 或无论您的提供商是谁获取证书,然后您应该能够转到 IIS > 服务器证书 > 完成证书请求 安装证书并完全避免 certutil。

  2. 如果您仍然无法让它工作并且确定密钥是在本地生成的,certutil 的

    -csp
    选项将允许您指定在验证证书时使用哪个 CSP,从而无需 Windows 尝试智能卡 CSP。您可以通过运行
    certutil -csplist
    来获取系统上已安装的 CSP - “Provider Name”值是您传递给 certutil 的值。例如,
    certutil -csp "Microsoft Software Key Storage Provider" -repairstore ...
    将强制 certutil 针对 Microsoft 软件密钥存储提供程序进行验证。确保使用引号,因为名称中有空格。


1
投票

确保您在托管域的同一 Windows 服务器上发出原始证书请求。然后用ssl供应商提供的p7b完成请求就不会出现任何问题了。


1
投票

这个问题可能有点老了,但我遇到这个错误还有另一个原因:

我有多个服务器尝试导入证书。 但是,证书请求是从一台服务器生成的。在这种情况下,我导入到原始服务器,该服务器创建请求并导出 mmc 中的所有内容(包括私钥),然后将 pfx 文件重新导入到以上服务器。


-3
投票

尝试将

-silent
添加到命令中

© www.soinside.com 2019 - 2024. All rights reserved.