成功运行signTool后发布者未知

Kri*_*ris 7 windows installer install windows-installer signtool

我正在尝试创建测试证书并签署我创建的.MSI文件.在购买真正的安全证书之前,我需要让测试版与签名的.MSI一起使用.

我已执行以下步骤来签署我的.MSI文件.一切都成功完成,并显示一条消息,表明在最后一步之后成功签署了1个文件.

makecert.exe -sv c:\Test\mykey.pvk -n "CN=WTS" c:\Test\myCert.cer

cert2spc.exe c:\Test\mycert.cer c:\Test\mycert.spc

pvk2pfx -pvk c:\Test\mykey.pvk -pi password -spc c:\Test\mycert.spc -pfx c:\Test\mycert.pfx -po password

signTool sign /f c:\Test\mycert.pfx /p password /v c:\Test\test.msi
Run Code Online (Sandbox Code Playgroud)

执行这些步骤后,我运行.MSI文件(为.MSI修改的日期确实更改为与运行signTool步骤的时间相匹配).显示此.MSI来自未知发布者的警告消息仍显示为"发布者:未知".

我错过了一步还是什么?一切似乎都正常,我从来没有看到任何错误,但我的文件似乎没有签名.

Jir*_*ika 9

您的文件已签名.Windows将发布者声明为未知,因为它不信任签名中的发布者标识.

请记住,在数字签名的世界中,您总是需要同时验证至少两件事,否则整个练习都毫无意义.您必须检查签名上的名称,并且还需要从您已信任的内容(例如,证书颁发机构或手动添加为受信任的证书)中找到信任链接,直至您正在检查的签名.只有这样才能在签名上信任该名称,并将其显示给操作系统用户.

在Web浏览器中,转到"工具"/"Internet选项"/"内容/发布者/证书",然后将测试证书添加到"受信任的发布者".

(另一个浏览器可能在"设置/显示高级设置/ HTTPS/SSL /管理证书"下具有相同的功能.)

然后重试.它不起作用,但我不知道为什么,这是一个有益的游戏.

目前尚不清楚,如果您的证书是自制的,并且没有证书颁发机构支持,则Windows是否有办法建立信任链. 该消息来源说:

如果使用测试(自创建)证书,安装对话框将显示"未知发布者"消息.对于在组织内部部署的应用程序,这是可接受的做法."

但是,您可以按此处所述创建自己的证书颁发机构,并在受信任的根证书颁发机构下添加CA证书.通过这样做,您基本上允许该CA颁发的任何证书签署任何内容并受Windows信任.

  • @Kris - 当然,我在谈论Windows Installer.事实上,我向您展示了两种不同的方法来访问同一个对话框,这暗示它是一个独立于特定浏览器的Windows组件.在这里寻找其他方式.http://technet.microsoft.com/en-us/library/cc755231(v=ws.10).aspx (2认同)