2011-03-26 112 views

回答

6

您可以使用适当的代码签名证书(您拥有私钥)签署程序集(以及任何Windows dll或exe)。

除非非常不寻常,否则网站(身份验证)证书将没有正确的“使用情况”属性以允许它用于代码签名。

欲了解更多关于此(以及您需要执行签署的工具):Everything you need to know about Authenticode Code Signing

+0

组织验证的SSL证书(包括公司名称)如何? – 2011-04-05 17:26:09

+0

@JoshM:如果组织的SSL证书被标记为代码签名,则可以使用它,如果未标记则不能。证书的信任范围对此没有任何影响。 – Richard 2011-04-06 07:03:07

+0

明白了,谢谢。 – 2011-04-06 15:30:46

1

除了理查德所说的之外,您还需要区分强命名(使用“原始”私钥签名程序集)和Authenticode签名。 Strong-naming特定于.NET程序集,Authenticode用于签署任何PE文件(以及其他一些文件类型)。

此外,如果您使用Authenticode签署程序集,请准备在程序集加载时获得延迟。这是因为.NET Framework验证签名并可选择检索CRL并在每次装入程序集时执行OCSP检查。所以,除非你必须签署大会,出于性能原因,你可能想跳过这一步。

在我们的Secureblackbox产品中,我们已经对所有程序集进行了签名,但后来有些客户报告说程序集根本无法加载,事实证明这与签名验证有关。所以我们删除了authenticode签名并且只保留了.NET强大的版本。

相关问题