PGP公開鍵の作成・公開
ふと気になって,GnuPG
でPGP Keyを作成しました.
これって何が嬉しいんでしょうか.
いままで触ったことがなかったので,よくわかりません.
公開鍵を作るにあたって,暗号化の方式が色々出てきました.
今回は,Ed25519を選択しました.
そのうち,暗号化の方式についても調べてみたいと思います.
以下は,公開鍵の作成方法です.
GnuPGのインストール
WSL2のUbuntu20.04で,GnuPG
をインストールします.
おそらく,apt install
でインストールできると思いますが,今回はソースコードからインストールしました.
GnuPG
をコンパイルするにあたって,依存関係がいくつかあるみたいなので,それらをインストールします.
足りないものがあれば,エラーが出るので,その都度インストールしていきます.
今回は,libassuan-dev
,libgpg-error
,libksba
が足りなかったので,それらをインストールしました.
最初はapt install
でインストールしたのですが,libassuan-dev
以外が古いバージョンが要求よりも古いみたいだったので,それらはソースコードからインストールしました.
今考えると,libassuan-dev
もソースコードからインストールした方が良かったかもしれません.
# rootで実行
cd /usr/local/src
wget https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.4.3.tar.bz2
wget https://gnupg.org/ftp/gcrypt/npth/npth-1.6.tar.bz2
wget https://gnupg.org/ftp/gcrypt/libksba/libksba-1.6.4.tar.bz2
wget https://gnupg.org/ftp/gcrypt/gpgrt/libgpg-error-1.47.tar.bz2
apt install libassuan-dev
wget https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.6.6.tgz
# 全部解凍して,configure,make,make install
OpenLDAP
は,なくてもconfigure
は通るみたいですが,make
でエラーが出るので,インストールしました.
GnuPGのバージョン衝突
Ubuntu20.04には,元々?GnuPG
がインストールされているみたいです.
そのため,今回インストールしたGnuPG
と,元々のGnuPG
が衝突してしまいました.
結局,何のおかげで解消できたかはわかりませんが,以下のコマンドで多分解消できました.
gpgconf --kill all
pkill gpg-agent
sudo apt remove gpg gpg-agent gpgconf gpgsm gpgv
systemctl --user restart gpg-agent
gpg-agent --pinentry-program=/usr/bin/pinentry --daemon
公開鍵の作成
これで,あとは色々調べたら出てくるような手順で公開鍵を作成します.
gpg --expert --full-generate-key
# 色々して,Certify keyとして作成.期限は無期限とした.
# 作成した公開鍵のIDを確認
gpg --list-secret-keys --keyid-format LONG
gpg --expert --edit-key XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
gpg> addkey # subkeyを作成.
# subkeyとしてAuthenticate key, Sign key, Encrypt keyの3つを作成した.
gpg> quit # このときyを入力して,保存する.
# あとは,適切な手順でSecret key, Revoke keyをバックアップし,コンピュータから削除する.
PGP公開鍵
ダウンロードはこちらから(2023/10/17 変更)
Fingerprintは14EB 4C56 C19D 226E EC30 69F3 EF4B 3FBB 1F72 0826
です.
-----BEGIN PGP PUBLIC KEY BLOCK-----
mDMEZQ77PhYJKwYBBAHaRw8BAQdA4jrLqRQD1nnMxzwE3DrBwtX3c9svZIR+V4BQ
i9FyZIK0IXBvcG9udGEgPHBvcG9udGEwMTEyMThAZ21haWwuY29tPoiRBBMWCgA5
AhsBAheAFiEEFOtMVsGdIm7sMGnz70s/ux9yCCYFAmUuS3EFCwkIBwIGFQoJCAsC
BRYCAwEAAh4FAAoJEO9LP7sfcggmeXMA/AglufDCXK3UOnp+9clVdjF78R6kF/Fa
XJBh5VybBi+TAP99T8yEFQcUs91ngqqvZpph1IDI7Q2L+OBlmfrgfiirC7gzBGUO
+2oWCSsGAQQB2kcPAQEHQNZd4a00NBJWk1Vp43DYjXRTzNklI+zo5X37C1sgywes
iHgEGBYKACAWIQQU60xWwZ0ibuwwafPvSz+7H3IIJgUCZQ77agIbIAAKCRDvSz+7
H3IIJi67AP0RimreXZg766N+wi2ZhR5Hdf/AxnRmutg8FsN5b0FYpAD+Ik1Ynqhz
MmFhLkW9uEgSSwttBICKGJBAUpVuBHAf7Qe4MwRlDvuAFgkrBgEEAdpHDwEBB0Dw
CS5m3X4B04asbw7SmZ9U/RNnPKvp19bN7hgKCmR6D4jvBBgWCgAgFiEEFOtMVsGd
Im7sMGnz70s/ux9yCCYFAmUO+4ACGwIAgQkQ70s/ux9yCCZ2IAQZFgoAHRYhBBGc
3vLd2UiaT8JoMXmqBtTGLnFTBQJlDvuAAAoJEHmqBtTGLnFTxFMBAKf5z6qcAwMr
njnpldOtjQ/YSq+qQnuNkZrVemP1WVvJAQCNXLMxMHXenoK3c5t7tlagJkPt7oSn
l6IbwVvCc6ExD3xsAQDoHsgG333XgMoeMezXAklfNzJZ1CBIMk3P/ki+Z2wUxgEA
3GKzE560T7SNfT5I1k+R6wkpsP7Ffm3K3b7vc1raNgS4OARlDvuKEgorBgEEAZdV
AQUBAQdA7qrJqAtxyHSnzIYSRNkO2q3qUwm2mkYTUcIkhWve2ywDAQgHiHgEGBYK
ACAWIQQU60xWwZ0ibuwwafPvSz+7H3IIJgUCZQ77igIbDAAKCRDvSz+7H3IIJhNT
APwN0w92QOk+ClJV4V6Xu8Iq2G19bid+G9bZMrtMRxyB9AEA47xItq/GaGwA0QAT
YQ+DDtKPK5RcLOB7FwkwzETg4w8=
=Rfyt
-----END PGP PUBLIC KEY BLOCK-----