Git へ GPG キーを伝える
コミッター ID と、your GitHub Enterprise Server instance でのアカウントに関連付けられた検証済みのメール アドレスに一致する GPG キーを使っている� �合、コミットやタグへの署名を始めることができます。
コミッターアイデンティティにマッチする GPG キーを持っていない� �合、既存のキーとメールアドレスを関連付ける必要があります。 詳細については、「メールと GPG キーの関連付け 」を参照してく� さい。
複数の GPG キーを持っている� �合、どれを使うかを Git に伝える必要があります。
[ターミナル] [ターミナル] [Git Bash] を開きます。 1. 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
``` 1. 公開キーと秘密キーの両方がある GPG キーを長い形式で一覧表示するには、`gpg --list-secret-keys --keyid-format=long` コマンドを使用します。 コミットやタグに署名するには秘密鍵が必要です。
```shell{:copy}
$ gpg --list-secret-keys --keyid-format=long
注: Linux での一部の GPG インストールには、代わりに既存のキーの一覧を表示するには、gpg2 --list-keys --keyid-format LONG
の使用が必要となる� �合があります。 この� �合、git config --global gpg.program gpg2
を実行して gpg2
を使用するには、Git を構成する必要もあります。
1. GPGキーのリストから、使いたいGPGキーIDの長い形式をコピーしてく� さい。 この例では、GPG キー ID は `3AA5C34371567BD2` です。
```shell{:copy}
$ 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
``` 1. Git でプライマリ GPG 署名キーを設定するには、以下のテキストを貼り付けて、使いたいプライマリ GPG キー ID に置き換えます。 この例では、GPG キー ID は `3AA5C34371567BD2` です。
$ git config --global user.signingkey 3AA5C34371567BD2
または、サブキーを設定するときは、`!` サフィックスを含めます。 この例の GPG サブキー ID は `4BB6D45482678BE3` です。
$ git config --global user.signingkey 4BB6D45482678BE3 !
1. Optionally, to configure Git to sign all commits by default, enter the following command:
$ git config --global commit.gpgsign true
For more information, see "Signing commits ."
GPG スイートを使用していない� �合は、zsh
シェルで次のコマンドを実行して、存在する� �合は .zshrc
ファイル、または .zprofile
ファイルに GPG キーを追� します。
$ if [ -r ~/.zshrc ]; then echo 'export GPG_TTY=$(tty)' >> ~/.zshrc; \
else echo 'export GPG_TTY=$(tty)' >> ~/.zprofile; fi
または、bash
シェルを使用する� �合は、次のコマンドを実行します。
$ if [ -r ~/.bash_profile ]; then echo 'export GPG_TTY=$(tty)' >> ~/.bash_profile; \
else echo 'export GPG_TTY=$(tty)' >> ~/.profile; fi
必要に応じて、PIN またはパスフレーズの入力を求めるメッセージを表示するには、pinentry-mac
をインストールします。 たとえば、Homebrew を使用すると、次のようになります。
$ brew install pinentry-mac
$ echo "pinentry-program $(which pinentry-mac)" >> ~/.gnupg/gpg-agent.conf
$ killall gpg-agent
Git へ GPG キーを伝える
コミッター ID と、your GitHub Enterprise Server instance でのアカウントに関連付けられた検証済みのメール アドレスに一致する GPG キーを使っている� �合、コミットやタグへの署名を始めることができます。
コミッターアイデンティティにマッチする GPG キーを持っていない� �合、既存のキーとメールアドレスを関連付ける必要があります。 詳細については、「メールと GPG キーの関連付け 」を参照してく� さい。
複数の GPG キーを持っている� �合、どれを使うかを Git に伝える必要があります。
[ターミナル] [ターミナル] [Git Bash] を開きます。 1. 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
``` 1. 公開キーと秘密キーの両方がある GPG キーを長い形式で一覧表示するには、`gpg --list-secret-keys --keyid-format=long` コマンドを使用します。 コミットやタグに署名するには秘密鍵が必要です。
```shell{:copy}
$ gpg --list-secret-keys --keyid-format=long
注: Linux での一部の GPG インストールには、代わりに既存のキーの一覧を表示するには、gpg2 --list-keys --keyid-format LONG
の使用が必要となる� �合があります。 この� �合、git config --global gpg.program gpg2
を実行して gpg2
を使用するには、Git を構成する必要もあります。
1. GPGキーのリストから、使いたいGPGキーIDの長い形式をコピーしてく� さい。 この例では、GPG キー ID は `3AA5C34371567BD2` です。
```shell{:copy}
$ 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
``` 1. Git でプライマリ GPG 署名キーを設定するには、以下のテキストを貼り付けて、使いたいプライマリ GPG キー ID に置き換えます。 この例では、GPG キー ID は `3AA5C34371567BD2` です。
$ git config --global user.signingkey 3AA5C34371567BD2
または、サブキーを設定するときは、`!` サフィックスを含めます。 この例の GPG サブキー ID は `4BB6D45482678BE3` です。
$ git config --global user.signingkey 4BB6D45482678BE3 !
1. Optionally, to configure Git to sign all commits by default, enter the following command:
$ git config --global commit.gpgsign true
For more information, see "Signing commits ."
Git へ GPG キーを伝える
コミッター ID と、your GitHub Enterprise Server instance でのアカウントに関連付けられた検証済みのメール アドレスに一致する GPG キーを使っている� �合、コミットやタグへの署名を始めることができます。
コミッターアイデンティティにマッチする GPG キーを持っていない� �合、既存のキーとメールアドレスを関連付ける必要があります。 詳細については、「メールと GPG キーの関連付け 」を参照してく� さい。
複数の GPG キーを持っている� �合、どれを使うかを Git に伝える必要があります。
[ターミナル] [ターミナル] [Git Bash] を開きます。 1. 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
``` 1. 公開キーと秘密キーの両方がある GPG キーを長い形式で一覧表示するには、`gpg --list-secret-keys --keyid-format=long` コマンドを使用します。 コミットやタグに署名するには秘密鍵が必要です。
```shell{:copy}
$ gpg --list-secret-keys --keyid-format=long
注: Linux での一部の GPG インストールには、代わりに既存のキーの一覧を表示するには、gpg2 --list-keys --keyid-format LONG
の使用が必要となる� �合があります。 この� �合、git config --global gpg.program gpg2
を実行して gpg2
を使用するには、Git を構成する必要もあります。
1. GPGキーのリストから、使いたいGPGキーIDの長い形式をコピーしてく� さい。 この例では、GPG キー ID は `3AA5C34371567BD2` です。
```shell{:copy}
$ 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
``` 1. Git でプライマリ GPG 署名キーを設定するには、以下のテキストを貼り付けて、使いたいプライマリ GPG キー ID に置き換えます。 この例では、GPG キー ID は `3AA5C34371567BD2` です。
$ git config --global user.signingkey 3AA5C34371567BD2
または、サブキーを設定するときは、`!` サフィックスを含めます。 この例の GPG サブキー ID は `4BB6D45482678BE3` です。
$ git config --global user.signingkey 4BB6D45482678BE3 !
1. Optionally, to configure Git to sign all commits by default, enter the following command:
$ git config --global commit.gpgsign true
For more information, see "Signing commits ."
GPG キーを .bashrc
スタートアップ ファイルに追� するには、次のコマンドを実行します。
$ [ -f ~/.bashrc ] && echo 'export GPG_TTY=$(tty)' >> ~/.bashrc
Git にX.509 キーについて知らせる
S/MIME を使ってコミットをタグに署名するには、smimesign を使います。
注: S/MIME 署名の検証は、Git 2.19 以降で利用できます。 git の最新バージョンを入手するには、Git の Web サイトを参照してく� さい。
smimesign をインストールします。
[ターミナル] [ターミナル] [Git Bash] を開きます。
コミットやタグの署名に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キーを使っているなら、コミットやタグへの署名を始められます。
コミッター アイデンティティと一致する X.509 キーを使っていない� �合は、smimesign --list-keys
コマンドを使って証明書と秘密鍵の両方を持っている X.509 キーのリストを表示します。
$ smimesign --list-keys
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
X.509署名キーをGitに設定するには、証明書IDをさきほどコピーしたものに置き換えて以下のテキストを貼り付けてく� さい。
関連� �目