我是否可以仅使用makecert.exe为Windows Azure创建自签名SSL证书?

时间:2012-05-22 19:09:00

标签: ssl azure makecert

背景:我需要在Windows Azure上测试WebRole的https端点。为此,我需要上传自签名证书,将证书的指纹添加到WebRole的配置中,最后将端点与配置的证书相关联。

我使用makecert.exe创建了一个自签名证书,该证书可通过Visual Studio命令提示符获得。我使用了以下命令:

makecert.exe -r -pe -n "CN=test.cloudapp.net" -sky exchange -ss my -len 2048 test.pfx

命令成功,我可以将证书文件上载到Windows Azure托管服务。但部署WebRole失败,出现以下错误:

  

带有指纹6AB的证书...与HTTPS输入相关联   端点Endpoint2不包含私钥。

我必须从我的商店导出证书,然后选择包含私钥并提供密码。如果我上传此导出的证书文件并使用其指纹,则部署成功。

我想创建一个包含私钥的证书文件,而不先将证书保存到任何商店并从商店导出。可以使用makecert.exe吗?

1 个答案:

答案 0 :(得分:14)

要创建证书而不将其保存到任何商店,您需要使用 pvk2pfx.exe (可通过Visual Studio命令提示符获取)。

它的工作原理如下:

makecert.exe -sv CertKey.pvk -n "CN=My Azure Certificate" CertKey.cer
pvk2pfx.exe -pvk CertKey.pvk -spc CertKey.cer -pfx MyPFX.pfx -po yourPasswordHere

运行makecert.exe将要求您输入私钥的密码。您需要输入pvk2pfx.exe命令的-po参数的密码。

最后,您将拥有一个名为 MyPFX.pfx 的pfx文件(包含私钥)