To sign commits locally, you need to inform Git that there's a GPG or X.509 key you'd like to use.
コミッタのアイデンティティと GitHub Enterprise Serverアカウントに関連付けられた検証済みのメールアドレスに一致する GPG キーを使っている場合、コミットやタグへの署名を始めることができます。
コミッターアイデンティティにマッチする GPG キーを持っていない場合、既存のキーとメールアドレスを関連付ける必要があります。 詳細は「メールを GPG キーに関連付ける」を参照してください。
複数の GPG キーを持っている場合、どれを使うかを Git に伝える必要があります。
-
ターミナルターミナルGit Bashを開いてください。
-
公開鍵と秘密鍵をどちらも持っている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
を使うように設定する必要もあります。
-
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
-
GitでGPG署名キーを設定するには、以下のテキストを使いたいGPGキーIDに置き換えて貼り付けてください。 この例では、GPG キー ID は 3AA5C34371567BD2
です。
$ git config --global user.signingkey 3AA5C34371567BD2
-
GPG スイートを使っていない場合、bash プロフィールに GPG キーを追加するために下記のテキストをペーストしてください:
$ test -r ~/.bash_profile && echo 'export GPG_TTY=$(tty)' >> ~/.bash_profile
$ echo 'export GPG_TTY=$(tty)' >> ~/.profile
メモ: .bash_profile
を持っていない場合、このコマンドで .profile
に GPG キーを追加します。
GPGではなく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をさきほどコピーしたものに置き換えて以下のテキストを貼り付けてください。
コミッタのアイデンティティと GitHub Enterprise Serverアカウントに関連付けられた検証済みのメールアドレスに一致する GPG キーを使っている場合、コミットやタグへの署名を始めることができます。
コミッターアイデンティティにマッチする GPG キーを持っていない場合、既存のキーとメールアドレスを関連付ける必要があります。 詳細は「メールを GPG キーに関連付ける」を参照してください。
複数の GPG キーを持っている場合、どれを使うかを Git に伝える必要があります。
-
ターミナルターミナルGit Bashを開いてください。
-
公開鍵と秘密鍵をどちらも持っている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
を使うように設定する必要もあります。
-
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
-
GitでGPG署名キーを設定するには、以下のテキストを使いたいGPGキーIDに置き換えて貼り付けてください。 この例では、GPG キー ID は 3AA5C34371567BD2
です。
$ git config --global user.signingkey 3AA5C34371567BD2
GPGではなく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をさきほどコピーしたものに置き換えて以下のテキストを貼り付けてください。
メモ: Linux 上の X.509 はサポートされていません。 暗号化と署名サービスを提供するために gpgsm を設定できます。ですが、現在 GitHub Enterprise Server はこれをサポートしていません。 詳しい情報については、GnuPG のドキュメンテーションの gpgsm のトピックを参照してください。
コミッタのアイデンティティと GitHub Enterprise Serverアカウントに関連付けられた検証済みのメールアドレスに一致する GPG キーを使っている場合、コミットやタグへの署名を始めることができます。
コミッターアイデンティティにマッチする GPG キーを持っていない場合、既存のキーとメールアドレスを関連付ける必要があります。 詳細は「メールを GPG キーに関連付ける」を参照してください。
複数の GPG キーを持っている場合、どれを使うかを Git に伝える必要があります。
-
ターミナルターミナルGit Bashを開いてください。
-
公開鍵と秘密鍵をどちらも持っている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
を使うように設定する必要もあります。
-
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
-
GitでGPG署名キーを設定するには、以下のテキストを使いたいGPGキーIDに置き換えて貼り付けてください。 この例では、GPG キー ID は 3AA5C34371567BD2
です。
$ git config --global user.signingkey 3AA5C34371567BD2
-
Bash プロフィールに GPG キーを追加するには、下記のテキストを貼り付けてください。
$ test -r ~/.bash_profile && echo 'export GPG_TTY=$(tty)' >> ~/.bash_profile
$ echo 'export GPG_TTY=$(tty)' >> ~/.profile
メモ: .bash_profile
を持っていない場合、このコマンドで .profile
に GPG キーを追加します。