GPG キーを使用してコミットに署名する
IntelliJ IDEA は、Git の組み込み GPG コミット署名(英語)機能に依存しています。 最高のエクスペリエンスを得るには、パスフレーズプロンプトを処理するためのグラフィカルインターフェースを備えた gpg2 パッケージを使用することをお勧めします。
環境を構成する
GPG サポートを設定する
次のいずれかを実行します。
最新の GitForWindows(英語) バージョンをダウンロードしてインストールします(バージョン 2.19.2 以降が必要です)。 事前設定された GPG はパッケージの一部です。
すべてが正しく設定されていることを確認するには、GitBash を開き、
gpgconfコマンドを実行して、出力が次のようになっていることを確認します。gpg:OpenGPG:/usr/bin/gpg gpg-agent:Private Keys:/usr/bin/gpg-agent scdaemon:Smartcards:/usr/lib/gnupg/scdaemon gpgsm:S/MIME:/usr/bin/gpgsm dirmngr:Network:/usr/bin/dirmngr pinentry:Passphrase Entry:/usr/bin/pinentryecho GETPIN | pinentryコマンドを実行して、ピンエントリに GUI プロンプトが表示されることを確認します。Gpg4Win(英語) パッケージをダウンロードしてインストールし、次の手順を実行して、
git config gpg.programがパッケージのgpg.exeファイルを指していることを確認します。where.exe gpgを実行します。出力が複数の実行可能ファイルを返す場合は、Gpg4Win から 1 つを見つけます(デフォルトでは、パスは C:\Program Files (x86)\GnuPG\bin\gpg.exe です)。
git config --global gpg.program "path/to/gpg/from/Gpg4Win"を実行します。
GPG サポートを設定する
次のいずれかを実行します。
GPGTools(英語) をダウンロードしてインストールします。 事前設定された GPG はパッケージの一部です。
git config gpg.programがパッケージの gpg ファイルを指していることを確認してください(デフォルトでは、パスは /usr/local/MacGPG2/bin/gpg です)。Homebrew(英語) をダウンロードして開き、次のコマンドを実行します:
brew install gnupg pinentry-macすべてが正しくセットアップされていることを確認するには、ターミナルを開き、
gpgconfコマンドを実行して、出力が次のようになっていることを確認します。pg:OpenGPG:/usr/local/MacGPG2/bin/gpg gpg-agent:Private Keys:/usr/local/MacGPG2/bin/gpg-agent scdaemon:Smartcards:/usr/local/MacGPG2/libexec/scdaemon gpgsm:S/MIME:/usr/local/MacGPG2/bin/gpgsm dirmngr:Network:/usr/local/MacGPG2/bin/dirmngr pinentry:Passphrase Entry:/usr/local/bin/pinentryecho GETPIN | pinentry-macコマンドを実行して、ピンエントリに GUI プロンプトが表示されることを確認します。
GPG サポートを設定する
gpg2を Linux ディストリビューション付属のパッケージマネージャーでインストールすることができる。 使用するディストリビューションによって必要なパッケージの一覧は異なるが、特に重要なのは gnupg2 、 gnupg-agent 、そして GUI プロンプトを表示する pinentry である。例: Ubuntu/Debian で、
sudo apt -y install gnupg2 gnupg-agent pinentry-gnome3を実行します。すべてが正しくセットアップされていることを確認するには、ターミナルを開き、
gpgconfコマンドを実行して、出力が次のようになっていることを確認します。gpg:OpenPGP:/usr/bin/gpg gpg-agent:Private Keys:/usr/bin/gpg-agent scdaemon:Smartcards:/usr/lib/gnupg/scdaemon gpgsm:S/MIME:/usr/bin/gpgsm dirmngr:Network:/usr/bin/dirmngr pinentry:Passphrase Entry:/usr/bin/pinentryecho GETPIN | pinentryコマンドを使用して、 pinentry が GUI プロンプトを表示することを確認してください。
GPG キーを設定する
最も安全な方法は、スマートカード (Yubikey(英語) など) を使用してキーの秘密部分を保存することです。 Yubikey のセットアップの詳細については、「YubiKey-Guide(英語) 」を参照してください。
GPG キーをインポートする
すでに GPG キーをお持ちの場合は、それぞれの GPG キーリングにインポートする必要があります。
ターミナル / コマンドプロンプト /GitBash/ システム上にあるその他のシェル を開き、次のコマンドを実行します:
gpg --import <path to your private gpg.key>
GPG キーを生成する
キーがまだない場合は、新しいペアを生成する必要があります。
ターミナル / コマンドプロンプト /GitBash/ システム上にあるその他のシェル を開き、次のコマンドを実行します:
gpg --full-generate-key(pgp 2.1.17 以下の場合は、gpg --gen-keyコマンドを使用します)。ツールが返す質問に答えます。 推奨される選択肢は次のとおりです。
キーの種類: RSA
キーサイズ: 少なくとも 4096 ビット
主要な有効期間: 1 年 (キーを 1 年に 1 回回転させることをお勧めします)
ユーザー ID 情報を入力します。 コミットの作成者として表示されているものと同じユーザー名とメールアドレスを使用することをお勧めします。 メールアドレスのプライバシー機能と一緒に署名を使用する場合は、GitHubnoreply メールアドレスを指定してください。
安全なパスフレーズを入力します。 このようなプロンプトには GUI を使用することが重要であるため、コマンドラインではなくポップアップするダイアログに必ず入力してください。
次のコマンドを実行して、キーがインポートされていることを確認します:
gpg --list-keys
コミット署名を有効にする
コミット署名を有効にする前に、まず GPG キーが設定されていることを確認してください。
IntelliJ IDEA を起動します(または、IntelliJ IDEA を再起動して、環境に加えた変更がロードされることを確認します)。
設定 ダイアログ(Ctrl+Alt+S )で、 バージョン管理 | Git に移動し、 GPG キーの構成 ボタンをクリックします。
開いたダイアログで、 GPG キーでコミットに署名する をクリックし、使用するキーをリストから選択します。
これで、すべてのコミットが選択したキーで署名されるようになります。 GPG 署名の状態は、ログタブのコミットの詳細ペインに表示されます。
アカウントに GPG キーを追加する
使用している Git ホスティングが GPG 署名の検証をサポートしている場合は、そこにキーの公開部分をアップロードしてください。
指示に従ってください