我正在尝试将oss.sonatype.org
上的暂存存储库推送到中央存储库,但此操作失败并且我正在跟踪异常
Event: Failed: Signature Validation
typeId signature-staging
failureMessage No public key: Key with id: (XXXXX) was not able to be located on http://keyserver.ubuntu.com:11371. Upload your public key and try the operation again.
我使用gbp
为我生成公钥和私钥,我甚至使用以下命令将公钥发送到服务器
gpg --keyserver hkp://pool.sks-keyservers.net --send-keys EE539F98
我仍然得到相同的例外。我交叉检查并且只有一个Sub Key
,不知道我还需要做什么才能推送公钥,以便nexus可以找到它
答案 0 :(得分:31)
各种OpenPGP密钥服务器同步,但这需要一些时间。如果您知道将查询哪个密钥服务器,您可以直接在那里上传密钥。
我做了:
gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys EE539F98
gpg --keyserver hkp://keyserver.ubuntu.com --send-keys EE539F98
现在您的密钥可以在Ubuntu的密钥服务器上成功找到,而不必等到它自动同步。
实际上我多次运行recv-command来查找已经拥有密钥的池中的密钥服务器。
答案 1 :(得分:5)
我收到了错误消息:
没有公钥:ID为:(xxxx)的密钥无法访问 位于http://keyserver.ubuntu.com:port。上传您的公钥 并再次尝试操作。
然后我在控制台上输入以下命令:
gpg --keyserver hkp://keyserver.ubuntu.com --send-keys xxxx
(从主机名末尾删除:port) 它有效!
答案 2 :(得分:1)
同样的事情,事情是:
也许我们的应用服务器阻止了这个请求,或者这个请求可能被Sonatype直接拒绝(如https://issues.sonatype.org/browse/OSSRH-6697中所述)
无论如何,我们找到了一个我想与你们分享的解决方法:
gpg --gen-key
gpg2 --list-keys
gpg2 --keyserver hkp://pool.sks-keyservers.net --send-keys KEYID
gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys KEYID
请告诉我它是否有帮助!
此致
答案 3 :(得分:0)
gpg --keyserver hkp://keys.openpgp.org --send-keys your_public_key
找回了一封电子邮件并检查了这个密钥