web-dev-qa-db-ja.com

GPGで暗号化され署名されたファイルをどのように確認しますか?

私はGPGで何が起こっているのかをよりよく理解しようとしています。

ファイルがある場合は、gpg --sign file.txt

確認できます。gpg --verify file.txt.gpg

成功した出力を受けると:gpg: Signature made...

しかし、ファイルを署名して暗号化すると、gpg --encrypt --sign -r [email protected] file.txt

暗号化されたファイルで--verifyを実行して実行します。gpg: verify signatures failed: Unexpected error

ファイルに--decryptを呼び出すことができることを知っていて、それを検証し復号化することができますが、確認したい場合はどうなりますか。

6
Eric Stermer

GPG暗号化&サインについて理解することは、あまりよく説明されていないことを理解することが、それが署名は受信者によってのみ検証できるです。

AliceがBOBに送信するファイルを暗号化するとします。彼女はボブの公開鍵で暗号化し、彼女の秘密鍵と署名します。

_gpg --output encrypted.gpg --recipient B0B0000000000000000000000000000000000000 --armor --sign --default-key A11CE00000000000000000000000000000000000 --encrypt file-to-encrypt.txt
_

署名を検証するために、Alice、またはBobの秘密鍵を持っていない人のために今はありません。

今Bobはファイルを復号化します。署名されている場合、彼は出力内の署名に関する情報を見るでしょう。

_$ gpg --decrypt encrypted.gpg > decrypted.txt
gpg: encrypted with 2048-bit RSA key, ID D83A4C12B3840EBA, created 2020-09-24
      "Alice <[email protected]>"
gpg: Signature made 09/28/20 13:16:47 Eastern Daylight Time
gpg:                using RSA key A11CE00000000000000000000000000000000000 
gpg: Good signature from "Alice <[email protected]>" [ultimate]
_

出力内の_Signature made_と_Good signature_行に注意してください。

1
Kip