2
如何使用Ubuntu命令行工具和我自己的密钥对文件签名?
我想对我编写的一些Python代码文件进行签名,因为它们是我的一个项目的插件模块。为了分发它,我希望用户可以确保插件经过验证且安全(因为是由我或我信任的人编写的)并且未被修改。 该软件只是一个开源的业余项目,因此我不想花任何钱来购买正式证书。取而代之的是,我假设主程序始终是有效的,并且可以在不进行额外验证的情况下被信任。如果有人从我的GitHub存储库以外的任何其他位置下载它,那是他们的错。 据我所读,签名通常是通过创建一个非对称密钥对,从代码文件中计算一个强加密哈希值(例如SHA-512),使用我的私钥加密哈希并将该签名存储在单独的文件中来完成的。随原始代码文件一起提供。 然后,主程序将不得不使用保存在主程序源代码中的纯文本格式的公钥来解密签名,计算出与代码文件相同的哈希函数,然后将其与解密后的公钥进行比较。如果它们匹配,则可以信任该插件。 所以现在我的问题是: 如何使用Ubuntu工具轻松创建强大的非对称密钥对,以及如何轻松计算文件的加密哈希值? 在脚本中自动执行签名过程(始终使用相同的密钥)将非常有用。