GPGで署名できるようにする
Linux環境(WSL)で確認している。
同じように署名以外の鍵も作成できる。
1. 主鍵の作成
以下のコマンドで主鍵を作成する。
$ gpg --expert --full-gen-key
副鍵の管理にしか使わないため(多分?)、Certifyだけできる鍵にする。
2. 失効証明書の保管
~/.gnupg/openpgp-revocs.d/
を開き、失効証明書のファイルを安全な場所に移動させる。
3. 副鍵の追加
主鍵のシグネチャを確認する。表示される長い文字列がシグネチャ。
$ gpg -k --keyid-format LONG --with-keygrip
編集モードに入る
$ gpg --expert --edit-key (主鍵のシグネチャ)
プロンプトに入ったらaddkeyと入力する
gpg> addkey
主鍵と同じ感じで副鍵を追加していく。
署名に使う場合はSの付いた副鍵を作る。
4. 秘密鍵のエクスポート
主鍵と副鍵を含んだ秘密鍵をエクスポートする。
$ gpg -a --export-secret-keys
この秘密鍵をインポートすることで、後から全ての鍵を復元できる。
秘密鍵は安全な場所に保管しておこう。
5. 主鍵の秘密鍵を削除
鍵の一覧を表示して主鍵のkeygripを確認する。
$ gpg -k --keyid-format LONG --with-keygrip
~/.gnupg/private-keys-v1.d/
を開き、主鍵の秘密鍵のkeyファイルを削除する。
ファイル名は各鍵のkeygripと対応している。
6. 公開鍵を配布
公開鍵をエクスポートする。公開鍵は主鍵と副鍵で同じものが使用される。
$ gpg -a --export
秘密鍵の一覧表示
ローカルマシンに持っている秘密鍵の一覧を確認できる。
$ gpg -K --keyid-format LONG --with-keygrip
鍵の管理や失効証明書の適用を行う
鍵を管理したい時は、主鍵の秘密鍵を復元しないと操作できないことがある。
また、主鍵の秘密鍵が漏洩するなどして主鍵を失効させないといけない場合がある。
その時は保管しておいたファイルをインポートすることで、以下の操作を実施できる。
- 秘密鍵の復元(ファイルに含まれている鍵が全て復元される)
- 主鍵を失効させる
$ gpg --import (ファイルパス)
また、失効証明書はそのままでは使用できなくなっているので、ファイルの中身を確認しよう。