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

Git へ署名キーを伝える

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

Git へ GPG キーを伝える

コミッタのアイデンティティと GitHubアカウントに関連付けられた検証済みのメールアドレスに一致する 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 を使うように設定する必要もあります。

  1. 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 hubot@example.comssb 4096R/42B317FD4BA89E7A 2016-03-10

  1. GPG 署名キーを Git に設定するには、以下のテキストの GPG キー ID を使いたいものに置き換えてペーストしてください。この例では、GPG キー ID は 3AA5C34371567BD2 です。

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

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

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

Telling Git about your X.509 key

You can use smimesign to sign commits and tags using S/MIME instead of GPG.

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

  1. Install smimesign.

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

  3. Configure Git to use S/MIME to sign commits and tags. In Git 2.19 or later, use the git config gpg.x509.program and git config gpg.format commands:

  1. If you're not using an X.509 key that matches your commiter identity, list X.509 keys for which you have both a certificate and private key using the smimesign --list-keys command.

    $ smimesign --list-keys
  2. From the list of X.509 keys, copy the certificate ID of the X.509 key you'd like to use. In this example, the certificate ID is 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. To set your X.509 signing key in Git, paste the text below, substituting in the certificate ID you copied earlier.

Git へ GPG キーを伝える

コミッタのアイデンティティと GitHubアカウントに関連付けられた検証済みのメールアドレスに一致する 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 を使うように設定する必要もあります。

  1. 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 hubot@example.comssb 4096R/42B317FD4BA89E7A 2016-03-10

  1. GPG 署名キーを Git に設定するには、以下のテキストの GPG キー ID を使いたいものに置き換えてペーストしてください。この例では、GPG キー ID は 3AA5C34371567BD2 です。

    $ git config --global user.signingkey 3AA5C34371567BD2

Telling Git about your X.509 key

You can use smimesign to sign commits and tags using S/MIME instead of GPG.

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

  1. Install smimesign.

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

  3. Configure Git to use S/MIME to sign commits and tags. In Git 2.19 or later, use the git config gpg.x509.program and git config gpg.format commands:

  1. If you're not using an X.509 key that matches your commiter identity, list X.509 keys for which you have both a certificate and private key using the smimesign --list-keys command.

    $ smimesign --list-keys
  2. From the list of X.509 keys, copy the certificate ID of the X.509 key you'd like to use. In this example, the certificate ID is 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. To set your X.509 signing key in Git, paste the text below, substituting in the certificate ID you copied earlier.

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

Git へ GPG キーを伝える

コミッタのアイデンティティと GitHubアカウントに関連付けられた検証済みのメールアドレスに一致する 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 を使うように設定する必要もあります。

  1. 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 hubot@example.comssb 4096R/42B317FD4BA89E7A 2016-03-10

  1. GPG 署名キーを Git に設定するには、以下のテキストの GPG キー ID を使いたいものに置き換えてペーストしてください。この例では、GPG キー ID は 3AA5C34371567BD2 です。

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

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

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

参考リンク

担当者にお尋ねください

探しているものが見つからなかったでしょうか?

弊社にお問い合わせください