Ошибка при получении смарт-картой GPG публичного подраздела
Я пытаюсь настроить смарт-карту OpenPGP с помощью YubiKey.
Это 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 <me@my.server>
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
, получившийся pubkey такой же, как если бы вы --export 22222222
(Я так понимаю, это ожидаемое поведение для подразделов), поэтому я не понимаю, почему он ищет другой ключ.
Я пытался экспортировать ключ с бронированием и без него, подтвердил, что для владельца файла установлено значение www-data:www-data
в моем сервере /var/web
,
Любые дальнейшие предложения будут оценены.
1 ответ
Я вижу нечто подобное, возможно, связанное с https://lists.gnupg.org/pipermail/gnupg-users/2015-May/053558.html ? Последнее сообщение в этой ветке, кажется, предполагает, что оно признано проблемой, но, видимо, не изменилось.
Кажется, что ключ 'General key info', в нашем случае подпись, это тот ключ, который он хочет получить.
В моем сценарии fetch
кажется успешным, но на самом деле он ничего не импортирует в мою связку ключей. Легко преодолевается ручным извлечением реального открытого ключа, но, тем не менее, раздражает.