2009-04-28 90 views
1

说我有几个.NET程序集,并希望用强名称来签名每个程序集。一个密钥对(一个.snk文件)是否足够了,还是我需要为每个程序集生成一对?我需要发布(每个)密钥对的公钥吗?我需要多少个.snk文件?

回答

4

您只需要一个.snk文件。

您不需要发布公钥。任何人都可以使用sn.exe和-p开关获得公钥。

+0

但他如何确保我发布了该程序集? – sharptooth 2009-04-28 13:58:18

+0

它使用您的密钥签名的事实 - 引用程序集期望的同一个密钥 - 将其验证到程序集加载器。 – 2009-04-28 14:10:18

1

一个密钥文件足以签署多个相关的程序集。看看您的GAC。来自同一产品或平台的组件通常都具有相同的密钥。例如,许多Microsoft的.NET框架程序集共享相同的密钥。

1

我们有(3).snk文件。

一个我们用来签署我们的程序集,一个用于现场代码生成(我们不再需要这样做)的程序集,以及mono.snk来签署Mono.Cecil和Mono.Security(这些在这里构建与Microsoft的.NET一起使用)。