这个文档主要介绍如何给别人的key做证明担保。
注意,Apache要求必须面对面签名。流程是,先检查对方的ID(国内就是身份证),然后给他进行认证。
本文参考自:https://gist.github.com/F21/b0e8c62c49dfab267ff1d0c6af39ab84
本文中的命令,有些电脑上是gpg,有些是gpg2.
步骤1 下载对方的key
你需要知道对方的key的ID,比如对方可以在自己电脑上运行
gpg2 --list-keys
看到的结果形如:
pub rsa4096 2019-09-25 [SC]
BA45CDBB87E8B146A81F5BBE2206EF8F64C35889
uid [ultimate] Xiangdong Huang (Apache IoTDB release signing key) <hxd@apache.org>
sub rsa4096 2019-09-25 [E]
其中的BA45.....889就是KEY。
然后在自己电脑上将对方的key获取到:
gpg2 --recv-keys BA45CDBB87E8B146A81F5BBE2206EF8F64C35889
准备工作就绪。
步骤2 签名
gpg2 --sign-key BA45CDBB87E8B146A81F5BBE2206EF8F64C35889
然后输入y即可。
但是注意,这里会显示出你用什么密钥签名,如果发现不是你的apache密钥(比如你有多个密钥) 这就比较麻烦。。
可能可以用gpg2 --edit-key BA45CDBB87E8B146A81F5BBE2206EF8F64C35889 具体处理。 我比较粗暴,直接把其他的密钥删除了,然后重新gpg2 --sign-key的。
步骤3 导出密钥
gpg2 -a --export BA45CDBB87E8B146A81F5BBE2206EF8F64C35889 | gpg2 -se -r BA45CDBB87E8B146A81F5BBE2206EF8F64C35889 > ~/tmp/BA45CDBB87E8B146A81F5BBE2206EF8F64C35889.asc.pgp
步骤4 发送给对方
发送邮件就好了。。。
步骤5 (对方)解压缩、导入、再上传
gpg2 --decrypt BA45CDBB87E8B146A81F5BBE2206EF8F64C35889.asc.pgp
gpg2 --import BA45CDBB87E8B146A81F5BBE2206EF8F64C35889.asc
gpg2 --send-keys BA45CDBB87E8B146A81F5BBE2206EF8F64C35889 (这步在国内不可行,请参考如何发布的帖子中的上传方法)。
步骤6(对方)解压缩、导入、再上传
如果你是Apache IoTDB的 release manager,需要把你的key上传到keys文件 (https://www.apache.org/dist/incubator/iotdb/KEYS)中:
执行:
gpg2 --list-sigs BA45CDBB87E8B146A81F5BBE2206EF8F64C35889
&& gpg2 --armor --export BA45CDBB87E8B146A81F5BBE2206EF8F64C35889
把输出结果贴到KEYS末尾。然后上传新版本文件到SVN即可(参见如何发布的文档)。