我创建了Windows Forms应用程序的设置。在Windows 7中安装此设置后,它显示如下内容:
Name: my application.exe
Publisher: unknown publisher
Type: application
From: my application.exe
我想设置发布商名称。如何设置发布者名称?
答案 0 :(得分:19)
您需要对输出代码进行数字签名。我可以通过文章 Signing and Checking Code with Authenticode 开始。
这样做的全部目的是保证您的代码没有被篡改。如果您从其中一个证书颁发机构purchase a code signing certificate,则可以阻止“您信任这个”窗口出现。
设置并不是一项简单的任务,但是一旦脚本启动就可以使用脚本执行。
你找不到一个简单,快速解决的答案。
这是最相关部分的剪切和粘贴。您可能需要进一步阅读以获得您想要的内容。
使用MakeCert测试程序生成测试 X.509证书。 MakeCert执行以下任务:
以下是使用Microsoft Internet Explorer 3.02 UPD选项创建证书的示例:
MakeCert -k:c:\KeyStore\MyKey.pvk -n:CN=MySoftwareCompany Cert.cer
在此示例中,将创建名为 Cert.cer 的证书文件。名为 MyKey 的密钥对的公共部分绑定到发布者 MySoftwareCompany 。
生成证书后,您可以使用Cert2SPC程序创建软件发布证书。该程序将多个 X.509证书包装到 PKCS#7 签名数据对象中。请注意,此程序仅用于测试目的。从证书颁发机构获取有效的软件发布证书。 这是一个例子:
Cert2SPC MyCert.cer MyCert.spc
这将 X.509证书, MyCert.cer 包装到名为 MyCert.spc的 PKCS#7软件发布证书中
最后一步是使用SignCode程序实际签名文件。该计划将:
文件签名后(假设您拥有有效证书)并加盖时间戳,该文件可以分发给您的客户。请注意,使用测试程序MakeCert和Cert2SPC生成的证书对于将分发给公众的代码无效。独立软件供应商必须从GTE,VeriSign Inc.或其他认证机构获取证书,以签署将分发给公众的代码。
以下是使用Microsoft Internet Explorer 3.02 UPD选项对文件进行签名和时间戳的两个示例。第一个使用私钥名称 MyKey ,第二个使用私钥文件 My.pvk :
SignCode -prog MyControl.exe -spc Cert.spc -pvk MyKey -timeStamper http://timestamp.verisign.com/scripts/timstamp.dll
SignCode -prog MyControl.exe -spc Cert.spc -pvk My.pvk -timeStamper http://timestamp.verisign.com/scripts/timstamp.dll
注意在上面的URL中,timstamp.dll是正确的。这不是印刷错误。
在这两种情况下,PKCS#7对象Cert.spc都嵌入到文件的摘要MyControl.exe中。在第一个示例中,使用MyKey密钥对的私钥对摘要进行签名,并添加时间戳。在第二个示例中,使用私钥文件My.pvk对摘要进行签名,并添加时间戳。