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

Git へ署名キーを伝える

ローカルでコミットに署名するには、使用する GPG または X.509 キーがあることを Git に知らせる必要があります。

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

Git へ GPG キーを伝える

コミッタのアイデンティティと GitHub AEアカウントに関連付けられた検証済みのメールアドレスに一致する 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. If you aren't using the GPG suite, run the following command in the zsh shell to add the GPG key to your .zshrc file, if it exists, or your .zprofile file:

    $ if [ -r ~/.zshrc ]; then echo 'export GPG_TTY=$(tty)' >> ~/.zshrc; \
      else echo 'export GPG_TTY=$(tty)' >> ~/.zprofile; fi

    Alternatively, if you use the bash shell, run this command:

    $ if [ -r ~/.bash_profile ]; then echo 'export GPG_TTY=$(tty)' >> ~/.bash_profile; \
      else echo 'export GPG_TTY=$(tty)' >> ~/.profile; fi

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 AEアカウントに関連付けられた検証済みのメールアドレスに一致する 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 AE はこれをサポートしていません。 詳しい情報については、GnuPG のドキュメンテーションの gpgsm のトピックを参照してください。

Git へ GPG キーを伝える

コミッタのアイデンティティと GitHub AEアカウントに関連付けられた検証済みのメールアドレスに一致する 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. To add your GPG key to your bash profile, run the following command:

    $ if [ -r ~/.bash_profile ]; then echo 'export GPG_TTY=$(tty)' >> ~/.bash_profile; \
      else echo 'export GPG_TTY=$(tty)' >> ~/.profile; fi

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

参考リンク

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.