コミット署名の検証について
コミットとタグにローカルで署名して、行った変更の根拠を他のユーザに信頼してもらうことができます。 コミットまたはタグに暗号で検証可能な GPGまたは S/MIME 署名がある場合、GitHub AE はコミットまたはタグに [検証済み] のマークを付けます。
コミットまたはタグに検証できない署名が含まれている場合、GitHub AE ではそのコミットまたはタグを [未検証] としてマークします。
リベースとマージの署名の検証
pull request で Rebase と Merge オプションを使用する場合は、ヘッド ブランチのコミットがコミット署名の検証なしでベース ブランチに追加されることに注意することが重要です。 このオプションを使用すると、元のコミットのデータとコンテンツを使用して、GitHub によって変更されたコミットが作成されます。 つまり、GitHub は、このコミットを本当に作成していないため、汎用システム ユーザーとして署名することはできません。 GitHub では、コミッターの秘密署名キーにアクセスできないため、ユーザーの代わりにコミットに署名できません。
これを回避するには、ローカルでリベースとマージを行い、変更を pull request のベース ブランチにプッシュします。
詳しくは、「GitHub上のマージ方法について」を参照してください。
リポジトリ管理者は、ブランチでコミット署名を必須として、署名および検証されていないすべてのコミットをブロックできます。 詳しくは、「保護されたブランチについて」を参照してください。
GitHub AE上の署名されたコミットあるいはタグの検証ステータスをチェックして、コミットの署名が検証されない理由を見ることができます。 詳しくは、「コミットおよびタグの署名の検証ステータスを確認する」を参照してください。
GPG コミット署名の検証
自分で生成した GPG キーで、GPG を使ってコミットに署名できます。
GitHub AE では、OpenPGP ライブラリを使用することで、ローカルで署名されたコミットとタグが、GitHub AE でアカウントに追加した公開鍵に対して暗号化で検証可能であることを確認します。
GPG を使ってコミットに署名し、それらのコミットを GitHub AE 上で検証済みにするには、以下の手順に従ってください:
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 上で検証済みにするには、以下の手順に従ってください:
公開鍵を GitHub AEにアップロードする必要はありません。