2013-08-30 132 views
12

我刚刚从GoGaddy获得证书。它进来的.zip文件,该文件中有两个文件:我的证书的私钥在哪里

我已经安装了他们的“certificate.p7b” &“cetificate.crt”

,但是当我尝试查找私关键的任何一个,我得到NULL,这意味着他们没有私人。

当然,所有这些都是更大问题的一部分,我试图为AZURE网站安装证书,并且它不需要.crt文件,因此我需要将它导出到.pfx中

顺便说一句,我在一台工作笔记本电脑,它有一些预装的证书,并且都有私钥。这是我用来查找私钥的代码:

X509Store store = new X509Store(StoreName.My); 

store.Open(OpenFlags.MaxAllowed); 

foreach (var certin store.Certificates) 
{ 
    var pk = cert.PrivateKey; 
} 

哪里是私钥,以及如何获得它?

回答

13

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

+0

我得到了EJP描述的私钥,并将其与证书文件@ openssl命令行一起用于创建.pfx文件,然后将其安装在我的天蓝色网站中。 – ostati

4

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

您的浏览器中仍然有私钥。然后有几种选择:(1)按照他们的指示使用您用来创建证书请求的相同浏览器访问CA的站点。这将在CA指示您这样做时起作用,并且(2)CA为您的类似案例免费重新颁发证书。您可以申请r问题。

但是,一般来说,您必须仔细阅读所有说明,如果您不了解它们,请不要继续进一步操作。如果密钥是在本地生成的,则可以提供将私钥保存在安全的地方。如果你没有这样做 - 你是一个怪。

+0

是不是重发应该是[unlimted free](http://archive.is/38yJE#selection-655.36-655.59)? – Pacerier

+0

@Pacerier他们为什么会这样?这是他们的业务,他们不是慈善机构。 –