Gnu
gpg –import bind-9.9.4.tar.gz.sha1.asc 失敗,沒有找到有效的 OpenPGP 數據
這是我第一次想最好檢查我要安裝的綁定軟體的密鑰。所以我下載了我認為是 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.gz
和foo.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 是關於信任網路的。
也可以看看: