Skip to main content

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

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

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

コミットとタグにローカルで署名して、行った変更の根拠を他のユーザに信頼してもらうことができます。 コミットまたはタグに暗号で検証可能な GPG、SSH、または S/MIME 署名がある場合、GitHub AE はコミットまたはタグに [検証済み] のマークを付けます。

検証されたコミット

コミットまたはタグに検証できない署名が含まれている場合、GitHub AE ではそのコミットまたはタグを [未検証] としてマークします。

ほとんどの個々のユーザーにとって、署名コミットには GPG または SSH が最適です。 通常、S/MIME 署名は、大規模な組織のコンテキストで必要です。 SSH 署名は最も簡単に生成できます。 既存の認証キーを GitHub AE にアップロードして、署名キーとして使用することもできます。 GPG 署名キーの生成は、SSH キーを生成するよりも複雑ですが、GPG には SSH にはない機能があります。 GPG キーは、使用されなくなったときに有効期限が切れるか、取り消すことができます。 GitHub AE には、キーがセキュリティ侵害としてマークされていない限り、[検証済み] などのキーで署名されたコミットが表示されます。 SSH キーにはこの機能はありません。

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

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

GPG コミット署名の検証

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

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

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

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

SSH コミット署名の検証

SSH を使用して、自分で生成した SSH 公開キーを使用してコミットに署名できます。 GitHub AE で認証するために SSH キーを既に使用している場合は、署名キーとして使用するために同じキーをもう一度アップロードすることもできます。 アカウントに追加できる署名キーの数に制限はありません。

GitHub AE では、オープンソース Ruby ライブラリの ssh_data を使用することで、ローカルで署名されたコミットとタグが、GitHub AE でアカウントに追加した公開鍵に対して暗号化で検証可能であることを確認します。

注: SSH 署名の検証は、Git 2.34 以降で利用できます。 git の最新バージョンを入手するには、Git の Web サイトを参照してください。

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

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

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

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

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

注: S/MIME 署名の検証は、Git 2.19 以降で利用できます。 git の最新バージョンを入手するには、Git の Web サイトを参照してください。

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

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

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

参考資料