コミット署名の検証について

GPG または S/MIME を使用して、タグに署名し、ローカルでコミットできます。 これらのタグやコミットは GitHub で検証済みとしてマークされているため、他のユーザはその変更が信頼できるソースからのものであると確信できます。

コミット署名の検証について

コミットとタグにローカルで署名して、行った変更の根拠を他のユーザに信頼してもらうことができます。 コミットまたはタグに暗号で検証可能な GPG または S/MIME 署名がある場合、GitHub はコミットまたはタグに「Verified」または「Partially verified」

検証されたコミット

コミットとタグには、警戒モードを有効にしているかどうかによって、次の検証ステータスが含まれます。 デフォルト設定では、警戒モードは有効になっていません。 警戒モードを有効にする方法については、「すべてのコミットの検証ステータスを表示する」を参照してください。

ノート: Vigilantモードは現在ベータであり、変更されることがあります。

デフォルトのステータス

状況説明
検証済みコミットが署名され、署名が正常に検証されました。
Unverifiedコミットは署名されていますが、署名を検証できませんでした。
No verification statusコミットが署名されていません。

警戒モードが有効になっているステータス

ステータス説明
Verifiedコミットは署名され、署名の検証も成功しており、コミッターは警戒モードを有効化した唯一の作者。
Partially verifiedコミットは署名され、署名の検証も成功しているが、コミットには a) コミッターではなく b) 警戒モードを有効化した 作者がいる。 この場合、コミットの署名は作者の合意を保証しないので、コミットは部分的にのみ検証されています。
Unverified以下のいずれかが真:
- コミットは署名されているが、署名を検証できなかった。
- コミットが署名されておらず、コミッターは警戒モードを有効化した。
- コミットは署名されておらず、作者が警戒モードを有効化した。

リポジトリ管理者は、ブランチでコミット署名を必須として、署名および検証されていないすべてのコミットをブロックできます。 詳しい情報については、「保護されたブランチについて」を参照してください。

GitHub上の署名されたコミットあるいはタグの検証ステータスをチェックして、コミットの署名が検証されない理由を見ることができます。 詳細は「コミットおよびタグの署名の検証のステータスをチェックする」を参照してください。

GitHub は GPG を自動的に使用して、GitHub Web インターフェースを使用して行ったコミットに署名します。ただし、作者ではないプルリクエストを squash してマージする場合は除きます。 GitHubによって署名されたコミットは、GitHubで認証済みのステータスになります。 署名は、https://github.com/web-flow.gpgから利用できる公開鍵を使ってローカルに検証できます。 The full fingerprint of the key is 5DE3 E050 9C47 EA3C F04A 42D3 4AEE 18F8 3AFD EB23. オプションとして、Codespaces で行ったコミットを GitHub で署名させることもできます。 Codespaces の GPG 検証を有効にする方法については、「Codespaces の GPG 検証の管理」を参照してください。

GPG コミット署名の検証

自分で生成した GPG キーで、GPG を使ってコミットに署名できます。

GitHubは、あなたがローカルで署名したコミットやタグがあなたのGitHubアカウントに追加された公開鍵に対して暗号的に検証できることを、OpenPGPライブラリを使って確認します。

GPG を使ってコミットに署名し、それらのコミットを GitHub 上で検証済みにするには、以下の手順に従ってください:

  1. 既存の GPG キーがあるかチェックする
  2. 新しい GPG キーを生成する
  3. GitHub アカウントに新しい GPG キーを追加する
  4. Git へ署名キーを伝える
  5. コミットに署名する
  6. タグに署名する

S/MIME コミット署名の検証

S/MIME を使い、自分の Organization で発行した X.509 キーを用いてコミットに署名できます。

GitHub は、ローカルに署名されたコミットやタグが信頼されたルート証明書の公開鍵に対して暗号的に検証可能であることを確認するために、Mozilla ブラウザが使うのと同じ信頼ストアであるDebian ca-certificatesパッケージを使います。

ノート: S/MIME署名の検証は、Git 2.19以降で利用できます。 Gitのバージョンをアップデートするには、GitのWebサイトを参照してください。

S/MIME を使ってコミットに署名し、それらのコミットを GitHub 上で検証済みにするには、以下の手順に従ってください:

  1. Git へ署名キーを伝える
  2. コミットに署名する
  3. タグに署名する

公開鍵を GitHubにアップロードする必要はありません。

ボットの署名検証

コミットの署名が必要な Organization および GitHub App は、コミットの署名にボットを利用できます。 コミットまたはタグが暗号的に検証可能なボット署名を持っている場合、GitHub はそのコミットまたはタグを検証済みとしてマークします。

ボットの署名検証は、要求が検証され GitHub App またはボットとして認証されており、カスタム作者情報、カスタムコミッター情報、およびコミットAPI などのカスタム署名情報が含まれていない場合にのみ機能します。

参考リンク

このドキュメントは役立ちましたか?プライバシーポリシー

これらのドキュメントを素晴らしいものにするのを手伝ってください!

GitHubのすべてのドキュメントはオープンソースです。間違っていたり、はっきりしないところがありましたか?Pull Requestをお送りください。

コントリビューションを行う

OR, コントリビューションの方法を学んでください。

問題がまだ解決していませんか?

GitHubコミュニティで質問するサポートへの連絡