我刚从GoGaddy那里获得了证书。它出现在一个.ZIP文件中,里面有两个文件:
“certificate.p7b”& “cetificate.crt”
我已经安装了它们,但当我尝试在其中任何一个上查找私钥时,我得到NULL,这意味着它们没有私有。
当然,所有这些都是更大问题的一部分,我正在尝试为AZURE网站安装证书而且它不需要.crt文件,因此,我需要将其导出到.pfx < / p>
顺便说一下,我在一台工作笔记本电脑上,它有一些预安装的证书,而且它们都有私钥。这是我用来查找私钥的代码:
X509Store store = new X509Store(StoreName.My);
store.Open(OpenFlags.MaxAllowed);
foreach (var certin store.Certificates)
{
var pk = cert.PrivateKey;
}
私人钥匙在哪里,我如何获得私人钥匙?
答案 0 :(得分:13)
你已经拥有它。您在此过程中所做的第一件事就是生成密钥对。然后,您从密钥对生成了CSR,然后由CA签名,现在您已签名证书,并且您仍然拥有原始密钥对。
答案 1 :(得分:5)
当您订购证书时,有时会询问您是否希望CA为您创建密钥对,或者您将在本地生成密钥。如果您没有被问到(或者已经选择了第二个选项),那么浏览器会生成一个密钥并在内部存储它。然后将证书申请传递给CA,他们会向您发送证书。
您的浏览器中仍然拥有私钥。然后有几个选项:(1)使用您用于创建证书申请的相同浏览器按照其说明访问CA的站点。这将在CA指示您这样做时起作用,并且(2)CA为您的案件提供一次免费重新颁发证书。您可以申请r问题。
但一般情况下,您必须仔细阅读所有说明,如果您不理解它们,请不要继续进行。如果密钥是在本地生成的,那么您可以提供将私钥保存在安全位置。如果你没有这样做 - 你应该受到责备。