2013-07-21 188 views
3

我想为我的Azure网站设置SSL证书。 CA,Gandi给了我一个.crt文件。 但是,Azure希望使用私钥的.pfx文件。Azure的SSL证书

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

我搜索了一些解决方案之前,张贴在这里我的问题,但没有奏效。 其中之一是使用openssl来转换我的.crt文件,但是当我尝试这些命令时,我有一个错误消息,表示无法识别私钥。

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

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

+0

可能重复[如何创建.CER证书和私钥.pfx文件(http://stackoverflow.com/questions/6307886/how- to-create-pfx-file-from-cer-certificate-and-private-key) – rene

+0

这没有意义。您应该已经生成了“证书请求”,然后发送给CA. CA会产生一些神奇的东西,让你“完成请求”。一旦你这样做了,你应该有完整的证书,你可以在你需要时导出.pfx。 – sharptooth

+0

@sharptooth事实上,为CA创建了一个证书请求。但是,我不是那个创造它的人。我刚刚收到.crt文件,我无法使用IIS中的“完整证书请求”,但它不会将其添加到我的服务器证书中。感谢您的回答:) –

回答

8

所以首先第一件事情可以理解。当甘地为您生成证书时,它必须要求提供CSR(证书签名请求)。如果您已经使用IIS生成了CSR,那么也很少有机会为您生成私钥文件。因此,使用OpenSSL等工具生成CSR以及稍后可用于从您从CA接收到的crt文件创建PFX的私钥文件始终是可取的。因此,应遵循的步骤是:

  1. 生成CSR并使用下面的命令使用OpenSSL工具私钥文件:

OpenSSL的REQ -nodes -newkey RSA:2048 -keyout myserver.key -out myserver.csr

其中,我的服务器可以替换为您希望用于证书的任何名称。此命令将允许您输入用于生成CSR的信息。此步骤在此进一步阐述:http://wiki.gandi.net/en/ssl/csr

  • 接着,传递的CSR和其他验证信息到甘地,然后将产生在中间情况下.CRT和为.pem(证书)为你喜欢你提到。

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

  • 接下来,使用下面的OpenSSL命令将crt文件转换为可以导出的pfx文件。

  • OpenSSL的PKCS12 -export退房手续名称 - 您 - 蔚certificate.pfx -inkey privateKey.key -in certificate.crt -CertFile CACert.pem

    在这里,你的专用密钥。键是您在第一步中生成的文件。 certificate.crt是你从甘地收到的crt文件,CACert.pem是甘地给你的pem文件。

    上述命令的成功执行应提示您输入密码。请记住此密码,因为在将pfx上载到Azure时需要输入此密码。

    +0

    Hi @Tinu。首先,感谢您的回答。这是很好的解释,如果我明白了,没有用CSR创建的.key文件,我什么也做不了。因为我不是创造CSR的人,他不记得他是如何创造它的......我想我没有别的选择去创造一个新的CSR并且自己做所有步骤...... –

    +0

    您的示例中的'privateKey.key'和'myserver.key'是否相同? – JoshVarty