The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.
Difference between revisions of "GPG Signatures"
m |
|||
(18 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{Subpages|Metro Plaintext Keys}} | |||
The Funtoo Linux master GPG signing key is the {{c|drobbins@funtoo.org}} key (the "BDFL key"), which has the following signature: | |||
{{TableStart}} | {{TableStart}} | ||
Line 16: | Line 8: | ||
{{TableEnd}} | {{TableEnd}} | ||
To verify the integrity of stage3 tarballs using GPG, | To verify the integrity of stage3 tarballs using GPG, download your preferred stage3 tarball from https://build.funtoo.org, along with the matching file with the additional {{c|.gpg}} extension in the same directory. Next, we will receive the public master key from a public keyserver (specifying the ''last 8 digits of the BDFL fingerprint'') and assign ultimate trust to it: | ||
{{console|body= | {{console|body= | ||
$ ##i##gpg --keyserver pgp.mit.edu --recv-key D3B948F82EE8B4020A0410789A658306E986E8EE | |||
}} | |||
}} | {{Important|The above command must ''complete successfully'' for the following commands to work. {{c|pgp.mit.edu}} takes a while to respond, and it can timeout. You may need to make a few attempts to get this first key retrieval to complete successfully. Once this is done, the following steps can be performed:}} | ||
{{console|body= | {{console|body= | ||
$ ##i##gpg --edit-key E986E8EE | |||
gpg> ##i##trust | |||
Your decision? ##i##5 | |||
Do you really want to set this key to ultimate trust? (y/N) ##i##y | |||
gpg> ##i##quit | |||
}} | }} | ||
Each build server key has been signed by the BDFL key, so by trusting the BDFL key ''ultimately'', you will automatically ''fully'' trust the build server key. | |||
Next, head to [[GPG Signatures/Metro Plaintext Keys]] and copy and paste the public key and associated signatures for the metro build server into a file called {{c|node.txt}}. Then, import this key into GPG: | |||
{{console|body= | {{console|body= | ||
gpg | $ ##i##gpg --import node.txt | ||
}} | |||
Then, you can use the {{c|gpg --verify}} command to verify the stage3's GPG signature. You should see output similar to this. The BDFL trusts this key, and if your stage file is not corrupted, you will see a message of a "Good signature" and an exit code of zero: | |||
{{console|body= | |||
$ ##i##gpg --verify stage3-amd64-zen2-1.4-release-std-2021-11-23.tar.xz.gpg stage3-amd64-zen2-1.4-release-std-2021-11-23.tar.xz | |||
gpg: Signature made Fri 03 Dec 2021 09:27:55 AM MST | |||
gpg: using RSA key 30737D12308C9D0C882FC34B57CB0A121BAECB2E | |||
gpg: Good signature from "Daniel Robbins (metro:node) <drobbins@funtoo.org>" [full] | |||
$ ##i##echo $? | |||
0 | |||
}} | }} | ||
{{Note|For more details on the benefits of GPG, read https://gnupg.org/gph/en/manual.html }} | |||
[[Category:Official Documentation]] |
Latest revision as of 17:41, July 23, 2023
The Funtoo Linux master GPG signing key is the drobbins@funtoo.org
key (the "BDFL key"), which has the following signature:
GPG key name/email | GPG comment | Fingerprint |
---|---|---|
Daniel Robbins drobbins@funtoo.org | BDFL | D3B9 48F8 2EE8 B402 0A04 1078 9A65 8306 E986 E8EE |
To verify the integrity of stage3 tarballs using GPG, download your preferred stage3 tarball from https://build.funtoo.org, along with the matching file with the additional .gpg
extension in the same directory. Next, we will receive the public master key from a public keyserver (specifying the last 8 digits of the BDFL fingerprint) and assign ultimate trust to it:
user $ gpg --keyserver pgp.mit.edu --recv-key D3B948F82EE8B4020A0410789A658306E986E8EE
The above command must complete successfully for the following commands to work. pgp.mit.edu
takes a while to respond, and it can timeout. You may need to make a few attempts to get this first key retrieval to complete successfully. Once this is done, the following steps can be performed:
user $ gpg --edit-key E986E8EE gpg> trust Your decision? 5 Do you really want to set this key to ultimate trust? (y/N) y gpg> quit
Each build server key has been signed by the BDFL key, so by trusting the BDFL key ultimately, you will automatically fully trust the build server key.
Next, head to GPG Signatures/Metro Plaintext Keys and copy and paste the public key and associated signatures for the metro build server into a file called node.txt
. Then, import this key into GPG:
user $ gpg --import node.txt
Then, you can use the gpg --verify
command to verify the stage3's GPG signature. You should see output similar to this. The BDFL trusts this key, and if your stage file is not corrupted, you will see a message of a "Good signature" and an exit code of zero:
user $ gpg --verify stage3-amd64-zen2-1.4-release-std-2021-11-23.tar.xz.gpg stage3-amd64-zen2-1.4-release-std-2021-11-23.tar.xz gpg: Signature made Fri 03 Dec 2021 09:27:55 AM MST gpg: using RSA key 30737D12308C9D0C882FC34B57CB0A121BAECB2E gpg: Good signature from "Daniel Robbins (metro:node) <drobbins@funtoo.org>" [full] user $ echo $? 0
For more details on the benefits of GPG, read https://gnupg.org/gph/en/manual.html