ja ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

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

GPG または S/MIME を使用して、タグに署名し、ローカルでコミットできます。 それらのタグやコミットは検証済みとして GitHub上でマークされ、他の人々がその変更が信頼できるソースから来たものと信頼できるようになります。

ここには以下の内容があります:

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

コミットやタグをローカルで署名して、他の人々がその作業が信頼されるソースから来たことを検証できるようにすることができます。 コミットまたはタグが暗号的に検証可能な GPG または S/MIME 署名を持っている場合、GitHub はそのコミットまたはタグを検証済みとしてマークします。

検証されたコミット

コミットあるいはタグが検証できない署名を持っている場合、GitHub はそのコミットあるいはタグを未検証としてマークします。

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

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

GitHub は自動的に GPG を使用して、GitHub Web インターフェースを使用して行ったコミットに署名します。ただし、作者ではないプルリクエストを squash してマージする場合を除きます。 GitHubによって署名されたコミットは、GitHubで認証済みのステータスになります。 署名は、https://github.com/web-flow.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 またはボットとして検証および認証され、カスタム作者情報、カスタムコミッタ情報、および Commits API などのカスタム署名情報が含まれていない場合にのみ機能します。

参考リンク

Did this doc help you?

Privacy policy

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

OR, learn how to contribute.