GitHubでGPG署名付き Commit をするために

GPG署名付きCommitをしたかったのでメモ

GPGってなに?

Gnu Privacy Guardの略称で、通信やストレージを暗号化と復号化するためのツール

暗号化だけでなく署名や認証をしてインターネット上の通信の機密や信用を管理するためにも利用される

0.GPGをinstallする

次のコマンドでGPGとpinentryをinstallする

pinentryはパスワードを設定した時に使用するので必要ならinstallする

$ brew install gpg pinentry-mac

0-1.pinentryの設定を追記

pinentryを使えるようにするため、GPGの設定を修正する

$ echo "pinentry-program /usr/local/bin/pinentry-mac" > ~/.gnupg/gpg-agent.conf
$ gpgconf --kill gpg-agent

1.GPGの鍵を作る

次のcommandで鍵を作る

$ gpg --full-generate-key

暗号方式や鍵の長さが指定は任意でどうぞ

2.GPGのGPG IDを確認

次にGPG IDを確認する

次のcommandで、private keyのリストを表示する

$ gpg --list-secret-keys --keyid-format LONG

ssb rsa4096/<GPG ID> YYYY-MM-DD [E]のようなものが表示される

3.GPGのPublic keyの取得

次に、GitHubで使用するPublic keyを取得する

次のcommandで、GPG IDを引数に入れるとPublic keyが出力される

この出力結果を、GitHubに登録する

$ gpg --armor --export {GPG ID}

3..gitconfigに設定する

CommitするときにGPGの署名をつけるために次のcommandで.gitconfig設定する

$ git config --global commit.gpgsign true
$ git config --global user.signingkey {GPG ID}

これで完了

Copyright (c) NaoNao All Rights Reserved.