1. ホーム
  2. Git

gpg: "xxx" をスキップ: 秘密鍵のための1つの解決策が利用できない

2022-02-15 10:07:37
<パス

今日、秘密鍵を使ってタグに署名をする勉強をしていたら、問題にぶつかった。以下の通りです。

gpg: skipped "xxx": secret key not available
gpg: signing failed: No secret key
error: gpg failed to sign the tag
error: unable to sign the tag

<イグ

GnuPGもインストールされており、gpgの秘密鍵が生成されています。ググってみたら、解決策が見つかりました。エラーの原因は、gitが使用するgpgプログラムの場所とsigningkeyが設定されていないことです。

解決方法 Git Bashターミナルでgpgプログラムの場所とsigningkeyを設定します。

-------- gpgプログラムの場所を設定する --------
1. 1. まず、GnuPGのインストールディレクトリにあるgpg2.exeのパスを探します。デフォルトはC: \Program Files (x86)\GNUGnuPG です。

2. gpg.programの場所を設定します。
$ git config -global gpg.program "C:\Program Files (x86)♪GNUGnuPG ♪gpg2.exe"

-------- 署名キーの設定 ------

1. Windowsのコマンドターミナルでgpg -list-keysと実行し、署名鍵を確認します。

pub 2048R/F08971B8 2017-05-02
uid [ultimate] xxxx (GPG key for xxx) <[email protected]>
sub 2048R/F08971B8 2017-05-02
   The signing key is F08971B8.


   The signing key is F08971B8.


2. Git Bashで設定します。
$ git config user.signingkey F08971B8

3. 上記の2つのステップを設定すると、問題は解決します。