From Fedora Project Wiki

Revision as of 00:48, 23 January 2010 by Poelstra (talk | contribs)


At the beginning of each release under development a new package signing key is created for it. This key is used to prove the authenticity of packages built by Fedora and distributed by Fedora. This key will be used to sign all packages for the public test and final releases.


1) Log into a system configured to run sigul client.

2) Create the key using a strong passphrase when prompted

$ sigul new-key --key-admin jkeating --name-real Fedora \
        --name-comment 13 \
        --name-email fedora-13

3) Wait a while for entropy

4) Grant key access to Fedora Account holders who will be signing packages and protect it with a temporary a passphrase. For example, "CHANGEME."

$ sigul grant-key-access fedora-13 jwboyer

5) Provide the key name and temporary passphrase to signers. If they don't respond, revoke access until they are ready to change their passphrase

$ sigul change-passphrase fedora-13 for all users

6) Add the key to fedora-release package

  $ sigul get-public-key fedora-13 RPM-GPG-KEY-fedora-13-primary

7) Make sure the spec file will handle it correctly

  • FIXME: need more detail here. What does it mean the spec file will handle it correctly?

8) Make a new fedora-release for rawhide (FIXME: this should be its own SOP)

9) Add the key to by sending an email ascii block to It can also be retrieved from viewvc

10) Add the key details to the KEYS dictionary near the top of the <code>sigulsign_unsigned.pyscript. It lives in Release Engineering's git repo at git:// in the scripts directory. You will need to know the key ID to insert the correct information:

$ gpg <key block from get-public-key>

11) Upload the key to key servers

  $ gpg --import <block>
  $ gpg --send-keys <keyid>


FIXME--need verification steps

Consider Before Running

FIXME--anything to add here?