web-dev-qa-db-ja.com

Gnu Emacsの公開鍵はどこにありますか?

私は23.1から23.3までの半年間だけemacsを使用しました。

新しいバージョンごとにリリースされたtar.gz.sigでtar.gzパッケージを確認できるように、emacsのgpg公開鍵を見つけようとするたびに。毎回失敗したことがわかった:-]。

最初に公開鍵を取得する必要があるようで、emacsのWebサイトを検索しましたが、サインが見つかりませんでした...

メーリングリストでSHA1チェックサムしか見つかりません http://lists.gnu.org/archive/html/info-gnu-emacs/2011-03/msg00000.html 整合性チェックを行うには

ちなみに、FSFのセキュリティには疑いの余地はありません。ただ好奇心が強い...前にgpgを使用しないでください...

リンクを教えていただけますか?

ありがとう

36
sfszh

を使用して署名を確認しようとした場合

gpg --verify <pkg>.key

次のような出力が得られます。

gpg: Signature made 02/17/05 14:02:42 GTB Standard Time using DSA key ID BE216115
gpg: Can't check signature: No public key

探しているキーIDはBE216115なので、gpgに次を使用して取得するように依頼します。

gpg --recv-keys BE216115

その結果、私のインストールでは次のようになりました。

gpg: requesting key BE216115 from hkp server keys.gnupg.net
gpg: key BE216115: public key "Francesco Potortì <[email protected]>" imported
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0  valid:   1  signed:   1  trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: depth: 1  valid:   1  signed:   6  trust: 0-, 0q, 0n, 0m, 1f, 0u
gpg: depth: 2  valid:   6  signed:   1  trust: 0-, 0q, 0n, 6m, 0f, 0u
gpg: Total number processed: 1
gpg:               imported: 1

これで、確認できます。ただし、このキーに信頼を割り当てていないため、出力は次のようになります。

gpg: Signature made 02/17/05 14:02:42 GTB Standard Time using DSA key ID BE216115
gpg: Good signature from "Francesco Potortì <[email protected]>"
gpg:                 aka "Francesco Potortì <[email protected]>"
gpg:                 aka "Francesco Potortì <[email protected]>"
gpg:                 aka "Francesco Potortì <[email protected]>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 4B02 6187 5C03 D6B1 2E31  7666 09DF 2DC9 BE21 6115

したがって、署名が有効であることがわかりますが、公開鍵は信頼されていません。以下を使用して、公開鍵を信頼または署名できます。

gpg --edit-key BE216115

コマンドプロンプトでhelpと入力して、使用可能なすべてのオプションを表示します。詳細については、 GNUプライバシーガードの使用 を使用)を参照してください。

39
vhallac

GNUキーリングは https://ftp.gnu.org/gnu/gnu-keyring.gpg

あなたはそれらをローカルに(ダウンロードした後)インポートすることができます

gpg --import gnu-keyring.gpg
24
JSON

@vhallacからの回答は現在古くなっています(emacs-24.4のダウンロードを確認しようとしています)。 GNUキーリング(@JSONで説明したように)全体をダウンロードしてインポートしたくない場合は、これを行う方法があります。この回答では、今日機能するものだけでなく、今から1年後に何が機能するかを理解する方法。

最初にemacsとその.sigファイルをダウンロードします。私が持っています:

$ ls | grep emacs
emacs-24.4.tar.xz
emacs-24.4.tar.xz.sig

すでにgpgがインストールされていると仮定して、それを確認してみてください。

$ gpg --verify emacs-24.4.tar.xz.sig 
gpg: Signature made Mon 20 Oct 2014 02:58:21 PM EDT using RSA key ID A0B0F199
gpg: Can't check signature: public key not found

この試みでは失敗します(この投稿の最後に成功した試みが表示されます)。公開鍵を持っていません。出力には、取得する必要のある公開鍵A0B0F199が示されます。 (これは、将来変更される可能性が最も高いものです。)

そこで、デフォルトのコマンドでダウンロードしてみます。

$ gpg --recv-keys A0B0F199
gpg: requesting key A0B0F199 from hkp server keys.gnupg.net
(...hangs here...)

ハングするだけです。これは、ufw(Linuxファイアウォールソフトウェア)がほとんどのポートをブロックしているためです。次のように、gpgにポート80を使用するように指示できます。

$ gpg --keyserver hkp://keys.gnupg.net:80 --recv-keys A0B0F199
gpg: requesting key A0B0F199 from hkp server keys.gnupg.net
gpgkeys: key A0B0F199 not found on keyserver
gpg: no valid OpenPGP data found.
gpg: Total number processed: 0

これはファイアウォールを通過しましたが、何らかの理由でEmacs/FSFキーがgnupgサーバーに保存されなくなったために失敗しました。そこで、私が知っている他のキーサーバーを試しましたが、ある程度の信頼があります。

$ gpg --keyserver hkp://pool.sks-keyservers.net:80 --recv-keys A0B0F199
gpg: requesting key A0B0F199 from hkp server pool.sks-keyservers.net
gpg: key A0B0F199: public key "Glenn Morris <[email protected]>" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)

OK、うまくいきました。今それをチェックしてください:

$ gpg --list-keys
...
pub   2048R/A0B0F199 2012-12-23 [expires: 2015-12-23]
uid                  Glenn Morris <[email protected]>
sub   2048R/951C59EC 2012-12-23 [expires: 2015-12-23]

うん、わかった。

これで、ダウンロードしたemacstarballを確認できます。

$ gpg --verify emacs-24.4.tar.xz.sig 
gpg: Signature made Mon 20 Oct 2014 02:58:21 PM EDT using RSA key ID A0B0F199
gpg: Good signature from "Glenn Morris <[email protected]>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: B294 26DE FB07 724C 3C35  E5D3 6592 E9A3 A0B0 F199

署名は「良好」ですが、信頼されていません。そのキーを信頼する方法については、他の回答を参照してください。

13
quux00

GNU FTPサーバーのルートレベルにREADMEファイルがあり、署名の使用方法を説明しています。

最新バージョンについては、 https://ftp.gnu.org/README を参照してください。

現在のファイルには次のように書かれています。

There are also .sig files, which contain detached GPG signatures of the above
files, automatically signed by the same script that generates them.

You can verify the signatures for gnu project files with the keyring file from:
  https://ftp.gnu.org/gnu/gnu-keyring.gpg

In a directory with the keyring file, the source file to verify and the
signature file, the command to use is:

  $ gpg --verify --keyring ./gnu-keyring.gpg foo.tar.xz.sig
8
phils