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

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2020-11-12. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの改善、新機能のためには、最新バージョンのGitHub Enterpriseにアップグレードしてください。 アップグレードに関する支援については、GitHub Enterprise supportに連絡してください。

Git へ署名キーを伝える

To sign commits locally, you need to inform Git that there's a GPG or X.509 key you'd like to use.

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

Git へ GPG キーを伝える

コミッタのアイデンティティと GitHub Enterprise Serverアカウントに関連付けられた検証済みのメールアドレスに一致する GPG キーを使っている場合、コミットやタグへの署名を始めることができます。

コミッターアイデンティティにマッチする GPG キーを持っていない場合、既存のキーとメールアドレスを関連付ける必要があります。 詳細は「メールを GPG キーに関連付ける」を参照してください。

複数の GPG キーを持っている場合、どれを使うかを Git に伝える必要があります。

  1. ターミナルターミナルGit Bashを開いてください。

  2. 公開鍵と秘密鍵をどちらも持っているGPGキーのリストを表示するには、 gpg --list-secret-keys --keyid-format LONGコマンドを使ってください。 コミットやタグに署名するには秘密鍵が必要です。

    $ gpg --list-secret-keys --keyid-format LONG

    ノート:LinuxのGPG環境の中には、既存のキーのリストを表示させるためにgpg2 --list-keys --keyid-format LONGとしなければならないものもあります。 この場合、git config --global gpg.program gpg2と実行してGitがgpg2を使うように設定する必要もあります。

  3. GPGキーのリストから、使いたいGPGキーIDをコピーしてください。 この例では、GPG キー ID は 3AA5C34371567BD2 です。

    $ gpg --list-secret-keys --keyid-format LONG
    /Users/hubot/.gnupg/secring.gpg
    ------------------------------------
    sec   4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10]
    uid                          Hubot 
    ssb   4096R/42B317FD4BA89E7A 2016-03-10
  4. GitでGPG署名キーを設定するには、以下のテキストを使いたいGPGキーIDに置き換えて貼り付けてください。 この例では、GPG キー ID は 3AA5C34371567BD2 です。

    $ git config --global user.signingkey 3AA5C34371567BD2
  5. GPG スイートを使っていない場合、bash プロフィールに GPG キーを追加するために下記のテキストをペーストしてください:

    $ test -r ~/.bash_profile && echo 'export GPG_TTY=$(tty)' >> ~/.bash_profile
    $ echo 'export GPG_TTY=$(tty)' >> ~/.profile

    メモ: .bash_profile を持っていない場合、このコマンドで .profile に GPG キーを追加します。

Git にX.509 キーについて知らせる

GPGではなくS/MIMEを使ってコミットやタグに署名するために、smimesignを使うことができます。

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

  1. smimesignをインストールしてください。
  2. ターミナルターミナルGit Bashを開いてください。
  3. コミットやタグの署名にS/MIMEを使うようGitを設定してください。 Git 2.19以降では、git config gpg.x509.program及びgit config gpg.formatコマンドを使ってください。
  • すべてのリポジトリへの署名にS/MIMEを使うには以下のようにします。
    $ git config --global gpg.x509.program smimesign
    $ git config --global gpg.format x509
  • 1つのリポジトリへの署名にS/MIMEを使うには以下のようにします。
    $ cd /path/to/my/repository
    $ git config --local gpg.x509.program smimesign
    $ git config --local gpg.format x509
    Git 2.18以前では、git config gpg.programコマンドを使ってください。
  • すべてのリポジトリへの署名にS/MIMEを使うには以下のようにします。
    $ git config --global gpg.program smimesign
  • 1つのリポジトリへの署名にS/MIMEを使うには以下のようにします。
    $ cd /path/to/my/repository
    $ git config --local gpg.program smimesign
    自分のコミッタアイデンティティにマッチにするX.509キーを使っているなら、コミットやタグへの署名を始められます。
  1. コミッタアイデンティティにマッチしているX.509キーを使っていないなら、smimesign --list-keysコマンドを使って証明書と秘密鍵の両方を持っているX.509キーのリストを取ってください。
    $ smimesign --list-keys
  2. X.509キーのリストから、使いたいX.509キーの証明書IDをコピーしてください。 以下の例では、証明書IDは0ff455a2708394633e4bb2f88002e3cd80cbd76fです。
    $ smimesign --list-keys
                 ID: 0ff455a2708394633e4bb2f88002e3cd80cbd76f
                S/N: a2dfa7e8c9c4d1616f1009c988bb70f
          Algorithm: SHA256-RSA
           Validity: 2017-11-22 00:00:00 +0000 UTC - 2020-11-22 12:00:00 +0000 UTC
             Issuer: CN=DigiCert SHA2 Assured ID CA,OU=www.digicert.com,O=DigiCert Inc,C=US
            Subject: CN=Octocat,O=GitHub\, Inc.,L=San Francisco,ST=California,C=US
             Emails: octocat@github.com
  3. X.509署名キーをGitに設定するには、証明書IDをさきほどコピーしたものに置き換えて以下のテキストを貼り付けてください。
  • すべてのリポジトリへの署名にX.509キーを使うには以下のようにします。
    $ git config --global user.signingkey 0ff455a2708394633e4bb2f88002e3cd80cbd76f
  • 1つのリポジトリへの署名にX.509キーを使うには以下のようにします。
    $ cd /path/to/my/repository
    $ git config --local user.signingkey 0ff455a2708394633e4bb2f88002e3cd80cbd76f

Git へ GPG キーを伝える

コミッタのアイデンティティと GitHub Enterprise Serverアカウントに関連付けられた検証済みのメールアドレスに一致する GPG キーを使っている場合、コミットやタグへの署名を始めることができます。

コミッターアイデンティティにマッチする GPG キーを持っていない場合、既存のキーとメールアドレスを関連付ける必要があります。 詳細は「メールを GPG キーに関連付ける」を参照してください。

複数の GPG キーを持っている場合、どれを使うかを Git に伝える必要があります。

  1. ターミナルターミナルGit Bashを開いてください。

  2. 公開鍵と秘密鍵をどちらも持っているGPGキーのリストを表示するには、 gpg --list-secret-keys --keyid-format LONGコマンドを使ってください。 コミットやタグに署名するには秘密鍵が必要です。

    $ gpg --list-secret-keys --keyid-format LONG

    ノート:LinuxのGPG環境の中には、既存のキーのリストを表示させるためにgpg2 --list-keys --keyid-format LONGとしなければならないものもあります。 この場合、git config --global gpg.program gpg2と実行してGitがgpg2を使うように設定する必要もあります。

  3. GPGキーのリストから、使いたいGPGキーIDをコピーしてください。 この例では、GPG キー ID は 3AA5C34371567BD2 です。

    $ gpg --list-secret-keys --keyid-format LONG
    /Users/hubot/.gnupg/secring.gpg
    ------------------------------------
    sec   4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10]
    uid                          Hubot 
    ssb   4096R/42B317FD4BA89E7A 2016-03-10
  4. GitでGPG署名キーを設定するには、以下のテキストを使いたいGPGキーIDに置き換えて貼り付けてください。 この例では、GPG キー ID は 3AA5C34371567BD2 です。

    $ git config --global user.signingkey 3AA5C34371567BD2

Git にX.509 キーについて知らせる

GPGではなくS/MIMEを使ってコミットやタグに署名するために、smimesignを使うことができます。

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

  1. smimesignをインストールしてください。
  2. ターミナルターミナルGit Bashを開いてください。
  3. コミットやタグの署名にS/MIMEを使うようGitを設定してください。 Git 2.19以降では、git config gpg.x509.program及びgit config gpg.formatコマンドを使ってください。
  • すべてのリポジトリへの署名にS/MIMEを使うには以下のようにします。
    $ git config --global gpg.x509.program smimesign
    $ git config --global gpg.format x509
  • 1つのリポジトリへの署名にS/MIMEを使うには以下のようにします。
    $ cd /path/to/my/repository
    $ git config --local gpg.x509.program smimesign
    $ git config --local gpg.format x509
    Git 2.18以前では、git config gpg.programコマンドを使ってください。
  • すべてのリポジトリへの署名にS/MIMEを使うには以下のようにします。
    $ git config --global gpg.program smimesign
  • 1つのリポジトリへの署名にS/MIMEを使うには以下のようにします。
    $ cd /path/to/my/repository
    $ git config --local gpg.program smimesign
    自分のコミッタアイデンティティにマッチにするX.509キーを使っているなら、コミットやタグへの署名を始められます。
  1. コミッタアイデンティティにマッチしているX.509キーを使っていないなら、smimesign --list-keysコマンドを使って証明書と秘密鍵の両方を持っているX.509キーのリストを取ってください。
    $ smimesign --list-keys
  2. X.509キーのリストから、使いたいX.509キーの証明書IDをコピーしてください。 以下の例では、証明書IDは0ff455a2708394633e4bb2f88002e3cd80cbd76fです。
    $ smimesign --list-keys
                 ID: 0ff455a2708394633e4bb2f88002e3cd80cbd76f
                S/N: a2dfa7e8c9c4d1616f1009c988bb70f
          Algorithm: SHA256-RSA
           Validity: 2017-11-22 00:00:00 +0000 UTC - 2020-11-22 12:00:00 +0000 UTC
             Issuer: CN=DigiCert SHA2 Assured ID CA,OU=www.digicert.com,O=DigiCert Inc,C=US
            Subject: CN=Octocat,O=GitHub\, Inc.,L=San Francisco,ST=California,C=US
             Emails: octocat@github.com
  3. X.509署名キーをGitに設定するには、証明書IDをさきほどコピーしたものに置き換えて以下のテキストを貼り付けてください。
  • すべてのリポジトリへの署名にX.509キーを使うには以下のようにします。
    $ git config --global user.signingkey 0ff455a2708394633e4bb2f88002e3cd80cbd76f
  • 1つのリポジトリへの署名にX.509キーを使うには以下のようにします。
    $ cd /path/to/my/repository
    $ git config --local user.signingkey 0ff455a2708394633e4bb2f88002e3cd80cbd76f

メモ: Linux 上の X.509 はサポートされていません。 暗号化と署名サービスを提供するために gpgsm を設定できます。ですが、現在 GitHub Enterprise Server はこれをサポートしていません。 詳しい情報については、GnuPG のドキュメンテーションの gpgsm のトピックを参照してください。

Git へ GPG キーを伝える

コミッタのアイデンティティと GitHub Enterprise Serverアカウントに関連付けられた検証済みのメールアドレスに一致する GPG キーを使っている場合、コミットやタグへの署名を始めることができます。

コミッターアイデンティティにマッチする GPG キーを持っていない場合、既存のキーとメールアドレスを関連付ける必要があります。 詳細は「メールを GPG キーに関連付ける」を参照してください。

複数の GPG キーを持っている場合、どれを使うかを Git に伝える必要があります。

  1. ターミナルターミナルGit Bashを開いてください。

  2. 公開鍵と秘密鍵をどちらも持っているGPGキーのリストを表示するには、 gpg --list-secret-keys --keyid-format LONGコマンドを使ってください。 コミットやタグに署名するには秘密鍵が必要です。

    $ gpg --list-secret-keys --keyid-format LONG

    ノート:LinuxのGPG環境の中には、既存のキーのリストを表示させるためにgpg2 --list-keys --keyid-format LONGとしなければならないものもあります。 この場合、git config --global gpg.program gpg2と実行してGitがgpg2を使うように設定する必要もあります。

  3. GPGキーのリストから、使いたいGPGキーIDをコピーしてください。 この例では、GPG キー ID は 3AA5C34371567BD2 です。

    $ gpg --list-secret-keys --keyid-format LONG
    /Users/hubot/.gnupg/secring.gpg
    ------------------------------------
    sec   4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10]
    uid                          Hubot 
    ssb   4096R/42B317FD4BA89E7A 2016-03-10
  4. GitでGPG署名キーを設定するには、以下のテキストを使いたいGPGキーIDに置き換えて貼り付けてください。 この例では、GPG キー ID は 3AA5C34371567BD2 です。

    $ git config --global user.signingkey 3AA5C34371567BD2
  5. Bash プロフィールに GPG キーを追加するには、下記のテキストを貼り付けてください。

    $ test -r ~/.bash_profile && echo 'export GPG_TTY=$(tty)' >> ~/.bash_profile
    $ echo 'export GPG_TTY=$(tty)' >> ~/.profile

    メモ: .bash_profile を持っていない場合、このコマンドで .profile に GPG キーを追加します。

参考リンク