【问题标题】:benefit of signing dll with strong name使用强名称签署 dll 的好处
【发布时间】:2012-01-13 14:10:12
【问题描述】:

我有一个包含多个 c# 类库的 c# 解决方案。我最近正在做一些研究,建议对我的库中输出的程序集进行签名,使它们使用强名称进行签名。首先,我想知道我是否最好这样做?从这些类库输出的库用于多个其他项目。

如果从我之前的问题中得到建议,是的,我应该签署我的 dll,即我使用的 .snk,这可以用于解决方案中的每个类库吗?还是必须是每个类库一个键?

【问题讨论】:

标签: c# assemblies .net-assembly strongname assembly-signing


【解决方案1】:

有时签署程序集是一项要求。如果您希望 GAC 您的程序集,或者如果已签名的程序集想要引用另一个程序集,则这是正确的。

您可以重复使用相同的.snk 文件,这样做会为所有程序集生成相同的公钥令牌。

【讨论】:

    【解决方案2】:

    如果您打算将程序集放入 GAC 以供大量程序集使用,这一点很重要。

    如果您打算将其提供给用户使用而不是自己安装,这将是有利的,因为它提供了一定程度的保证,即它确实是您所说的提供给他们的文件,而不是被篡改过的文件。

    最好为每个实体(个人、集体、开源团体或公司)使用少量(可能只有一个)SNK 文件,因为如果有人信任您(“您”是指个人、公司等)并且他们因此相信他们确定是你的公钥,那么他们下次也会信任它。您不想每次都用不同的手写签名签署支票,对吗?

    【讨论】:

      【解决方案3】:

      签署 dll 是在 GAC 中发布 dll 的要求。 dll 签名的真正好处如下。

      1.版本控制

      2。身份验证

      一个。版本控制表示构建 dll 的版本,在将它们推送到 GAC 时,可以存在两个同名但版本不同的 dll

      b.身份验证表示dll是否未被篡改,并且在创建时是否存在。

      有关 dll 签名的详细博客可在 here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-11-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-20
        • 2014-03-22
        • 2014-08-23
        相关资源
        最近更新 更多