我正在使用gem 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问题,但对于目前如何解决此问题完全感到困惑。