GnuPG のバックアップ(No.4)
GnuPG とは †
名称 †
- GNU Privacy Guard
- GNU PG
- GPG
概要 †
動作環境 †
- Unix
- Windows
- macOS
実装する機能 †
サポートする暗号化アルゴリズム †
共通鍵暗号方式 †
公開鍵暗号方式 †
ハッシュ関数 †
デジタル署名 †
操作(Liniux) †
インストール †
- Debian系
apt-get install gnupg2
公開鍵の管理 †
- 鍵ペアの作成
- プロンプトで鍵の種類・鍵長/楕円曲線・有効期限を選択して作成 ※ver.2.1.17以降
gpg --full-generate-key gpg --full-gen-key →~/.gnupg ディレクトリにキーリング(鍵)が作成される(公開鍵: pubring.kbx/秘密鍵: trustdb.gpg)
- デフォルトのパラメータで作成 ※標準的な方法
gpg --gen-key gpg --generate-key
- プロンプトで質問に答える必要ない
quick-generate-key <user-id> quick-gen-key
- プロンプトで鍵の種類・鍵長/楕円曲線・有効期限を選択して作成 ※ver.2.1.17以降
- 作成済の鍵を確認
gpg --list-keys
- 鍵の失効証明書の作成
gpg -o <revoke-filename> --gen-revoke <email-address>
- 鍵を無効にする ※失効証明書のファイルを使う
gpg --import <revoke-filename>
ファイルの暗号化(公開鍵) †
- 公開鍵をエクスポート
gpg -o <(out)pubkey-filename> -a --export <email-address>
- 公開鍵をインポート
gpg --import <pubkey-filename>
- インポートした公開鍵に署名
gpg --sign-key <email-address>
- ファイルを暗号化(公開鍵)
gpg -e -a -r <email-address> <target-file-name>
- ファイルを復号(暗号鍵)
gpg <encrypted-file-name>
ファイルの暗号化(共通鍵) †
- ファイルを暗号化 gpg -c <file-name>
- ファイルを復号
gpg <file-name> gpg --decrypt <encrypted-file-name>
ファイルの署名 †
- ファイルに署名 ※署名ファイルを作成
- バイナリのOpenPGP形式(拡張子.pgp)
gpg -s <filename> gpg --sign <filename>
- ASCII形式(拡張子.asc)
gpg -s -a <filename>
- 出力するファイル名を指定
gpg -o <(out)signed-filename> --sign <target-filename>
- 元データを含めた署名ファイル
gpg --clear-sign <filename>
- バイナリのOpenPGP形式(拡張子.pgp)
- 署名情報のみのファイルを作成
- バイナリのOpenPGP形式(拡張子.sig)
gpg --detach-sign <filename>
- ASCII形式(拡張子.asc)
gpg --detach-sign -a <filename>
- バイナリのOpenPGP形式(拡張子.sig)
- 署名されたファイルを検証
- 署名ファイルを検証
gpg --verify <signed-filename.gpg> gpg --verify <signed-filename.asc>
- 署名情報のみのファイルを検証 ※同一フォルダに元データのファイルを配置しておく必要がある
gpg --verify <signed-filename.sig> gpg --verify <signed-filename.sig> <renamed-datafile> ※元データのファイル名を変更した場合
- 署名ファイルを検証
- 署名されたファイルから元データを復元
gpg <signed-filename.gpg>
署名のフォーマット †
ASCIIのOpenPGP形式 †
-----BEGIN PGP MESSAGE----- -----END PGP MESSAGE-----
関連サイト †
- gpgコマンドの使い方 (2019.1.30)
https://qiita.com/kanatatsu64/items/bc05ed460eae5a4cb69e