gpg: «секретный ключ недоступен», когда ключ sec & pub находится в keyring

Я получил файл, зашифрованный открытым ключом, который я сгенерировал, но я не могу его расшифровать.

шаги:

  1. gpg key-gen умолчанию gpg key-gen
  2. gpg --export -a <email> > pub.key
  3. отправил pub.key
  4. получил зашифрованный файл
  5. cat <file> | gpg

Ошибка:

 $ cat cred.gpg | gpg gpg: key 71980D35: secret key without public key - skipped gpg: encrypted with RSA key, ID 0D54A10A gpg: decryption failed: secret key not available 

Тем не менее, секретный ключ существует в моем keyring, и открытый ключ, который я генерирую из него, соответствует отпечатку паб-файла, который я отправил моему коллеге.

 $ gpg --list-secret-keys /home/jcope/.gnupg/secring.gpg ------------------------------ sec 2048R/71980D35 2016-03-04 uid me <email> ssb 2048R/0D54A10A 2016-03-04 

Проверка отпечатка пальца

  $ gpg --with-fingerprint pub.key pub 2048R/AF0A97C5 2016-03-04 me <email> Key fingerprint = 17A4 63BF 5A7D D3B2 C10F 15C0 EDD6 4D8A AF0A 97C5 sub 2048R/1103CA7C 2016-03-04 $ gpg --fingerprint | grep 17a4 -i Key fingerprint = 17A4 63BF 5A7D D3B2 C10F 15C0 EDD6 4D8A AF0A 97C5 

Я новичок в gpg и не понимаю, почему это не работает. Это похоже на самую стандартную операцию.

  • Скопированы ключи GPG, не работают
  • gnupg: Получение ошибок при попытке gpg -gen-key
  • Как импортировать секретный ключ gpg (скопированный с одного компьютера на другой)?
  • Как создать отпечатанную подпись GPG с отпечатками (в конечном итоге в базе 16)?
  • Автоматическое шифрование Emacs и gpg
  • Может ли emacs использовать gpg-agent в терминале вообще?
  • Использование GPG для дешифрования зашифрованных файлов Symantec PGP?
  • CentOS - изменить пароль файла GPG по сценарию bash
  • One Solution collect form web for “gpg: «секретный ключ недоступен», когда ключ sec & pub находится в keyring”

    Обратите внимание на сообщение об ошибке: он не говорит, что секретный ключ отсутствует (это не так), он говорит, что открытый ключ отсутствует.

    gpg: key 71980D35: секретный ключ без открытого ключа - skipped

    В RSA некоторые числа (d, p, q, u) являются частными, а другие (n, e) являются общедоступными. Для шифрования и проверки подписи требуются только 2 общедоступных номера, в то время как все 6 номеров требуются для дешифрования и подписи. Поэтому для последних операций вам действительно нужны как секретные, так и открытые ключи.

    Не удалось ли публичный ключ удалить из pubring ?

    Вы можете попробовать повторно импортировать открытый ключ. Поскольку открытый ключ является широко распространенным, он должен быть легко получить его копию.

    Linux и Unix - лучшая ОС в мире.