Я использую гем gpgme
, но в настоящее время сталкиваюсь с этой проблемой, когда пытаюсь расшифровать файл, используя мой секретный ключ, и он выдает эту ошибку
GPGME::Error::NoSecretKey: No secret key
В моемкод, когда я делаю это gpg2 --list-secret-keys
, я получаю это
/home/kingsley/.gnupg/pubring.kbx
---------------------------------
sec rsa4096 2018-12-10 [SC]
55684566559279F41FC95DDD50391DD8D8AFA
uid [ unknown] Dev Street (PGP key) <dev@email.com.my>
ssb rsa4096 2018-12-10 [E]
и gpg2 --list-keys
дает мне это
/home/kingsley/.gnupg/pubring.kbx
---------------------------------
pub rsa4096 2018-12-10 [SC]
55684566559279F41FC95DDD50391DD8D8AFA
uid [ unknown] Dev Street (PGP key) <dev@email.com.my>
sub rsa4096 2018-12-10 [E]
Чтобы расшифровать файл, я делаю следующее
crypto = GPGME::Crypto.new
options = {:recipients => 'dev@email.com.my', pinentry_mode: GPGME::PINENTRY_MODE_LOOPBACK, password: 'password'}
cipthertext = GPGME::Data.new(File.open('/test_file.txt.gpg'))
crypto.decrypt cipthertext, options
Я не уверен, что это как-то связано с разницей между gpg1 и gpg2 или это проблема с gpg-agent, но я совершенно не понимаю, как решить эту проблему в данный момент.