![如何找出哪个服务器生成了 CSR](https://linux22.com/image/631255/%E5%A6%82%E4%BD%95%E6%89%BE%E5%87%BA%E5%93%AA%E4%B8%AA%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%94%9F%E6%88%90%E4%BA%86%20CSR.png)
几个月前我给客户发了 CSR,现在他们终于给我发回了 CA 响应。但是,有多个 Windows 2008R2 服务器,我不记得我用哪个服务器生成了 CSR,因此,我不知道哪个服务器包含私钥。
我如何才能知道?
更新
在我怀疑是正确的服务器上,我使用 MMC(certmgr.msc)进入本地计算机的证书管理,并在证书(本地计算机)> 证书注册请求> 证书下,我找到了与 CSR 关联的私钥。
然而,我的问题是,当我尝试从 IIS(我创建 CSR 的地方)完成请求时,它没有将其与此私钥关联。我试过certreq-accept-machine“c:\cert.crt”但我收到此错误:
Certificate Request Processor: Cannot find object or property. 0x80092004 (-2146
885628)
第二次更新
我能够弄清楚客户使用的 CSR 与我们发送给他们的证书申请不同。我通过比较他们证书上的“颁发给”信息与我发送给他们的 CSR 上的相同信息来做到这一点,发现城市不同。希望这能帮助其他正在处理有问题的客户的人 :)
答案1
您可以尝试使用 openSSL 工具集来比较证书:http://bogpeople.com/networking/openssl.shtml
如果这没有帮助,请见谅 - 我来自 Linux 背景,不熟悉 Windows 管理。Windows 有二进制发行版,值得一提 =>https://www.openssl.org/related/binaries.html
答案2
我有一种方法可以查明 CSR 是否是由其中一个 Windows 服务器生成的。
在cmd中: certutil filename.csr
在机器属性中,您将获得它的生成位置。