GPG によって暗号化され署名されたファイルがあります。
の中にgpg のマニュアルページオプションについては、次のように--decrypt
書かれています。
復号化されたファイルが署名されている場合は、署名も検証されます。
「ファイルが署名されている場合」に署名が有効であることを確認するだけでなく、次のことを行いたいと考えています。
- ファイルを確認してくださいは署名済み
- 署名がキーリング内の特定のユーザーまたはユーザーのサブセットからのものであることを確認する
これを行うにはどの gpg コマンドを使用できますか?
答え1
オプション--decrypt
ですでにそのほとんどが実行されます。
$gpg --decrypt < test.gpg gpg: 4096 ビット RSA キーで暗号化、ID CE7B5510340F19EF、作成日 2009-10-31 「重力 <[メールアドレス]>" WELL(またはWhole Earth 'Lectronic Link)は、最先端の技術の一例です。 村では、コンピュータ掲示板。このような小さな町では、メインストリートは 中央のミニコンピュータ(WELLの場合)には最大64台のマイクロコンピュータが接続される。 一度に接続されるのは、電話回線とモデムと呼ばれる小さな点滅するボックスです。 gpg: 署名は 2015-05-15T07:52:55 EEST に作成されました gpg: RSA キー D24F6CB2C1B52632 を使用 gpg: 「grawity」からの素晴らしい署名 <[メールアドレス]>" [究極] gpg: 別名「grawity <[メールアドレス]>" [究極]
機械可読情報の場合は、--status-fd
。
[GNUPG:] ENC_TO CE7B5510340F19EF 1 0 [GNUPG:] 暗号化解除の開始 [GNUPG:] 暗号化解除情報 2 9 [GNUPG:] プレーンテキスト 62 1431665575 [GNUPG:] ニュースIG [GNUPG:] SIG_ID 8AaWsnfpINFLIVjEqk665x7fuKA 2015-05-15 1431665575 [GNUPG:] GOODSIG D24F6CB2C1B52632 グラウティ <[メールアドレス]> [GNUPG:] 表記名[メールアドレス] [GNUPG:] NOTATION_DATA 2357E10CEF4F7ED27E233AD5D24F6CB2C1B52632 [GNUPG:] VALIDSIG 2357E10CEF4F7ED27E233AD5D24F6CB2C1B52632 2015-05-15 1431665575 0 4 0 1 10 00 2357E10CEF4F7ED27E233AD5D24F6CB2C1B52632 [GNUPG:] TRUST_ULTIMATE [GNUPG:] 暗号化解除OK [GNUPG:] グッドMDC [GNUPG:] END_DECRYPTION
GOODSIG
ここでの とは両方ともVALIDSIG
、署名がチェックされたことを意味し、TRUST_*
そのキーの認証レベルに対応します。たとえば、直接署名した (または lsigned した) キーには TRUST_FULL が設定されます。
これを、VALIDSIG 内のフィンガープリントをキーのホワイトリストと照合するスクリプトにラップすることも、キー信頼モデルに頼ることもできます。
注意してくださいできないPGP は暗号化前に署名を使用するため、最初に暗号化を解除せずにファイルが署名されているかどうかを確認します。
答え2
gpg --decrypt < data.pgp > /dev/null
出力は次のようになります。
gpg: encrypted with 4096-bit RSA key, ID B91FFCCDDEE362261A, created 2015-05-21
"Shubham Chaudhary <[email protected]>"
gpg: Signature made Mon Aug 21 23:13:03 2017 IST
gpg: using RSA key 71B6BEEFEED2DCA
gpg: issuer "Shubham Chaudhary <[email protected]>"
gpg: Good signature from "Shubham Chaudhary <[email protected]>" [ultimate]