Umesh Awasthi
Umesh Awasthi

Reputation: 23587

No public key: Key with id: (XXXXX) was not able to be located (oss.sonatype.org)

I am trying to push my staging repository on oss.sonatype.org to central repository, but this action is getting failed and i am getting following exception

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.

I used gbp to generate public and well private key for me and i even sent public key to the server with following command

gpg --keyserver hkp://pool.sks-keyservers.net --send-keys EE539F98

Still i am getting same exception.I cross checked and there is only one Sub Key, not sure what else i need to do to push public key so as this can be found by nexus

Upvotes: 66

Views: 9368

Answers (5)

Duc Trung Mai
Duc Trung Mai

Reputation: 2598

according to solutions above, I tried these 2:

gpg --keyserver hkp://keyserver.ubuntu.com --send-keys 71657D8A
gpg --keyserver hkp://keys.openpgp.org --send-keys 71657D8A

But only the second one works, I can search my key on keys.openpgp.org after submitting

Upvotes: 1

Lozitsky
Lozitsky

Reputation: 183

gpg --keyserver hkp://keys.openpgp.org --send-keys your_public_key

I then retrived an email and cheked this key at https://keys.openpgp.org/

Upvotes: 1

zhiyong zhu
zhiyong zhu

Reputation: 121

I got the error message:

No public key: Key with id: (xxxx) was not able to be located on http://keyserver.ubuntu.com:port. Upload your public key and try the operation again.

Then i entered the following command on console:

gpg --keyserver hkp://keyserver.ubuntu.com --send-keys xxxx

(removed the :port from the end of the hostname) It works!

Upvotes: 12

Lucien Boix
Lucien Boix

Reputation: 1009

Same thing here, the thing was :

  • uploading the key generated from my laptop works perfectly
  • uploading the key generated from the application server was not efficient, I did not get any error message but the key was never distributed

Maybe our application server was blocking this request, or maybe this one was rejected directly by Sonatype (like explained in https://issues.sonatype.org/browse/OSSRH-6697)

Anyway we found a workaround that I wanted to share with you guys :

  • generate the public key on your application server

gpg --gen-key

  • if you have already one, make a copy of pubring.gpg file in your local folder /Users/you/.gnupg/
  • download locally the public key pubring.gpg generated on your application server (using scp command for example), it should be located in the /home/username/.gnupg/ folder on your application server
  • put it in your local folder /Users/you/.gnupg/ and publish this key

gpg2 --list-keys

gpg2 --keyserver hkp://pool.sks-keyservers.net --send-keys KEYID

  • the key should be published by now

gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys KEYID

Please let me know if it helps!

Regards

Upvotes: 4

Jens Erat
Jens Erat

Reputation: 38732

The various OpenPGP keyserver synchronize, but that takes some time. If you know which keyserver will be queried, you can directly upload your key there.

I did:

gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys EE539F98
gpg --keyserver hkp://keyserver.ubuntu.com --send-keys EE539F98

and now your key can successfully be found on Ubuntu's keyserver, without having to wait until it automatically synchronized.

Actually I ran the recv-command multiple times to find a keyserver in their pool which already had your key.

Upvotes: 65

Related Questions