作業の備忘録です。
1. gpgとkeybaseをインストール
brew install gpg
brew cask install keybase
作成済みのkeybase accountにログインしている必要がある。 keybase status
で状態を確認し、ログインしていなければ keybase login
でログイン
keybaseのコマンドラインツールは機能が豊富で、チャットやグループの作成はもちろんのこと、暗号化gitやpgp準拠の署名などがわかりやすくできるので良い感じ(gpg
コマンドでも同じことができるのだが、レガシー感バリバリで昔困惑した覚えがある。ようやく使いやすいものが来てくれたかという気持ち)
2. keybase.io上にGPG keyを作成
keybase pgp gen --multi
keybase accountに紐づいたkey pairの作成だけでなく、自動でローカルのgpg keyringに鍵を登録してくれるので、あとは通常のgpg × githubの登録手続きをすれば良い。
--multi
は同アカウントに二つ目以降のgpg keyを追加する場合に必要。
Keybase.ioのサーバー上に秘密鍵のコピーを保持するかを聞かれるが、保持する場合は絶対にpass phraseで暗号化すること。
3. 全てのcommitに署名をするようにgitを設定
git公式を参照
gpg --list-secret-keys # 作成したkeyがgpg keyringに(mail addressに紐づいて)登録されていることを確認
keyの暗号方式(この場合はRSA4096なので4096Rと表示される)の横にIDが出るので、以下のコマンドで登録
git config --global user.signingkey 3AA5C34371567BD2 # 3AA5C34371567BD2がIDとする
git config --global commit.gpgsign true # -Sオプションをつけなくても常に署名
4. githubに登録
keybase pgp export -q <keyID> | pbcopy
で公開鍵をコピーし
githubのkey登録ページから登録