GnuPGの使い方メモ

GnuPG


2年くらい前に社内SNSに書いていたエントリを転載。
社内でしか見れないのが今日不便に感じたので。
情報は少し古いかもしれませんので、ご了承を。エントリというよりはメモです。



自分用リファレンス。これより細かいのは、Webやmanで。

GnuPGは、GPLライセンスのもと開発されたフリーの暗号化ツールで、データの暗号化をしたいときに利用します。
特許でカバーされているアルゴリズムを使用していないため商用利用可とのこと。
尚、くれぐれも鍵の取り扱いにはご注意を。

鍵生成・参照

鍵の生成

$ gpg --gen-key

色々な質問に答えていくだけ。特に迷うところはない。
途中、乱数を発生させるために、キーボードを無造作に叩くべし。(タイミングは指示してくれます)

生成・インポート済の鍵の一覧

$ gpg --list-keys

エクスポート

公開鍵のエクスポート

$ gpg -o rx7_public.key -a --export rx7

公開鍵の場合。上記のように"-a"をつけるとASCIIで出力してくれる。
鍵の名前や最後についているIDは任意。(上記では、rx7_public.keyとrx7)

秘密鍵のエクスポート

$ gpg -o rx7_secret.key -a --export-secret-key rx7

秘密鍵の場合。上記のように"-a"をつけるとASCIIで出力してくれる。
鍵の名前や最後についているIDは任意。(上記では、rx7_secret.keyとrx7)

公開鍵の信用情報をエクスポート

$ gpg --export-ownertrust > rx7_trust

出力するファイル名は任意。(上記では、rx7_trust)

インポート

公開鍵のインポート

 $ gpg --import rx7_public.key

秘密鍵のインポート

$ gpg --import --allow-secret-key-import rx7_secret.key

公開鍵の信用情報をインポート

$ gpg --import-ownertrust rx7_trust

暗号化

共通鍵暗号方式

$ gpg -c sample.txt

上記での"sample.txt"の部分には、暗号化したいファイルを入力。

公開鍵暗号方式

$ gpg -e -a -r ${メールアドレス} sample.txt

"-a"をつけるとASCIIの形式で暗号化される。${メールアドレス}はキーの生成時に登録したメールアドレス。"gpg --list-keys"でも確認できる。
上記での"sample.txt"の部分には、暗号化したいファイルを入力。

復号化

共通鍵・公開鍵暗号方式共通

$ gpg sample.txt.asc

上記での"sample.txt.asc"の部分には、暗号化済みの(復号したい)データファイルを入力。
上記は、ASCII形式の例で、暗号化時に"-a"をつけない場合は、暗号化済みファイルの拡張子が「.gpg」となる。

その他リンクとか

下記リンク先が詳しいです。ちょっと気になるところだけを抜粋。