Skip to main content

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2022-10-12. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの向上、新機能の向上を図るために、最新バージョンの GitHub Enterprise にアップグレードします。 アップグレードに関するヘルプについては、GitHub Enterprise サポートにお問い合わせく� さい

Telling Git about your signing key

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

Telling Git about your GPG key

If you're using a GPG key that matches your committer identity and your verified email address associated with your account on your GitHub Enterprise Server instance, then you can begin signing commits and signing tags.

If you don't have a GPG key that matches your committer identity, you need to associate an email with an existing key. For more information, see "Associating an email with your GPG key".

If you have multiple GPG keys, you need to tell Git which one to use.

  1. [ターミナル][ターミナル][Git Bash] を開きます。

  2. If you have previously configured Git to use a different key format when signing with --gpg-sign, unset this configuration so the default format of openpgp will be used.

    $ git config --global --unset gpg.format
    
  3. 公開キーと秘密キーの両方がある GPG キーを長い形式で一覧表示するには、gpg --list-secret-keys --keyid-format=long コマンドを使用します。 コミットやタグに署名するには秘密鍵が必要です。

    Shell
    $ gpg --list-secret-keys --keyid-format=long

    注: Linux での一部の GPG インストールには、代わりに既存のキーの一覧を表示するには、gpg2 --list-keys --keyid-format LONG の使用が必要となる� �合があります。 この� �合、git config --global gpg.program gpg2 を実行して gpg2 を使用するには、Git を構成する必要もあります。

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

    Shell
    $ gpg --list-secret-keys --keyid-format=long
    /Users/hubot/.gnupg/secring.gpg
    ------------------------------------
    sec   4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10]
    uid                          Hubot <hubot@example.com>
    ssb   4096R/42B317FD4BA89E7A 2016-03-10
  5. Git でプライマリ GPG 署名キーを設定するには、以下のテキストを貼り付けて、使いたいプライマリ GPG キー ID に置き換えます。 この例では、GPG キー ID は 3AA5C34371567BD2 です。

    $ git config --global user.signingkey 3AA5C34371567BD2

    または、サブキーを設定するときは、! サフィックスを含めます。 この例の GPG サブキー ID は 4BB6D45482678BE3 です。

    $ git config --global user.signingkey 4BB6D45482678BE3!
  6. 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
  7. Optionally, to prompt you to enter a PIN or passphrase when required, install pinentry-mac. For example, using Homebrew:

    $ brew install pinentry-mac
    $ echo "pinentry-program $(which pinentry-mac)" >> ~/.gnupg/gpg-agent.conf
    $ killall gpg-agent

Telling Git about your GPG key

If you're using a GPG key that matches your committer identity and your verified email address associated with your account on your GitHub Enterprise Server instance, then you can begin signing commits and signing tags.

If you don't have a GPG key that matches your committer identity, you need to associate an email with an existing key. For more information, see "Associating an email with your GPG key".

If you have multiple GPG keys, you need to tell Git which one to use.

  1. [ターミナル][ターミナル][Git Bash] を開きます。

  2. If you have previously configured Git to use a different key format when signing with --gpg-sign, unset this configuration so the default format of openpgp will be used.

    $ git config --global --unset gpg.format
    
  3. 公開キーと秘密キーの両方がある GPG キーを長い形式で一覧表示するには、gpg --list-secret-keys --keyid-format=long コマンドを使用します。 コミットやタグに署名するには秘密鍵が必要です。

    Shell
    $ gpg --list-secret-keys --keyid-format=long

    注: Linux での一部の GPG インストールには、代わりに既存のキーの一覧を表示するには、gpg2 --list-keys --keyid-format LONG の使用が必要となる� �合があります。 この� �合、git config --global gpg.program gpg2 を実行して gpg2 を使用するには、Git を構成する必要もあります。

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

    Shell
    $ gpg --list-secret-keys --keyid-format=long
    /Users/hubot/.gnupg/secring.gpg
    ------------------------------------
    sec   4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10]
    uid                          Hubot <hubot@example.com>
    ssb   4096R/42B317FD4BA89E7A 2016-03-10
  5. Git でプライマリ GPG 署名キーを設定するには、以下のテキストを貼り付けて、使いたいプライマリ GPG キー ID に置き換えます。 この例では、GPG キー ID は 3AA5C34371567BD2 です。

    $ git config --global user.signingkey 3AA5C34371567BD2

    または、サブキーを設定するときは、! サフィックスを含めます。 この例の GPG サブキー ID は 4BB6D45482678BE3 です。

    $ git config --global user.signingkey 4BB6D45482678BE3!

Telling Git about your GPG key

If you're using a GPG key that matches your committer identity and your verified email address associated with your account on your GitHub Enterprise Server instance, then you can begin signing commits and signing tags.

If you don't have a GPG key that matches your committer identity, you need to associate an email with an existing key. For more information, see "Associating an email with your GPG key".

If you have multiple GPG keys, you need to tell Git which one to use.

  1. [ターミナル][ターミナル][Git Bash] を開きます。

  2. If you have previously configured Git to use a different key format when signing with --gpg-sign, unset this configuration so the default format of openpgp will be used.

    $ git config --global --unset gpg.format
    
  3. 公開キーと秘密キーの両方がある GPG キーを長い形式で一覧表示するには、gpg --list-secret-keys --keyid-format=long コマンドを使用します。 コミットやタグに署名するには秘密鍵が必要です。

    Shell
    $ gpg --list-secret-keys --keyid-format=long

    注: Linux での一部の GPG インストールには、代わりに既存のキーの一覧を表示するには、gpg2 --list-keys --keyid-format LONG の使用が必要となる� �合があります。 この� �合、git config --global gpg.program gpg2 を実行して gpg2 を使用するには、Git を構成する必要もあります。

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

    Shell
    $ gpg --list-secret-keys --keyid-format=long
    /Users/hubot/.gnupg/secring.gpg
    ------------------------------------
    sec   4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10]
    uid                          Hubot <hubot@example.com>
    ssb   4096R/42B317FD4BA89E7A 2016-03-10
  5. Git でプライマリ GPG 署名キーを設定するには、以下のテキストを貼り付けて、使いたいプライマリ GPG キー ID に置き換えます。 この例では、GPG キー ID は 3AA5C34371567BD2 です。

    $ git config --global user.signingkey 3AA5C34371567BD2

    または、サブキーを設定するときは、! サフィックスを含めます。 この例の GPG サブキー ID は 4BB6D45482678BE3 です。

    $ git config --global user.signingkey 4BB6D45482678BE3!
  6. To add your GPG key to your .bashrc startup file, run the following command:

    $ [ -f ~/.bashrc ] && echo 'export GPG_TTY=$(tty)' >> ~/.bashrc
    

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

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.programgit 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

Further reading