6

我正在尝试使用 Makecert.exe 创建一个签名证书,我可以将它与我们的内部 VS.NET 应用程序一起使用,以便在我们的本地网络上使用Clickonce进行部署

我一直在关注 MSDN 指南MSDN:ClickOnce 部署中的证书过期

所以我尝试了以下方法:

C:\Program Files (x86)\Microsoft Visual Studio 12.0>Makecert -sv DMTeam.pvk 
-n "CN=DMTeam" DMTeam.cer -b 03/04/2015 -e 12/31/2020

为了获得我们申请的证书

当我使用 VS 命令提示符运行上述命令时,出现以下错误:

错误:无法为主题创建文件(“DMTeam.pvk”)

错误:无法创建主题的密钥('DMTeam.pvk')

失败的

那么做错了什么?

4

1 回答 1

9

关键是使用管理员权限运行命令提示符。

我做了一些非常相似的事情,尽管我将 pvk 和 cer 文件写入了我的 c:\Temp 文件夹:

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin>MakeCert –sv C:\Temp\DMTeam.pvk –n “CN=DMTeam” c:\Temp\DMTeam.cer –b 03/ 04/2015 –e 12/31/2020 -r

不要忘记“-r”选项,因为它将“创建自签名证书”!没有它,当您使用创建的 pfx 文件时,项目将不会构建。

我在 VS2012 x86 Native Tools 命令提示符(以管理员身份运行)下运行它,它工作得很好。在没有管理权限的情况下运行,然后它会失败。

然后要创建 pfx 文件,请执行以下操作:

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin>pvk2pfx –pvk C:\Temp\DMTeam.pvk –spc C:\Temp\DMTeam.cer –pfx –po PasswordForPFXFile

以下是一些很好的参考资料:请参阅部分:测试证书、MakeCert、RenewCert 和大变通方法 https://msdn.microsoft.com/en-us/library/ff369721.aspx

https://msdn.microsoft.com/en-us/library/bfsktky3(v=vs.110).aspx

使用 makecer/pvk2pfx 时,ClickOnce 签名者的证书对签名无效

我的 ClickOnce 应用现在可以在 Visual Studio 2013 中正常构建。

于 2015-03-29T01:34:46.570 回答