GPG 智能卡获取公共子密钥时出错

GPG 智能卡获取公共子密钥时出错

我正在尝试使用 YubiKey 设置 OpenPGP 智能卡。
它是 YubiKey 4,因此理论上应该接受 4096 位密钥,但我使用的是 2048 位子密钥。

我有一个主密钥(仅用于证书)和三个子密钥(签名、加密、身份验证),我已将它们复制到 YubiKey。

我已将公钥上传到我的网站,并在智能卡中设置了公钥的URL。

当我尝试使用 fetch 时,我收到错误,因为卡正在查找错误的公钥。示例(使用 windows 和 GPGWin):

Keys: 
11111111 - Master Key
22222222 - Signing sub
33333333 - Encrypt sub
44444444 - Auth sub

C:\gpg> gpg2 --card-status
...
URL of public key: https://my.server/pgp.key
...
General key info:  pub 2048/22222222 2016-01-09 Me <[email protected]>
sec# 4096R/11111111  created: 2016-01-09
ssb> 2048R/22222222  created: 2016-01-09
                     card-no: 0006 12345678
ssb> 2048R/33333333  created: 2016-01-09
                     card-no  0006 12345678
ssb> 2048R/44444444  created: 2016-01-09
                     card-no  0006 12345678

然后尝试从智能卡中获取:

 C:\gpg> gpg2 --card-edit
 gpg> admin
 Admin commands are allowed
 gpg> fetch
 gpg: requesting key 22222222 from https server my.server
 gpg: no valid OpenPGP data found.
 gpg: Total number processed: 0
 gpg: keyserver communications error: keyserver helper internal error
 gpg: keyserver communications error: General Error

当我运行时gpg -a --export 11111111 > pgp.key,得到的公钥和你运行的一样--export 22222222(我认为这是子钥的预期行为),所以我不清楚它为什么要寻找另一个密钥。

我尝试过导出带有和不带有装甲的密钥,并确认文件的所有权已设置www-data:www-data为我的服务器的/var/web

任何进一步的建议都将受到赞赏。

答案1

我看到了类似的东西,可能与https://lists.gnupg.org/pipermail/gnupg-users/2015-May/053558.html? 该主题中的最后一篇文章似乎表明它已被承认为一个问题,但显然没有改变。

似乎就像‘通用密钥信息’密钥一样,在我们的例子中是签名子密钥,是它想要抓取的密钥。

在我的场景中fetch 出现成功了,但实际上并没有将任何东西导入我的密钥环。通过手动获取真正的公钥可以轻松解决,但仍然很烦人。

相关内容