我试图签署由Thawte颁发的代码签名证书的ActiveX控件。我能够使用signtool.exe成功登录控制。

当我看一下这个文件的属性,它说:“在签名证书无法验证。”

当我认为它说证书“Windows没有足够的信息来验证证书。”

在证书路径选项卡,它说:“此证书的发行者无法找到。”

在Internet Explorer中的证书是作为签名确认,但用户接收警告,发布者没有被验证。

我试图创建包含我的证书与根和中间的证书链到我Thawte的显影剂的证书,然后重新签名使用PFX文件中的控制沿着单个PFX文件。没有骰子。

任何建议?

有帮助吗?

解决方案

在问题实际上包含正确procedure--做使用包含根证书,中间证书,开发者证书,和私钥PFX文件的签字。此外,使用时间戳服务器。我的问题是,我已经包括在我PFX错误的根证书,所以用来签署证书不能回链到根。

根据要求,这里是关于如何创建PFX文件中的信息。的cert2spc和pvk2pfx,我使用以下也都在平台SDK。

cert2spc certpath1.cer certpath2.cer certpath3.cer codesign.spc

其中的.CER文件的列表包括根,中间,和代码签名证书,并且codesign.spc是输出文件。然后:

pvk2pfx -pvk privkey.pvk -spc codesign.spc

以这种方式运行pvk2pfx启动一个向导,提示私钥密码短语,并输出文件的位置,并输出文件的密码。

最后,signtool执行实际代码签名:

signtool sign /f my_certificates.pfx /p my_passphrase /t http://timestamp.verisign.com/scripts/timstamp.dll my_activex_control.ocx

在回想起来,我可能会用signcode.exe又名代码签名向导(我认为这是在.NET SDK的一部分),节省了时间,其用途.SPC和.pvk文件直接。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top