Azure 的 SSL 证书
Posted
技术标签:
【中文标题】Azure 的 SSL 证书【英文标题】:SSL Certificate for Azure 【发布时间】:2013-07-20 06:31:39 【问题描述】:我想为我的 Azure 网站设置 SSL 证书。 CA Gandi 给了我一个 .crt 文件。 但是,Azure 需要一个带有私钥的 .pfx 文件。
我必须说我不习惯处理 SSL 证书:-/
我在此处发布我的问题之前搜索了一些解决方案,但没有任何效果。 其中之一是使用 openssl 转换我的 .Crt 文件,但是当我尝试这些命令时,我收到一条错误消息,提示无法识别私钥。
.crt 文件不包含私钥?我只有这个 .crt 文件,我在哪里可以找到那个私钥?
感谢您阅读我的问题,我们将不胜感激:-)
【问题讨论】:
How to create .pfx file from .cer certificate and private key的可能重复 这没有意义。您应该已经生成了一个“证书请求”并发送到 CA。 CA 会产生一些神奇的东西,让你“完成请求”。完成此操作后,您应该拥有完整的证书,您可以在需要时从中导出 .pfx。 @sharptooth 实际上,已经为 CA 创建了一个证书请求。然而,我不是创造它的人。我刚刚收到 .crt 文件,我不能使用来自 IIS 的“完整证书请求”,它不会将它添加到我的服务器证书中。谢谢你的回答:) 【参考方案1】:所以首先要做的事情。当 Gandi 为您生成证书时,它一定要求提供 CSR(证书签名请求)。如果您使用 IIS 生成了 CSR,那么为您生成私钥文件的可能性很小。因此,始终建议使用 OpenSSL 之类的工具来生成 CSR 以及私钥文件,以后可以使用该文件从您从 CA 收到的 crt 文件中创建 PFX。因此,要遵循的步骤是:
-
使用以下命令使用 OpenSSL 工具生成 CSR 和私钥文件:
openssl req -nodes -newkey rsa:2048 -keyout myserver.key -out myserver.csr
myserver 可以替换为您希望证书的任何名称。然后,此命令将允许您输入用于生成 CSR 的信息。这一步在这里进一步阐述:http://wiki.gandi.net/en/ssl/csr
接下来,将 CSR 和其他验证信息传递给 Gandi,然后它会为您生成一个 .crt 和一个 .pem(如果是中间证书),就像您提到的那样。
获得证书后,首先使用 mmc(管理控制台)导入中间证书。此链接可以帮助您完成此步骤:http://blog.amusedia.com/2011/10/setting-up-secure-windows-azure-web.html
接下来,使用以下 OpenSSL 命令将 crt 文件转换为 pfx 文件,然后您可以导出。
openssl pkcs12 -export -out name-your-azure-certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.pem
这里,您的 privateKey.key 是您在第一步中生成的文件。 certificate.crt 是您从 Gandi 收到的 crt 文件,而 CACert.pem 是 Gandi 给您的 pem 文件。
上述命令的成功执行应该会提示您输入密码。请记住此密码,因为在将 pfx 上传到 Azure 时需要输入此密码。
【讨论】:
嗨@Tinu。首先,感谢您的回答。解释得很好,如果我理解的话,如果没有使用 CSR 创建的 .key 文件,我将无能为力。因为我不是创建 CSR 的人,他不记得他是如何创建它的......我想我没有其他选择来创建一个新的 CSR 并自己完成所有步骤...... 您的示例中的privateKey.key
和myserver.key
是否相同?【参考方案2】:
使用免费的 DigiCert 证书实用程序 - 这很简单,您将在一分钟内启动并运行。
以下是要遵循的确切程序: http://www.digicert.com/ssl-certificate-installation-azure-website.htm#import
【讨论】:
不幸的是,这似乎不支持生成 SHA-2 CSR 请求,这是一些公司(例如 Gandi)生成 SHA-2 证书的要求。以上是关于Azure 的 SSL 证书的主要内容,如果未能解决你的问题,请参考以下文章