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

Dea*_*uga 11 .net clickonce

突然,使用makecert/pvk2pfx创建的未过期证书在尝试发布ClickOnce应用程序时抛出错误.上周这个工作得很好......

错误信息:

错误2签名时出错:无法签署bin\Debug\app.publish\setup.exe.SignTool错误:签名者的证书对签名无效.SignTool错误:尝试签名时发生错误:bin\Debug\app.publish\setup.exe

当我在"签名"选项卡中使用"创建测试证书"选项时,证书正常工作并且应用程序已成功发布.

使用makecert/pvk2pfx手动创建证书时,我遵循MSDN说明.

当我删除旧的手动创建的证书时,使用makecert/pvk2pfx创建一个新证书并尝试使用该证书我得到相同的错误.

该应用程序是一个针对.NET 4的WPF应用程序,这一切都在Visual Studio 2010中...

有任何想法吗?

小智 23

在我指定证书长度大于1024之后,它对我有用:

makecert -sv MyApp.pvk -n "CN=MyCompany" -len 2048 MyApp.cer -r
pvk2pfx -pvk MyApp.pvk -spc MyApp.cer -pfx MyApp.pfx -po MyPassword
Run Code Online (Sandbox Code Playgroud)

Microsoft发布了一个更新,该更新会影响RSA密钥长度小于1024位的所有证书.

Microsoft安全通报:更新最低证书密钥长度

  • 我的证书无效,所以我尝试了-32 2048,但仍然无效.通过添加** - r**解决了实际问题,然后删除了signtool错误. (5认同)

Dea*_*uga 6

在使用-rMakecert开关(创建自签名证书)后,使用pvk2pfx生成的pfx证书现在适用于ClickOnce发布...我不确定这里发生了什么,因为旧的密钥不是"自签名"工作正常很长时间...

我用来创建工作pfx证书的确切命令......

makecert -sv MyApp.pvk -n "CN=MyCompany" MyApp.cer -r

pvk2pfx -pvk MyApp.pvk -spc MyApp.cer -pfx MyApp.pfx
Run Code Online (Sandbox Code Playgroud)