Article Outline
GPG
![img](https://upload.wikimedia.org/wikipedia/commons/thumb/9/95/Font_Awesome_5_brands_github.svg/96px-Font_Awesome_5_brands_github.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/9/95/Font_Awesome_5_brands_github.svg/128px-Font_Awesome_5_brands_github.svg.png)
cf.https://ja.wikipedia.org/wiki/Github
|| GPG
GitのGPGは、Gitにおいてコミットやタグなどの操作に署名を付けるための仕組みです。
GPG(GNU Privacy Guard)は、デジタル署名や暗号化を行うためのツールです。
GitのGPGを使用することで、コミットやタグが本当に信頼できるものであることを確認することができます。
GPGを使用すると、秘密鍵で署名を生成し、公開鍵でその署名を検証できます。
これにより、コードの変更やリリースが正当であることを確認できます。
GitでGPGを使用するには、まずGPGキーペアを生成し、公開鍵をGitに登録します。
そして、コミットやタグを行う際に、それらに署名を付けることができます。
GPGを使用することで、コードの信頼性やセキュリティを向上させることができます。
要は、なりすましできんようにガチでこの人ってするヤツ。
| MOTIVATION
署名付きcommitがしたい。
| 作成~設定手順
- Homebrewで下準備
$
brew install gnupg pinentry-mac
- GPGキーペアの生成:
$
gpg --full-generate-key
- 公開鍵の取得:
$
gpg --list-keys
($gpg --list-secret-keys --keyid-format LONG
) - Gitに公開鍵を登録:
$
gpg --armor --export YOUR_GPG_KEY_ID | pbcopy
(GitHubの場合) Settings > SSH and GPG keys > New GPG keyで公開鍵を追加
ヘッダー(-----BEGIN PGP PUBLIC KEY BLOCK-----と-----END PGP PUBLIC KEY BLOCK-----の間の部分)を含めて貼り付け - Gitの設定:
$
git config --global user.signingkey YOUR_GPG_KEY_ID
- コミットに署名する設定:
$
git config --global commit.gpgsign true
- cf. 新しい GPG キーを生成する -GitHub Docs
| commitに署名されているか確認
$ git show --show-signature
|| REFERENCE
- Telling Git about your signing key -GitHub Docs
- GitのコミットにGnuPGで署名する -Qiita