Gpg

無法驗證核心簽名“gpg:無法檢查簽名:找不到公鑰”

  • January 31, 2017

為了在我的 Debian jessie 上編譯新核心,我正在嘗試按照官方網站上的說明驗證 GPG 密鑰。

我已經下載了linux-3.18.35.tar.signlinux-3.18.35.tar.xz版本並使用unzx.

使用命令驗證.tar存檔:

gpg --verify linux-3.18.35.tar.sign

我得到:

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

從 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

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

和:

# 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

如何正確驗證核心簽名?

您只需要在您的密鑰環中有公鑰:

gpg --keyserver subkeys.pgp.net --recv-keys 0x38DBBDC86092693E

使用長標識符!)。如果超時,請重試 - 有多個伺服器,其中一些目前似乎有問題。apt-key等根本不參與其中。

一旦你的鑰匙圈裡有鑰匙,

gpg --verify linux-3.18.35.tar.sign

應該管用。

您也可以改為配置密鑰伺服器池(無論如何這是個好主意):

  1. 安裝gnupg-curlapt-get install gnupg-curl在 Debian 上);
  2. 下載 SKS CA
cd ~/.gnupg; wget https://sks-keyservers.net/sks-keyservers.netCA.pem
  1. 驗證它
  2. 將以下行添加到您的~/.gnupg/gpg.conf,或者如果它已經存在則更改它:
keyserver hkps://hkps.pool.sks-keyservers.net

並通過添加設置證書

keyserver-options ca-cert-file=/home/.../.gnupg/sks-keyservers.netCA.pem

~/.gnupg/gpg.conf(對於 GnuPG 1)或

keyserver hkps://hkps.pool.sks-keyservers.net
hkp-cacert /home/.../.gnupg/sks-keyservers.netCA.pem

~/.gnupg/dirmngr.conf(對於 GnuPG 2),...在這兩種情況下都將路徑中的 替換為您的主目錄的適當值。

一旦你這樣做了,

gpg --recv-keys 0x38DBBDC86092693E

應該可靠地檢索密鑰。

如果一切都失敗了,您可以手動下載並導入密鑰:

curl 'http://pgp.surfnet.nl:11371/pks/lookup?op=get&search=0x38DBBDC86092693E' > gregkh.key
gpg --import gregkh.key

引用自:https://unix.stackexchange.com/questions/288933