【发布时间】:2009-04-28 13:50:15
【问题描述】:
假设我有几个 .NET 程序集,并且想用一个强名称对每个程序集进行签名。一个密钥对(一个 .snk 文件)是否足够,还是我需要为每个程序集生成一对?我是否必须发布(每个)密钥对的公钥?
【问题讨论】:
标签: .net strongname
假设我有几个 .NET 程序集,并且想用一个强名称对每个程序集进行签名。一个密钥对(一个 .snk 文件)是否足够,还是我需要为每个程序集生成一对?我是否必须发布(每个)密钥对的公钥?
【问题讨论】:
标签: .net strongname
您只需要一个 .snk 文件。
您不需要公开公钥。任何人都可以使用带有 -p 开关的 sn.exe 获取公钥。
【讨论】:
一个密钥文件足以签署多个相关程序集。看看你的 GAC。来自同一产品或平台的程序集通常都具有相同的密钥。例如,许多 Microsoft 的 .NET 框架程序集共享相同的密钥。
【讨论】:
我们有 (3) 个 .snk 文件。
一个我们用来签署我们的程序集,一个用于现场代码生成(我们不再需要这样做),mono.snk 用于签署 Mono.Cecil 和 Mono.Security(这些是此处构建用于与 Microsoft 的 .NET 一起使用)。
【讨论】: