GnuPG を使って電子署名をする
概要
電子署名を GnuPG
https://gnupg.org/ によって施します。
準備
install
ubuntuでGnuPGを使うためには以下のコマンドを打つ。
公開鍵暗号の生成
使う前に自分の公開鍵暗号を作る必要がある。 以下のコマンドを打つと$HOME/.gnupg/に公開鍵pubring.gpgと秘密鍵secring.gpgとかその他諸々できる。 ちょっと時間かかります。1分くらい?
自分の公開鍵暗号のasciiファイルの出力の仕方は以下のコマンドで。
鍵のインポート
自分が他人が署名したファイルの妥当性を確認するためにその人の公開鍵を使用するので .gnupg/trustdbに登録する必要がある。
show fingerprint
署名
sample.txtに署名するならば、以下のコマンドを打つ。
この場合は出力ファイルがsample.txt.gpgというバイナリになるのだが、 以下のコマンドでは平文とhashがテキストsample.txt.ascで保存される。
妥当性の確認
上記で署名したファイルの妥当性の確認は以下のコマンドで行う。
暗号化/復号化
暗号化を公開鍵、復号化を秘密鍵で行うことによって、秘匿な通信を行うことができます。
暗号化
登録されているmail@someone.netの公開鍵を用いてsample.txtを暗号化します。
ちなみにgpgはここで圧縮も行うらしいです。以下のようにして圧縮を無効にできるそうです。
これで暗号化されたsample.txt.gpgが作成されます。
復号化
someoneは上記で作成されたsample.txt.gpgを秘密鍵で復号化します。