我的证书的私钥在哪里

时间:2013-08-30 21:18:37

标签: ssl iis-7 ssl-certificate

我刚从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;
}

私人钥匙在哪里,我如何获得私人钥匙?

2 个答案:

答案 0 :(得分:13)

你已经拥有它。您在此过程中所做的第一件事就是生成密钥对。然后,您从密钥对生成了CSR,然后由CA签名,现在您已签名证书,并且您仍然拥有原始密钥对。

答案 1 :(得分:5)

当您订购证书时,有时会询问您是否希望CA为您创建密钥对,或者您将在本地生成密钥。如果您没有被问到(或者已经选择了第二个选项),那么浏览器会生成一个密钥并在内部存储它。然后将证书申请传递给CA,他们会向您发送证书。

您的浏览器中仍然拥有私钥。然后有几个选项:(1)使用您用于创建证书申请的相同浏览器按照其说明访问CA的站点。这将在CA指示您这样做时起作用,并且(2)CA为您的案件提供一次免费重新颁发证书。您可以申请r问题。

但一般情况下,您必须仔细阅读所有说明,如果您不理解它们,请不要继续进行。如果密钥是在本地生成的,那么您可以提供将私钥保存在安全位置。如果你没有这样做 - 你应该受到责备。