7

背景:我需要在 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 的部署失败并出现以下错误:

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

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

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

4

1 回答 1

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 文件(包含私钥)

于 2012-05-22T20:10:50.327 回答