How to create a new OpenPGP key in Kleopatra

Post your tutorials for using applications or performing related tasks here.
Note: Not for "how do I...?" Questions!
Forum rules
Tutorials and Howtos should only relate to developed software, and not to third party applications. e.g.: Don't post a generic Howto for configuring a firewall.
If you have a question how to do something, you should use one of the support boards, not this board. It is meant for people to document and post instructions.
User avatar
Moonchild
Project founder
Project founder
Posts: 39276
Joined: 2011-08-28, 17:27
Location: Sweden

How to create a new OpenPGP key in Kleopatra

Post by Moonchild » 2026-05-06, 08:55

Posting this here as a general tutorial, which might be useful for contributing developers wanting to sign their builds with OpenPGP/gnuPG. Publishing on a key server is important or people won't be able to get your public key to verify the signature.

The steps below assume you have an old key to "chain-sign" with, e.g. when the old key is about to expire. If you are just creating a brand new key pair to sign binaries with, you can ignore the chain signing steps.
  1. In Kleopatra, go to File -> New OpenPGP Key Pair
  2. Fill in Name and e-mail address, and check "protect with a passphrase".
  3. Click "Advanced settings" and choose your algo (recommended to use ECDSA and using ed25519/cv25519, but you can also use RSA with 3072bits or larger)
  4. Make sure you check "signing" under certificate usage, and set an expiry date you want (or no expiry if you're going to be super diligent about safe storage).
  5. Click OK, the OK again, and enter your passphrase (twice). After this, you will have a new key pair that is certified.
  6. To "chain sign" (sign the new key with your old one), right-click on the new key pair entry in Kleopatra, select "Certify..."
  7. In the dialog that opens, at "Certify with:" select the old key you want to sign with. Under "Advanced" you can double-check if it is set to "certify for everyone to see (exportable)" and "publish on key server". Do not check "certify as trusted invoker" or setting an expiration date.
  8. If it asks you an extra confirmation because "you haven't certified all valid user IDs", just confirm with "export" - confirm again at the warning that once published it's almost impossible to revoke your signature (it's what you want!).
  9. The signing process and publishing on keyserver will now happen. Kleopatra does not give feedback while this happens so just be patient. it can take some time. When done, it will tell you with a small dialog.
That's all there is to it.
"Praise from a narcissistic person is always a poison dart. They don't share the stage, so discernment matters." - Dr. Ramani
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite