ググればいろいろ出てくるけど、自分用のまとめが欲しかった為作った。

これをすることでgithubやgitlabでcommitにVerifiedタグを付与することができるし他人の公開鍵をimportすることで git log --show-signatureしてcommitの検証を行うことができる。

鍵のgen/export/import

ここでは一つの秘密鍵をLinux/Windows/Macにimportして使うことを想定している。

各OSでの使い方

Gitとの連携

自分はプライベート用と職場用それぞれの秘密鍵を使い分けている。

その際、例えば休憩時間に会社のPCからOSSにcommitするみたいなことを考えるとdirectory毎にgpg鍵を切り替える必要があるので以下のようにする。

globalのgitconfig

~/.gitconfig

[commit]
    gpgsign = true
[user]
    useConfigOnly = true
[ghq]
    root = ~/src
[include]
    path = ~/.gitconfig.local
    path = ~/.gitconfig.windows
[includeif "gitdir:~/src/github.com/"]
    path = ~/.gitconfig.identity.default
[includeif "gitdir:~/.dotfiles/"]
    path = ~/.gitconfig.identity.default

プライベートで使うGPG鍵の指定

~/.gitconfig.identity.default

[user]
    name = kentac55
    email = kentac55 at example.com
    signingkey = AAAAAAAAAAAAAAAA

職場のgit repository hostの指定

~/.gitconfig.local(dotfiles管理外)

[includeif "gitdir:~/src/example.com/"]
    path = ~/.gitconfig.identity.work

職場で作ったGPG鍵の指定

~/.gitconfig.identity.work(dotfiles管理外)

[user]
    name = 山田 太郎
    email = SomeOne@example.com
    signingkey = AAAAAAAAAAAAAAAA