Open9

Apple Silicon MacでGPG keyを生成してGitHubに登録するまでの覚書

村松龍之介村松龍之介

推奨されているコンフィグファイル? ~/.gnupg/gpg-agent.conf が存在しなかったので作成

mkdir ~/.gnupg
touch ~/.gnupg/gpg-agent.conf
村松龍之介村松龍之介

GnuPG で利用する Pinentry のパスを指定して、再読み込みさせる

echo "pinentry-program /opt/homebrew/bin/pinentry-mac" > ~/.gnupg/gpg-agent.conf
gpgconf --kill gpg-agent
村松龍之介村松龍之介
gpg --list-keys

を実行したら、 ~/.gnupg/pubring.kbx , ~/.gnupg/trustdb.gpgが生成された

村松龍之介村松龍之介
gpg --full-generate-key

でKeyを作成する。
基本的にデフォルトで進める

  • keyの種類
  • 有効期間
  • Real name
  • Email adrdress
  • Comment

Pinentry Macが起動してPassphraseの入力を求められる。

.ref ファイルが作成される。

  • pub, uid, sub が表示される。
村松龍之介村松龍之介

秘密鍵と公開鍵を出力。ファイル名は自由。

gpg --export-secret-keys XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX > secret.gpg
gpg --armor --export XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX > public.gpg

出力はしたけど、GitHubに登録するために public.gpg の中身確認にしたのみ。
secret.gpg は別端末に同じGPG keyをインポートしたいときに使用すると思われる✍️
https://dev.classmethod.jp/articles/github-pgp-singed-commit-mac/#toc-5

村松龍之介村松龍之介

Git Conifg

(Gitクライアント「Tower」での設定場所も併記)

現在の設定の確認

git config --global -l

user.name

git config --global user.name "Muramatsu Ryunosuke"

user.email

git config --global user.name "muramatsu@altive.co.jp"

gpg.program

git config --global gpg.program "/opt/homebrew/bin/gpg"

user.signingkeyの指定

git config --global user.signingkey "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

commit.gpgsign

git config --global commit.gpgsign true

TowerでUserProfileを設定する場合

Globalの設定のみで事足りると思うが、設定する場合↓
Preferences > User Profiles でUserProfileを新規作成、 GPG key で作成したKeyを選択する

村松龍之介村松龍之介

GitHubに登録

Settings > SSH and GPG keys > GPG keysNew GPG key から登録する。

Title に好きなタイトル、 Key に PUBLIC keyの内容を入れる。

これにて、コミット時に Verified が付くようになった🙌