使用SHA256RSA签名ClickOnce清单的未知发布者

时间:2014-10-29 20:39:03

标签: visual-studio clickonce code-signing signtool

我创建了一个自签名CA证书,并将其放在当前用户受信任的根证书颁发机构证书存储区中。然后,我使用:

创建了一个软件发布者证书
makecert -n "CN=Temp Name, O=Temp Corporation, C=US" -h 0 ^
         -eku "1.3.6.1.5.5.7.3.3,1.3.6.1.4.1.311.10.3.13" ^
         -e 01/01/2015 -ic "Temp CA.cer" -iv "Temp.pvk" ^
         -sv "Temp SPC.pvk" -a sha256 "Temp SPC.cer"

...并将生成的文件合并到一个pfx文件中,如下所示:

Pvk2Pfx /pvk "Temp SPC.pvk" /spc "Temp SPC.cer" /pfx "Temp SPC.pfx"

我继续使用这个pfx文件用Visual Studio(2013)签署一个简单的控制台应用程序的ClickOnce Manifests,一切都很顺利。但是,在测试生成的Setup.exe时,我注意到Application Install - Security Warning对话框报告发布者不知道。

关注this MSDN guide后,我设法通过排除-a sha256标记来实现预期的工作,从而产生:

makecert -n "CN=Temp Name, O=Temp Corporation, C=US" -h 0 ^
         -eku "1.3.6.1.5.5.7.3.3,1.3.6.1.4.1.311.10.3.13" ^
         -e 01/01/2015 -ic "Temp CA.cer" -iv "Temp.pvk" ^
         -sv "Temp SPC.pvk" "Temp SPC.cer"

我不明白。为什么在发布商中指定-a sha256的SPC结果为" unknown" (和一个看起来很愤怒的对话,黄盾和所有)?


编辑:实际上,它仍然有点怪异;我刚刚尝试更改为-a sha512也适用

makecert /n "CN=Temp Name, O=Temp Corporation, C=US" /h 0 ^
         /eku "1.3.6.1.5.5.7.3.3,1.3.6.1.4.1.311.10.3.13" ^
         /e 01/01/2015 -ic "Temp CA.cer" -iv "Temp.pvk" ^
         /sv "Temp SPC.pvk" -a sha512 "Temp SPC.cer"

0 个答案:

没有答案