签署.net程序集:是否有必要,增加的成本是什么?

时间:2009-09-01 16:48:12

标签: .net

我有一个用.net 3.5编写的程序集。我把这个文件分发给了很多人,到目前为止,没有问题,除非他们试图从网络共享加载程序集(一个DLL)。然后他们获得了安全性异常,但通过更改本地Intranet的区域安全性可以很容易地解决这个问题。

目前我没有使用任何形式的证书签署我的代码。

  1. 我应该签署我的集会吗?
  2. 我可以为$$$签署我的代码而获得verisign吗?
  3. 签名程序集是否会消除从网络共享加载程序集时遇到的安全性异常?

1 个答案:

答案 0 :(得分:2)

您可以通过将框架更新到Service Pack 1来解决网络共享问题。除此之外,签署程序集会为您带来两件主要的事情:

  1. 您可以安装到GAC
  2. 您可以将一个程序集限制为仅使用已签名的程序集,而不是使用具有相同名称和公开类型的任何程序集。 (例如,如果您希望将代码保存在自己的程序集中,则很重要。)
  3. 此外,您无需支付verisign或其他任何人在您的组织内签署程序集。您可以在任何地方签名以获得“临时”密钥,但没有什么能阻止您分发该临时密钥。只是其他机器不会信任该密钥,因此您的用户无论如何都必须在安装时进行额外的工作以接受它,如果您将其用于许可,则不能保证其安全。在单个组织中,您还可以在域中设置服务器,以发布将在域中受信任的密钥。

    单独签署程序集不会消除您的网络共享问题。安装到GAC会,但这会产生额外的分发问题。你真正想做的是升级到.Net3.5sp1。