3

我想为我的 Azure 网站设置 SSL 证书。CA Gandi 给了我一个 .crt 文件。但是,Azure 需要一个带有私钥的 .pfx 文件。

我必须说我不习惯处理 SSL 证书:-/

我之前搜索了一些解决方案来在这里发布我的问题,但没有任何效果。其中之一是使用 openssl 转换我的 .Crt 文件,但是当我尝试这些命令时,我收到一条错误消息,指出无法识别私钥。

.crt 文件不包含私钥?我只有这个 .crt 文件,我在哪里可以找到那个私钥?

感谢您阅读我的问题,任何答案将不胜感激:-)

4

2 回答 2

8

所以首先要做的事情。当 Gandi 为您生成证书时,它一定要求提供 CSR(证书签名请求)。如果您使用 IIS 生成了 CSR,那么为您生成私钥文件的可能性很小。因此,始终建议使用 OpenSSL 之类的工具来生成 CSR 以及私钥文件,以后可以使用该文件从您从 CA 收到的 crt 文件中创建 PFX。因此,要遵循的步骤是:

  1. 使用以下命令使用 OpenSSL 工具生成 CSR 和私钥文件:

openssl req -nodes -newkey rsa:2048 -keyout myserver.key -out myserver.csr

其中 myserver 可以替换为您希望证书的任何名称。然后,此命令将允许您输入用于生成 CSR 的信息。此步骤在此处进一步详细说明:http ://wiki.gandi.net/en/ssl/csr

  1. 接下来,将 CSR 和其他验证信息传递给 Gandi,然后它会为您生成一个 .crt 和一个 .pem(如果是中间证书),就像您提到的那样。

  2. 获得证书后,首先使用 mmc(管理控制台)导入中间证书。此链接可以帮助您完成此步骤:http ://blog.amusedia.com/2011/10/setting-up-secure-windows-azure-web.html

  3. 接下来,使用以下 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 时需要输入此密码。

于 2013-07-21T19:35:18.433 回答
1

Use the free DigiCert Certificate Utility - it's a no brainer, you will be up and running in a minute.

Here is the exact procedure to follow: http://www.digicert.com/ssl-certificate-installation-azure-website.htm#import

于 2014-05-03T10:33:21.073 回答