前置#
端末 gpg コマンドは正常に使用できます
GPG キーの生成#
ps:git config のメールアドレスと一致させる必要があります。確認コマンドは以下の通りです
git config --global user.email
キーを生成します
gpg --full-generate-key
- キーの種類を選択:デフォルトで大丈夫です
- アルゴリズムを選択:デフォルト
- 有効期限:自分次第
- これらの内容は正しいですか:y
- 名前
- メールアドレス(git config のものを使用)
- コメント:自分次第
- パスワードを入力
キー情報の取得#
gpg --list-keys
最初の行のスイッチは pub で、2 行目の id をコピーし、端末で実行します:
gpg --armor --export コピーしたid
例:gpg --armor --export 4F113915706D141348CDC3DB5873563E6B2
実行後、BEGIN で始まり、END で終わる公開鍵が得られます。コピーして GitHub に行きます。
公開鍵を GitHub に貼り付ける#
github-> 右上のアバター -> 設定 ->SSH および GPG キー -> 新しい GPG キー
- タイトルを付ける
- コピーした内容をキーに貼り付ける
- GPG キーを追加
GPG 秘密鍵を使用して Git commit に署名#
キーリストを取得します
gpg --list-keys
id をコピーします
git config --global user.signingkey コピーしたid
例:git config --global user.signingkey 4F113915706D141348CDC3DB5873563E6B2
毎回 commit 時に - S パラメータを追加すれば署名できます
git commit -S -m "..."
自動的に署名を要求することもできます
git config --global commit.gpgsign true
GitHub 自身の GPG キーを信頼する#
意味:ウェブ上でリポジトリを作成しても Verified が表示されず、強迫観念が非常に不快です
GitHub 自身の GPG キーをインポートします
curl https://github.com/web-flow.gpg | gpg --import
24 年に GitHub が 1 つのキーを期限切れにしたため、2 つのキーがインポートされます
キーリストを取得します
gpg --list-keys
期限切れでない GitHub の公開鍵 id をコピーし、署名操作を実行します
gpg --sign-key 968479A1AFF927E37D1A566BB5690EEEBB952194
y を入力して署名を確認します。