【问题标题】:Where is my certificate's private key我的证书的私钥在哪里
【发布时间】:2013-08-30 21:18:37
【问题描述】:

我刚刚从 GoGaddy 获得了证书。它以 .ZIP 文件的形式出现,其中包含两个文件:

“证书.p7b”和“证书.crt”

我已经安装了它们,但是当我尝试在其中任何一个上查找私钥时,我得到 NULL,这意味着它们没有私钥。

当然,所有这些都是更大问题的一部分,我正在尝试为 AZURE 网站安装证书,但它不需要 .crt 文件,所以我需要将其导出到 .pfx

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

X509Store store = new X509Store(StoreName.My);

store.Open(OpenFlags.MaxAllowed);

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

私钥在哪里以及如何获得?

【问题讨论】:

    标签: ssl iis-7 ssl-certificate


    【解决方案1】:

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

    【讨论】:

    • 我得到了 EJP 描述的私钥,并将它与证书文件一起使用@openssl 命令行创建了一个 .pfx 文件,然后将其安装在我的 azure 网站中。
    【解决方案2】:

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

    您的浏览器中仍有私钥。那么有几个选项:(1) 使用您用来创建证书请求的同一浏览器按照他们的说明访问 CA 的站点。当 CA 指示您这样做时,这将起作用,并且 (2) CA 为像您这样的情况提供一次免费的证书重新颁发。您可以请求 r-issue。

    但总的来说,您必须仔细阅读所有说明,如果您不理解它们,请不要继续进行。如果密钥是在本地生成的,那么您可能会被要求将私钥保存在安全的地方。如果你没有这样做 - 你是罪魁祸首。

    【讨论】:

    • 补发不应该是unlimted free吗?
    • @Pacerier 为什么会这样?这是他们的事,他们不是慈善机构。
    猜你喜欢
    • 2018-11-03
    • 2013-08-22
    • 2011-02-02
    • 1970-01-01
    • 2010-10-14
    • 2014-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多