Gnu

gpg –import bind-9.9.4.tar.gz.sha1.asc 失敗,沒有找到有效的 OpenPGP 數據

  • September 23, 2013

這是我第一次想最好檢查我要安裝的綁定軟體的密鑰。所以我下載了我認為是 OpenPGP 密鑰的東西……

$ wget ftp://ftp.isc.org/isc/bind9/9.9.4/bind-9.9.4.tar.gz.sha1.asc

…然後我嘗試像這樣“導入”這個密鑰…

$ gpg --import bind-9.9.4.tar.gz.sha1.asc

…但我收到此錯誤消息:

gpg: no valid OpenPGP data found.
gpg: Total number processed: 0

我究竟做錯了什麼?

謝謝!

--import用於導入密鑰,而不是檢查簽名。

.asc文件通常是一個分離的 GPG 簽名。如果您有文件foo.tar.gzfoo.tar.gz.asc(或foo.tar.gz.sig),那麼您可以foo.tar.gz使用以下命令驗證文件:

gpg foo.tar.gz.asc

但是,在您的情況下,文件名與該模式不匹配,因此您應該明確指定該--verify選項。根據 gpg(1) 的手冊頁:

  • 核實

假設第一個參數是簽名文件或分離簽名並驗證它而不生成任何輸出。在沒有參數的情況下,從 STDIN 讀取簽名包。如果只給出了一個 sigfile,它可能是一個完整的簽名或一個分離的簽名,在這種情況下,簽名的東西應該​​在一個沒有“.sig”或“.asc”副檔名的文件中。如果有多個參數,第一個應該是分離的簽名,其余文件是簽名的東西。要從 STDIN 讀取簽名的內容,請使用“-”作為第二個文件名。出於安全原因,如果不以上述方式表示,分離的簽名無法從 STDIN 讀取已簽名的材料。

因此:

$ gpg --verify bind-9.9.4.tar.gz.sha1.asc bind-9.9.4.tar.gz
gpg: Signature made Wed 18 Sep 2013 09:25:43 PM CEST using RSA key ID 189CDBC5
gpg: Can't check signature: No public key

現在,可以使用以下方法導入此密鑰:

gpg --recv-keys 189CDBC5

請務必驗證此密鑰。理想情況下,您會遇到此人,但如果沒有這樣做,請查看其他人對此密鑰的信任(Linux 發行版、朋友等)。請記住,GPG 是關於信任網路的。

也可以看看:

引用自:https://serverfault.com/questions/541103