发布项目到Maven中央仓库(换机器后)

2019/10/21 Blog

前言

工作原因开发环境由win10切换到Mac,原来维护的两个开源项目EECbree-mybatis-maven-plugin 想升级结果推到sonatype后验证未通过,提示”sonatype Failed: Signature Validation”,原因好理解肯定是gpg签名不通过,因为在deploy过程中未提示 我输入密码…

修复

查找原有公钥

使用命令gpg --search-keys查找自己的公钥

bogon:~ $ gpg --search-keys guanquan.wang@yandex.com
gpg: data source: https://keys.openpgp.org:443
(1)	guanquan.wang (2048mail) <guanquan.wang@yandex.com>
	  2048 bit RSA key 5867FE8781F69B9F, 创建于:2019-10-21
Keys 1-1 of 1 for "guanquan.wang@yandex.com".  输入数字以选择,输入 N 翻页,输入 Q 退出 >

我们可以看到一个公钥RSA key 5867FE8781F69B9F

从公钥服务器上导入密钥

使用命令gpg --receive-keys从公钥服务器上导入密钥

bogon:~ $ gpg --receive-keys 5867FE8781F69B9F
gpg: 密钥 5867FE8781F69B9F:公钥 “guanquan.wang (2048mail) <guanquan.wang@yandex.com>” 已导入
gpg: 处理的总数:1
gpg:               已导入:1

这里的密钥就是上面查找结果中的RSA key。

从原机器上导出私钥

使用命令gpg --export-secret-keys

gpg --export-secret-keys --armor --output ./Desktop/guanquan.wang@yandex.com.key

导入私钥

将上面得到的guanquan.wang@yandex.com.key复制到新机器上,然后使用命令gpg --import导入

gpg --import ./guanquan.wang@yandex.com.key
gpg: 密钥 5867FE8781F69B9F:“guanquan.wang <guanquan.wang@yandex.com>” 未改变
gpg: 密钥 5867FE8781F69B9F:私钥已导入
gpg: 处理的总数:1
gpg:              未改变:1
gpg:       读取的私钥:1
gpg:   导入的私钥:1

出现上面的信息说明导出成功了,通过上面的操作我们已经完成了所有迁移,重新用Maven命令打包就出弹出GPG的密码输入框了。

如果机器上有多个公钥,你还可以在pom.xml文件里指定公钥。

<!-- pom.xml -->

<profile>
    <properties>
        <gpg.keyname>5867FE8781F69B9F</gpg.keyname>
    </properties>
</profile>

Search

    Table of Contents