gpg: ключ ошибки импорта xxxxxxxx: нет действительных идентификаторов пользователя
Я получаю эту ошибку при импорте открытого ключа в gpg (GnuPG) 1.4.2
gpg: armor header: Version: GnuPG v2.0.14 (GNU/Linux)
gpg: pub xxxxx/xxxxxxxx 2012-05-25 abcd xyz <email@address.com>
gpg: DSA requires the use of a 160 bit hash algorithm
gpg: DSA requires the use of a 160 bit hash algorithm
gpg: key xxxxxxxx: invalid self-signature on user ID "abcd xyz <email@address.com>"
gpg: DSA requires the use of a 160 bit hash algorithm
gpg: DSA requires the use of a 160 bit hash algorithm
gpg: key xxxxxxxx: invalid subkey binding
gpg: key xxxxxxxx: skipped user ID "abcd xyz <email@address.com>"
gpg: key xxxxxxxx: skipped subkey
:pg: key xxxxxxxx: no valid user IDs
gpg: this may be caused by a missing self-signature
gpg: Total number processed: 1
gpg: w/o user IDs: 1
Даже после добавления "allow-non-selfsigned-uid" в мой файл опций. gpg говорит, что шифрование с использованием этого ключа небезопасно. Есть ли что-то, что мы должны сделать во время экспорта открытого ключа, чтобы это исправить?
4 ответа
Это также может быть конфликт версии: ключ (происходящий из gpg v2.x) может иметь некоторую особенность, которую старая версия 1.4 gpg не понимает.
(Подобные вводящие в заблуждение сообщения об ошибках выдаются, если вы пытаетесь скормить gp до 2.1 с помощью ключа эллиптической кривой, который вы можете создать, используя gpg --expert
в версии 2.1 или новее.)
gpg требует действительной подписи, выданной владельцем ключа - это важно, потому что оно связывает описание пользователя и адрес электронной почты с реальным открытым ключом; в противном случае эта информация может быть произвольно изменена. Эта самоподпись кажется сломанной, поэтому gpg отказывается использовать ключ.
gpg (GnuPG) 1.xx поддерживает только DSA1024. Однако любой ключ RSA будет работать.
Ошибка «gpg: DSA требует использования 160-битного алгоритма хэширования» будет выдана при попытке импортировать ключ DSA2048, где будут работать RSA2048 и даже RSA4096.
Чтобы проверить, соответствует ли открытый ключ версии 1.x:
> gpg --list-packet {key.pub}|grep -A2 "public sub key packet"
:public sub key packet:
version 4, algo 1, created 1560364275, expires 0
pkey[0]: [2048 bits]
Команда вернет алгоритм в первой строке, где 2 перечисленных здесь могут быть выбраны при генерации ключей (ссылка: Алгоритмы открытых ключей ).
Алгоритм идентификации
== =========
1 – RSA (шифрование или подпись) [HAC]
17 — DSA (алгоритм цифровой подписи) [FIPS186] [HAC]
Если возвращается алгоритм 17, gpg (GnuPG) 1.xx будет поддерживать только до 1024 бит (вторая строка возвращается с помощью приведенной выше команды).
Обратите внимание, что любой алгоритм любого размера поддерживается gpg (GnuPG) 2.xx.
Просто добавлю к возможным причинам случай, с которым я недавно столкнулся для любого, кто пришел из Google. Это похоже на /questions/78420/gpg-klyuch-oshibki-importa-xxxxxxxx-net-dejstvitelnyih-identifikatorov-polzovate/1153237#1153237 , но в сообщении об ошибке указано только «ключ xxxxxxxx: нет действительных идентификаторов пользователя» без каких-либо других ошибок, намекающих на «неправильный формат ключа».
Если целевой двоичный файл GPG не поддерживает тип ключа , вы получите эту ошибку. Я генерировал новый ключ на современной установке и экспортировал открытый ключ на компьютер с CentOS, на котором установлена древняя установка GPG. Переключение ключа с «ECC» по умолчанию на «RSA».