Maven – 发布JAR包到Maven远程中央仓库(四)
2、命令行配置
Ps:Windows系统使用“gpg”命令开头,而Mac系统使用“gpg2”命令开头。
如果是使用的windows,可以下载gpg4win,地址:https://www.gpg4win.org/download.html,安装后在命令行中执行 gpg –gen-key生成,过程中需要填写名字、邮箱等,其他步骤可以使用默认值,不过有个叫:Passphase的参数需要记住,这个相当于是是密钥的密码,下一步发布过程中进行签名操作的时候会用到。
建议大家下载 Gpg4win-Vanilla 版本,因为它仅包括 GnuPG,这个工具才是我们所需要的。
安装 GPG 软件后,打开命令行窗口,依次做以下操作:
2.1、查看是否安装成功
gpg --version
能够显示 GPG 的版本信息,说明安装成功了。
2.2、生成密钥对
gpg --gen-key
此时需要输入姓名、邮箱等字段,其它字段可使用默认值,此外,还需要输入一个 Passphase,相当于一个密钥库的密码,一定不要忘了,也不要告诉别人,最好记下来,因为后面会用到。
2.3、查看公钥
gpg --list-keys
输出如下信息(新版本可能格式会有点区别,不用担心,是正常的):
C:/Users/huangyong/AppData/Roaming/gnupg/pubring.gpg ---------------------------------------------------- pub 2048R/82DC852E 2014-04-24 uid hy_thinksub 2048R/3ACA39AF 2014-04-24
可见这里的公钥的 ID 是:82DC852E,很明显是一个 16 进制的数字,马上就会用到。
2.4、将公钥发布到 PGP 密钥服务器(后面还需要操作此步骤)
gpg --keyserver hkp://pool.sks-keyservers.net --send-keys 82DC852E
此后,可使用本地的私钥来对上传构件进行数字签名,而下载该构件的用户可通过上传的公钥来验证签名,也就是说,大家可以验证这个构件是否由本人上传的,因为有可能该构件被坏人给篡改了。
2.5、查询公钥是否发布成功
gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 82DC852E
实际上就是从 key server 上通过公钥 ID 来接收公钥,此外,也可以到 sks-keyservers.net 上通过公钥 ID 去查询。