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

jww*_*jww 4 filesystems gnupg windows-10 kleopatra

我在 Windows 10 专业版上查找 Kleopatra 创建的 GPG 密钥非常费劲。第一个密钥由 Thunderbird 和 Enigmail 使用。第二个密钥由 Git 用于提交签名。这些按键在 Kleopatra GUI 中显示良好。

Thunderbird 和 Enigmail 键工作正常。我整个星期都在签名、加密和验证。Git 密钥是新的,但我无法使用它们,因为我不知道它们位于哪里。

Kleopatra 不显示或没有文件路径设置,例如 gpg.conf 或 secring.gpg。我发现的最接近的是《克利奥帕特拉》的关键细节,只说“本地”。

这些密钥不位于~/.gnupg(来自 Git Bash 终端):

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

DESKTOP-P8D3DKA MINGW64 ~/.gnupg
$
Run Code Online (Sandbox Code Playgroud)

这些密钥的位置并不%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
$
Run Code Online (Sandbox Code Playgroud)

我还将 Kleopatra 放在Process Explorer下,但我没有看到它访问密钥环(尽管它显示了公司员工的 220 多个密钥)。

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

我的第二个问题是,克利奥帕特拉钥匙在哪里?(我想将提交签名密钥移入,~/.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
Run Code Online (Sandbox Code Playgroud)

小智 5

通过Process Monitor进行跟踪显示 Kleopatragpg-agent.exe通过 TCP 进行通信。这就是为什么你看不到克利奥帕特拉访问钥匙圈本身。

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

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

虽然可以调整 gpg 以使用不同的主目录,但恕我直言,最简单的解决方案是让 git 使用 Gpg4win 附带的 gpg.exe,而不是与 MinGW 捆绑的 gpg.exe。在 Windows 上为 Git 配置 GPG中对此进行了描述:

git config --global gpg.program "C:\Program Files (x86)\GnuPG\bin\gpg.exe"
Run Code Online (Sandbox Code Playgroud)