投稿日:
更新日:

This commit was signed with the committer’s verified signature.

GitHub公式の解説
新しい GPG キーを生成する - GitHub Docs
GitHub アカウントに GPG キーを追加する - GitHub Docs

Gpg4winの導入

今回はScoop経由でインストールする

1
scoop install extras/gpg4win

GPG鍵の作成

適当なターミナルを開いて

1
gpg --full-generate-key

と入力

選択肢から選ぶフェーズは既定値のままでおk

Real name:は適当な名前
Email addres:にはGitHub垢のメアドを入れる(noreplyの方を使ってもいい)
Comment:は空でもおk

入力したらパスフレーズを設定する窓が出てくるはず

スクショ

パスを入力すればgpg鍵の作成は完了

GPGキーの確認

GUI(Kleopatra)で確認する

Kleopatraを起動

スクショ

一覧から目的の鍵を選択してダブルクリック

スクショ

下の「エクスポート」を押すとGPGキーが表示されるのでそれを全部コピーすればおk

スクショ

CUIで確認する

1
gpg --list-secret-keys --keyid-format=long

と入力して作成したGPG鍵の一覧を表示する
その中からGitHubで使う鍵のGPGキーIDを確認する

1
2
3
4
sec   ed25519/F8FF387A0A6E69E9 2025-06-19 [SC] [expires: 2028-06-19]
      242C9C35ABADF9D388CF91C0F8FF387A0A6E69E9
uid                 [ultimate] example
ssb   cv25519/C1D9A7BA6B5324B0 2025-06-19 [E] [expires: 2028-06-19]

上のF8FF387A0A6E69E9にあたる部分がキーID

キーIDが判明したら

1
gpg --armor --export <GPGキーID>

と入力

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
> gpg --armor --export F8FF387A0A6E69E9
-----BEGIN PGP PUBLIC KEY BLOCK-----

mDMEaFOk7xYJKwYBBAHaRw8BAQdAPwtsUSPcsePjhwRhGySxJrF5PC679I/0O7os
c1/qB9m0B2V4YW1wbGWImQQTFgoAQRYhBCQsnDWrrfnTiM+RwPj/OHoKbmnpBQJo
U6TvAhsDBQkFpMRBBQsJCAcCAiICBhUKCQgLAgQWAgMBAh4HAheAAAoJEPj/OHoK
bmnpipsA/jAkTHeM9PMA3t3asbu1ZaOJyC0mXE9Wq1cuw8LbCKejAQD/vT/qZl2Z
HOfTMbnMIGbJhnatRv9yo1I5kwuT50bCBbg4BGhTpO8SCisGAQQBl1UBBQEBB0Ai
HaGMPB+SJoVccmZt3GrX+vdbHos26TJf5waiik6nfQMBCAeIfgQYFgoAJhYhBCQs
nDWrrfnTiM+RwPj/OHoKbmnpBQJoU6TvAhsMBQkFpMRBAAoJEPj/OHoKbmnpa2AB
AP94HNIO8g8PS0CXsQPfhP6Z5Y3enQTebjgyeoAbWDhcAP9jomNgX9Qn0wVSSCpr
jALj3y6hRuJSXH5pk7HJErCVBw==
=5jUy
-----END PGP PUBLIC KEY BLOCK-----

-----BEGIN PGP PUBLIC KEY BLOCK-----から
-----END PGP PUBLIC KEY BLOCK-----まで全部コピーする

GitHubにgpg鍵を追加

https://github.com/settings/keys
にアクセス

GPG keysの"New GPG key"を押したら

スクショ

Titleは適当な名前を入れる
Keyの部分にさっきコピーした
-----BEGIN PGP PUBLIC KEY BLOCK-----から
-----END PGP PUBLIC KEY BLOCK-----
までの文字列を貼り付ける

“Add GPG key"を押したら完了

commitを署名付きにするための設定

gitの設定ファイル(~/.gitconfig~/.config/git/configなど)を開いて

[commit]
    gpgsign = true
[gpg]
    program = C:\\Users\\username\\scoop\\apps\\gpg4win\\current\\GnuPG\\bin\\gpg.exe
[user]
    signingkey = <GPGキーID>

これを追記する

またはターミナルで

1
2
3
git config --global commit.gpgsign true
git config --global gpg.program <gpg.exeへのパス>
git config --global user.signingkey <GPGキーID>

と入力する

これでcommit時にパスフレーズの入力が要求されて
これ以降のcommitをGitHub上で見るとVertifiedになるはず