程序集的签名是否需要可验证?

时间:2012-05-07 12:50:42

标签: .net strongname assembly-signing

从我在互联网上看到的情况来看 - 事实并非如此。 (我指的是大会的强名称签名,而不是证书颁发机构的证书)这引出了我这些问题:

  1. 为什么要为它添加日期戳?
  2. 我是否必须保留签名的密钥,或者我可以 创建密钥对(sn -k),签名并删除它?

1 个答案:

答案 0 :(得分:2)

类似"日期标记"和#34;可验证的"仅适用于代码签名。一个强大的名字是完全不同的,它没有证明签名者的身份。它只是允许验证程序集的内容没有被用于构建程序的版本修改,而该程序没有私钥。

自.NET 3.5 SP1起,强名称未在完全信任模式下验证。可以使用.config文件和<bypassTrustedAppStrongNames>元素覆盖的策略。 MSDN文章is here

您当然希望保留.snk文件。如果丢弃它,您将无法为特定程序集部署错误修复程序。