我如何在 php gnupg 中 handle/see 私钥?

How can I handle/see Private Keys in php gnupg?

我正在使用 PHP 的 gnupg pecl 扩展,并希望构建一个简单的密钥管理器。 导入 Public 以及私钥都在工作。但是获取有关它们的信息似乎被破坏了,或者还有一些我找不到的其他选项。关键信息方法

$gnupg->keyinfo('');

returns 一个列表,其中每个键都列为 public 键。并且始终标有 "can_sign = true",即使从未导入过私钥。 如果我导入一个 public 密钥,并为不同的 uid 导入另一个私钥。我列出了 2 个键,都为 public,并且都为 can_sign.

如何查看哪个密钥是私有的,以及如何查看密钥是否真的可以用于签名?

我附上了位置 0 上的密钥仅为 public,位置 2 上的密钥仅为私有的。
即使我导入了 Private 和 public 密钥,我也只看到一个 public 密钥。

这是 PECL gnupg 扩展中的错误。自 2016 年以来已知,在他们的代码中得到修复,但截至 2019 年 10 月,没有发布带有该修复的版本。 https://github.com/php-gnupg/php-gnupg/issues/5