为了在我的 Debian jessie 上编译新内核,我尝试按照官方网站上的说明验证 GPG 密钥。
我已经下载了linux-3.18.35.tar.sign和linux-3.18.35.tar.xz版本并使用unzx.
要.tar使用以下命令验证存档:
gpg --verify linux-3.18.35.tar.sign
Run Code Online (Sandbox Code Playgroud)
我得到:
gpg: assuming signed data in `linux-3.18.35.tar'
gpg: Signature made Wed 08 Jun 2016 01:19:29 AM CET using RSA key ID 6092693E
gpg: Can't check signature: public key not found
Run Code Online (Sandbox Code Playgroud)
从 PGP 密钥服务器获取公钥:
#gpg --keyserver hkp://keys.gnupg.net --recv-keys 6092693E
gpg: requesting key 6092693E from hkp server keys.gnupg.net
?: keys.gnupg.net: Host not found
gpgkeys: HTTP fetch error 7: couldn't connect: Connection refused
gpg: no valid OpenPGP data found.
gpg: Total number processed: 0
Run Code Online (Sandbox Code Playgroud)
我的4.4.13版本也有类似的问题。
我已经尝试了以下答案,
# gpg --keyserver subkeys.pgp.net --recv-keys 6092693E && gpg --export --armor 6092693E | sudo apt-key add -
gpg: requesting key 6092693E from hkp server subkeys.pgp.net
gpg: keyserver timed out
gpg: keyserver receive failed: keyserver error
Run Code Online (Sandbox Code Playgroud)
和:
# gpg --keyserver subkeys.pgp.net:80 --recv-keys 6092693E
gpg: requesting key 6092693E from subkeys.pgp.net:80
gpgkeys: no keyserver host provided
gpg: keyserver internal error
gpg: keyserver receive failed: keyserver error
Run Code Online (Sandbox Code Playgroud)
如何正确验证内核签名?
你只需要在你的钥匙圈里有公钥:
gpg --keyserver subkeys.pgp.net --recv-keys 0x38DBBDC86092693E
Run Code Online (Sandbox Code Playgroud)
(使用长标识符!)。如果超时,请重试 - 有多个服务器,其中一些目前似乎有问题。apt-key等根本不参与其中。
一旦你把钥匙放在钥匙圈里,
gpg --verify linux-3.18.35.tar.sign
Run Code Online (Sandbox Code Playgroud)
应该管用。
您还可以配置一个密钥服务器池(无论如何这是一个好主意):
gnupg-curl(apt-get install gnupg-curl在 Debian 上);下载 SKS CA
cd ~/.gnupg; wget https://sks-keyservers.net/sks-keyservers.netCA.pem
Run Code Online (Sandbox Code Playgroud)验证一下;
将以下行添加到您的~/.gnupg/gpg.conf,或者如果它已经存在则更改它:
keyserver hkps://hkps.pool.sks-keyservers.net
Run Code Online (Sandbox Code Playgroud)
并通过添加或设置证书
keyserver-options ca-cert-file=/home/.../.gnupg/sks-keyservers.netCA.pem
Run Code Online (Sandbox Code Playgroud)
到~/.gnupg/gpg.conf(对于 GnuPG 1)或
keyserver hkps://hkps.pool.sks-keyservers.net
hkp-cacert /home/.../.gnupg/sks-keyservers.netCA.pem
Run Code Online (Sandbox Code Playgroud)
到~/.gnupg/dirmngr.conf(对于 GnuPG 2),...在这两种情况下将路径中的替换为您的主目录的适当值。
一旦你这样做了,
gpg --recv-keys 0x38DBBDC86092693E
Run Code Online (Sandbox Code Playgroud)
应该可靠地检索密钥。
如果一切都失败了,您可以手动下载并导入密钥:
curl 'http://pgp.surfnet.nl:11371/pks/lookup?op=get&search=0x38DBBDC86092693E' > gregkh.key
gpg --import gregkh.key
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24102 次 |
| 最近记录: |