Thunderbird+Enigmail+Kleopatra 键的文件系统位置?

Thunderbird+Enigmail+Kleopatra 键的文件系统位置?

我花了好长时间才找到 Kleopatra 在 Windows 10 专业版上创建的 GPG 密钥。第一个密钥由 Thunderbird 和 Enigmail 使用。第二个密钥由 Git 用于提交签名。密钥在 Kleopatra GUI 中显示正常。

Thunderbird 和 Enigmail 密钥工作正常。我整周都在签名、加密和验证。Git 密钥是新的,但我一直无法使用它们,因为我不知道它们位于何处。

Kleopatra 不显示或设置文件路径,如 gpg.conf 或 secring.gpg。我发现最接近的是 Kleopatra 密钥详细信息,它只显示“本地”。

密钥不位于~/.gnupg(从 Git Bash 终端):

DESKTOP-P8D3DKA MINGW64 ~/.gnupg
$ gpg --list-keys

DESKTOP-P8D3DKA MINGW64 ~/.gnupg
$

%APPDATA%钥匙不在我的 GnuPG 密钥存储在哪里?Windows XP 中的密钥环位置在哪里

DESKTOP-P8D3DKA MINGW64 ~/.gnupg
$ find "C:\\Users\\Jeff W\\AppData" -name '*.gpg'

C:\Users\Jeff W\AppData/Roaming/gnupg/trustdb.gpg

DESKTOP-P8D3DKA MINGW64 ~/.gnupg
$

我也把克利奥帕特拉放在进程探索器我没有看到它访问钥匙圈(尽管它显示了公司员工的 220 多把钥匙)。

我的第一个问题是,为什么配置信息被隐藏,而不是突出显示?(这个问题已经存在 10 多年了。有足够的机会来解决它)。

我的第二个问题是,Kleopatra 密钥在哪里?(我想将提交签名密钥移进去,~/.gnupg以便 Git 可以使用它)。


可能有帮助:

$ gpg --version
gpg (GnuPG) 1.4.22
...

Home: ~/.gnupg
Supported algorithms:
Pubkey: RSA, RSA-E, RSA-S, ELG-E, DSA
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
        CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2

$ ls ~/.gnupg/
gpg.conf  pubring.gpg  secring.gpg  trustdb.gpg

答案1

追踪进程监控揭示了 Kleopatragpg-agent.exe通过 TCP 与 a 进行通信。这就是为什么你看不到 Kleopatra 访问密钥环本身。

所有 Gpg4win 工具都会%APPDATA%\GnuPG按照Gpg4win 文档, 章节个人用户设置。所以,这不是什么秘密。但是,作为示例给出的扩展适用于 Win7。在 Win10 中,这现在转换为C:\Users\<user>\AppData\Roaming\gnupg

git 使用的 MinGW 有自己的生态系统,不幸的是 MinGW 附带的 gpg 使用不同的主目录。从打印输出中可以看到,该 gpg 的主目录在Win10 下~/.gnupg转换为。C:\Users\<user>\.gnupg

虽然可以调整 gpg 以使用不同的主目录,但在我看来,最简单的解决方案是让 git 使用 Gpg4win 附带的 gpg.exe,而不是 MinGW 捆绑的那个。这在在 Windows 上为 Git 配置 GPG

git config --global gpg.program "C:\Program Files (x86)\GnuPG\bin\gpg.exe"

相关内容