从我在互联网上看到的 - 它没有。(我指的是程序集的强名称签名,而不是证书颁发机构的证书)这让我想到了这些问题:
- 为什么有日期戳呢?
- 我是否必须保留用于签名的密钥,或者我可以简单地创建一个密钥对 (sn –k)、签名并删除它?
从我在互联网上看到的 - 它没有。(我指的是程序集的强名称签名,而不是证书颁发机构的证书)这让我想到了这些问题:
“日期标记”和“可验证”等术语仅适用于代码签名。强名称完全不同,它不能证明签名者的身份。它仅允许验证程序集的内容没有被没有私钥的人从用于构建程序的版本修改。
自 .NET 3.5 SP1 起,未在完全信任模式下验证强名称。<bypassTrustedAppStrongNames>
您可以使用 .config 文件和元素覆盖的策略。MSDN 文章在这里。
您当然希望保留 .snk 文件。如果您将其丢弃,您将无法为特定程序集部署错误修复。