文書の過去の版を表示しています。
GnuPG - GNU Privacy Guard
GNU Privacy Guard (GnuPG, GPG) とは、Pretty Good Privacy (PGP) の別実装として、GPL に基づいた暗号化ソフトである。
GNU Privacy Guard - Wikipediaより
本家: The GNU Privacy Guard
インストール
Fedora
$ sudo dnf install gnupg2
インストールされているかの確認。
$ gpg2 --version
gpg (GnuPG) 2.2.12
libgcrypt 1.8.4
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Home: /home/tomoyan/.gnupg
サポートしているアルゴリズム:
公開鍵: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
暗号方式: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256,
TWOFISH, CAMELLIA128, CAMELLIA192, CAMELLIA256
ハッシュ: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
圧縮: 無圧縮, ZIP, ZLIB, BZIP2
自分の鍵の作成
全機能の鍵生成には “gpg2 –full-generate-key” を使う。
$ gpg2 --full-generate-key
gpg (GnuPG) 2.2.12; Copyright (C) 2018 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
ご希望の鍵の種類を選択してください:
(1) RSA と RSA (デフォルト)
(2) DSA と Elgamal
(3) DSA (署名のみ)
(4) RSA (署名のみ)
あなたの選択は? # Enter を入力
RSA 鍵は 1024 から 4096 ビットの長さで可能です。
鍵長は? (2048) 1024 # 1024 を入力
要求された鍵長は1024ビット
鍵の有効期限を指定してください。
0 = 鍵は無期限
<n> = 鍵は n 日間で期限切れ
<n>w = 鍵は n 週間で期限切れ
<n>m = 鍵は n か月間で期限切れ
<n>y = 鍵は n 年間で期限切れ
鍵の有効期間は? (0) # Enter を入力
鍵は無期限です
これで正しいですか? (y/N) y # y と Enter を入力
GnuPGはあなたの鍵を識別するためにユーザIDを構成する必要があります。
本名: TomoYan # 本名を入力
電子メール・アドレス: tomoyan@tomoyan.net # メールアドレスを入力
コメント: TomoYan's RPM repository # コメントを入力
あなたは文字集合'utf-8'を使っています。
次のユーザIDを選択しました:
"TomoYan (TomoYan's RPM repository) <tomoyan@tomoyan.net>"
名前(N)、コメント(C)、電子メール(E)の変更、またはOK(O)か終了(Q)? o # o と Enter を入力
たくさんのランダム・バイトの生成が必要です。キーボードを打つ、マウスを動か
す、ディスクにアクセスするなどの他の操作を素数生成の間に行うことで、乱数生
成器に十分なエントロピーを供給する機会を与えることができます。
パスフレーズを入力: # パスフレーズを入力
パスフレーズを再入力: # パスフレーズを再入力
たくさんのランダム・バイトの生成が必要です。キーボードを打つ、マウスを動か
す、ディスクにアクセスするなどの他の操作を素数生成の間に行うことで、乱数生
成器に十分なエントロピーを供給する機会を与えることができます。
gpg: 鍵ABCDEF1D2E334E5Fを究極的に信用するよう記録しました
gpg: 失効証明書を '/home/tomoyan/.gnupg/openpgp-revocs.d/52214E68048BA816D4A3DE1EABCDEF1D2E334E5F.rev' に保管しました。
公開鍵と秘密鍵を作成し、署名しました。
pub rsa1024 2019-02-12 [SC]
52214E68048BA816D4A3DE1EABCDEF1D2E334E5F
uid TomoYan (TomoYan's RPM repository) <tomoyan@tomoyan.net>
sub rsa1024 2019-02-12 [E]
公開鍵が作成されている事を確認
$ gpg2 --list-keys
gpg: 信用データベースの検査
gpg: marginals needed: 3 completes needed: 1 trust model: pgp
gpg: 深さ: 0 有効性: 4 署名: 0 信用: 0-, 0q, 0n, 0m, 0f, 4u
gpg: 次回の信用データベース検査は、2020-02-12です
/home/tomoyan/.gnupg/pubring.kbx
--------------------------------
pub rsa1024 2019-02-12 [SC]
52214E68048BA816D4A3DE1EABCDEF1D2E334E5F
uid [ 究極 ] TomoYan (TomoYan's RPM repository) <tomoyan@tomoyan.net>
sub rsa1024 2019-02-12 [E]
秘密鍵が作成されている事を確認
$ gpg2 --list-secret-keys
/home/tomoyan/.gnupg/pubring.kbx
--------------------------------
sec rsa1024 2019-02-12 [SC]
52214E68048BA816D4A3DE1EABCDEF1D2E334E5F
uid [ 究極 ] TomoYan (TomoYan's RPM repository) <tomoyan@tomoyan.net>
ssb rsa1024 2019-02-12 [E]
公開鍵のエクスポート
rpm データベースなどにインポートする公開鍵を作成する。
$ gpg2 --export -a "TomoYan (TomoYan's RPM repository) <tomoyan@tomoyan.net>" > ~/RPM-GPG-KEY-tomoyan-29
秘密鍵のバックアップ
全ての秘密鍵をバックアップする。
$ gpg2 --export-secret-keys --armor > gpg-private-keys.backup
公開鍵のバックアップ
全ての公開鍵をバックアップする。
$ gpg2 --export --armor > gpg-public-keys.backup
鍵の復元
$ gpg2 --import gpg-private-keys.backup $ gpg2 --import gpg-public-keys.backup
設定ファイル
デフォルトの設定ファイルは以下のファイルである。
~/.gnupg/gpg.conf ~/.gnupg/dirmngr.conf
セキュリティ上の理由でアクセス権は ~/.gnupg が 700 ファイルは 600 に設定されており所有者しか利用できない様になっている。これを変更してはいけない。
要らない秘密鍵の削除
秘密鍵を確認する。
$ gpg2 --list-secret-keys
/home/tomoyan/.gnupg/pubring.kbx
--------------------------------
sec rsa1024 2019-02-12 [SC]
52214E68048BA816D4A3DE1EABCDEF1D2E334E5F
uid [ 究極 ] Yan Tomo (Fedora RPM 作成用) <tomoyan@tomoyan.net>
ssb rsa1024 2019-02-12 [E]
秘密鍵を削除する。
$ gpg2 --delete-secret-keys 'Yan Tomo' gpg (GnuPG) 2.2.12; Copyright (C) 2018 Free Software Foundation, Inc. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. sec rsa1024/ABCDEF1D2E334E5F 2019-02-11 Yan Tomo (Fedora RPM 作成用) <tomoyan@tomoyan.net> この鍵を鍵リングから削除しますか? (y/N) y # y と Enter を入力 これは秘密鍵です! 本当に削除しますか? (y/N) y # y と Enter を入力
公開鍵を確認する。
$ gpg2 --list-keys
gpg: 信用データベースの検査
gpg: marginals needed: 3 completes needed: 1 trust model: pgp
gpg: 深さ: 0 有効性: 4 署名: 0 信用: 0-, 0q, 0n, 0m, 0f, 4u
gpg: 次回の信用データベース検査は、2020-02-12です
/home/tomoyan/.gnupg/pubring.kbx
--------------------------------
pub rsa1024 2019-02-12 [SC]
52214E68048BA816D4A3DE1EABCDEF1D2E334E5F
uid [ 究極 ] Yan Tomo (Fedora RPM 作成用) <tomoyan@tomoyan.net>
sub rsa1024 2019-02-12 [E]
公開鍵を削除する。
$ gpg2 --delete-keys 'Yan Tomo' gpg (GnuPG) 2.2.12; Copyright (C) 2018 Free Software Foundation, Inc. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. pub rsa1024/ABCDEF1D2E334E5F 2019-02-11 Yan Tomo (Fedora RPM 作成用) <tomoyan@tomoyan.net> この鍵を鍵リングから削除しますか? (y/N) y # y と Enter を入力