2019/08/26

PGP秘密鍵をYubiKey 5cに登録

GnuPGを利用しPGPのキーペアを生成した。
このキーペアに、それぞれ暗号化, 認証, 署名に利用可能なsubkeyを追加し、これら3つをYubiKeyへ転送した。

鍵生成及び転送の方法は https://www.thepolyglotdeveloper.com/2019/02/use-yubikey-pgp-signing-encryption-authentication/ を参考にした。

GitHubへのcommitにPGP鍵で署名

PGP鍵を用いて、GitHubへのcommitに署名をする。コミット履歴に以下のような署名情報が追加される。

$ git show --show-signature HEAD | head -9
commit dcd6b07d46117e7036544eddc0598412f8566ffd
gpg: Signature made Mon Aug 26 20:59:06 2019 JST
gpg:                using RSA key 7B86C361165A115C99349BB622030DF85DF89003
gpg: Good signature from "Unigiri <me@unigiri.net>" [ultimate]
Author: Unigiri <me@unigiri.net>
Date:   Mon Aug 26 20:59:06 2019 +0900

    rebuilding site 2019年 8月26日 月曜日 20時59分05秒 JST

登録方法は公式ドキュメントを参考にした。
また、常に署名されるようにするため、 ~/.gitconfiguser.signingkeycommit.gpgSign を登録した。

[user]
    name = Unigiri
    email = me@unigiri.net
[user]
    signingkey = xxx
[commit]
    gpgSign = true

SSH login keyとしてPGP鍵を使用

gpg-agentenable-ssh-support option付きで動いていれば、 ssh-add -L によりSSHログイン用の公開鍵が取得可能。
これを各サーバの ~/.ssh/authorized_keys に配って回った。

KeyBaseへのアカウント登録

https://keybase.io/unigiri を作成し、PGP公開鍵を登録した。
更に、SNSアカウントやブログと連携を行った。