Open8

GPG署名

ykwsykws

Mac で GPG署名をしようと思うと、ツールがインストールされていなくて、 Homebrew でインストールできます。

brew install gpg pinentry-mac

下記の Zenn スクラップを参考にしました。

https://zenn.dev/riscait/scraps/a41a82e7100360

ykwsykws

Homebrew は最近 4.0 がリリースされたので、ついでに upgrade しておきます。

https://twitter.com/MikeMcQuaid/status/1626140850999664641

brew update
brew upgrade
% brew -v
Homebrew 4.0.3
Homebrew/homebrew-core (git revision 4e8e7f7d631; last commit 2023-02-21)
Homebrew/homebrew-cask (git revision 019c7e7c7d; last commit 2023-02-21)
ykwsykws

インストールしたツールのバージョン確認

% gpg --version
gpg (GnuPG) 2.4.0
libgcrypt 1.10.1
Copyright (C) 2021 Free Software Foundation, Inc.
License GNU GPL-3.0-or-later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
% pinentry --version
pinentry-curses (pinentry) 1.2.1
Copyright (C) 2016 g10 Code GmbH
License GPLv2+: GNU GPL version 2 or later <https://www.gnu.org/licenses/>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

以下は、記事を参考にセットアップしたコマンドログ

gpg --full-gen-key

key_id は生成結果の sec の暗号方式の / 以下の文字列です。

gpg --armor --export {key_id} | pbcopy

ペーストボードにコピーした内容を GitHub GPG として登録し、
Git config を設定して完了です。

git config --global user.signingkey {key_id}
git config --global commit.gpgsign true
ykwsykws

実際のコミットがGPG署名されているか確認する

git log --show-signature -1

gpg: Good signature from ... と表示されていれば OK( ... の部分には、鍵作成時に入力した名前とメールアドレスが表示されます)

未署名だと、 gpg: の部分が表示されません。

ykwsykws

別の環境で 2.4.3 で構築すると、パスフレーズの入力を省略できなかった。
2.4.0 から 2.4.3 の間で省略不可になった?