发布开源 .NET 项目的正式版本时,我应该对所有库使用一个签名密钥,还是每个库使用一个密钥?
我在 CodePlex 上有一些开源库,当它们处于稳定和有用的状态时,我打算发布更多。
我向项目存储库添加了一个开发签名密钥,以便任何人都可以从源代码构建和使用这些库,但对于正式版本,我使用不同的密钥,但我没有发布该密钥。
问题是这样的:
我应该
- 为我的所有库制作的所有正式版本使用通用密钥吗? IE。库 A 和 B 都将由相同的私钥签名,即使库除了作者(我)之外没有任何共同点
- ,对所有库使用唯一的密钥,即。库 A 有自己的密钥,库 B 有不同的密钥,
我正在寻找执行其中之一的明确原因。如果您有意见但没有明确的理由,请发表评论,我会看看是否应该将其迁移到 Programmers.SE。
I have a few open source libraries on CodePlex, and I intend to publish more when I have them at a stable and useful state.
I add a development signing key to the projects repository so that anyone can build and use those libraries from source, but for the official release, I use a different key, one that I do not publish.
Question is this:
Should I
- Use a common key for all official releases I make of all my libraries? ie. library A and B would both be signed by the same private key, even though the libraries have nothing in common except the author (me)
- Use a unique key for all libraries, ie. library A has its own key and library B has a different key
I'm looking for definite reasons to do one or the other. If you have an opinion but not a hard reason for why that is, please leave a comment and I'll see if I should migrate it to Programmers.SE instead.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果你有很多签名,人们就会怀疑你的身份。
密钥属于发布者,而不属于任何项目/二进制文件。
,这是使用 1 key 的决定因素。
但这是基本原则。如果您想表达:此 Project1.DLL 由 Project1 团队发布,您可以为每个库使用一个密钥。这不会增加任何价值,但当您开始与不同的人合作项目时可能会很实用。
If you have many signatures people will doubt your identity.
The key belongs to the publisher, not to any project/binary.
Which is the deciding factor to use 1 key.
But that is the basic principle. If you want to express: This Project1.DLL is published by the Project1-Team you could use a key per library. That would not add any value, but might be practical when you start to co-operate on projects with different sets of people.