开源库是否应该进行数字签名

Teo*_*gul 5 .net c# open-source authenticode digital-signature

始终签署可执行文件(exe,dll,ocx等)是一种很好的做法.另一方面,对于开源项目,可能会考虑忽视所有其他开发人员对项目的贡献.

这对我来说是一个非常道德的困境,我希望从处于类似情况的人或者为开源项目做出贡献的人那里听到更多关于此的意见.

我想请注意,这个问题是针对使用.NET 4用C#编写的开源项目,因此当用户单击可执行文件时,系统会提示他或她发出警告,指出该文件来自不受信任的发布者,如果它没有经过数字签名.

顺便说一下,程序集都已经具有强命名(签名),但它们尚未进行数字签名(即使用Verisign代码签名证书).

Sco*_*ain 5

.Net 是一个不同的野兽,因为许多功能需要(尤其是库)需要使用强名称密钥对文件进行签名,但那些可以自签名而不会受到最终产品的抱怨(它使用程序证书而不是库来弹出您在原始问题中提到的那个消息框)。

但是,在一般情况下,我认为团体使用私钥签署官方发行版没有任何问题。如果你做的东西的来源和重新编译技术上“的文件来自不受信任的发布者”,因为我可以信任的典范,但我不相信你。只要未从特定发布者签署的可执行文件不会阻止它以预期的方式使用(GPL 中的 tivoization 条款),我认为没有理由不对您的可执行文件进行签名。