繁体   English   中英

开源图书馆应该进行数字签名吗

[英]Should Open-Source Libraries be Digitally Signed

始终对可执行文件(exe,dll,ocx等)进行签名是一个好习惯。 另一方面,对于一个开源项目,可以考虑忽略所有其他开发人员对该项目的贡献。

对我来说,这是一个道德上的两难选择,我想听听处于类似情况的人们或为开源项目做出贡献的人们的更多观点。

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

顺便说一句,所有程序集都已经具有强命名(签名),但是尚未进行数字签名(即使用Verisign Code签名证书)。

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

但是在一般情况下,我认为使用私钥在官方发行版上签名的组没有任何问题。 如果您对源进行某些操作从技术上重新编译“该文件来自不受信任的发布者”,因为我可能会信任Canonical,但我不信任您。 只要未从特定发布者处对可执行文件进行签名,就不会阻止其按预期方式使用(GPL中的tivoization子句),我认为没有理由不对可执行文件进行签名。

说这是“相当多的道德困境”,可能会使它超出比例。 您肯定要对可执行文件进行代码签名 ,但是我对签名没有真正的问题。 例如,TortoiseSVN由“开源开发人员Stefan Kueng”签名。

就是说,为您的项目建立某种法律实体,然后以您的项目实体的名称获取代码签名证书可能是一个好主意。 这样,您无需亲自签署可执行文件(因此“花了功劳”),而是将项目的名称显示为发布者。

如果您在美国,我建议您成立一个有限责任公司或一个501(c)(3)组织 ,该组织免征所得税,并允许个人向该项目做出可抵税的捐款。 许多开源项目组织为501(c)(3)实体,包括WordPressjQuery 。)我看到您在土耳其,所以您必须研究您的本地要求以形成某种法律实体。 一旦成立,您就可以以项目实体而不是您自己的实体的名义从CA获得证书。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM