尝试使用gpgme gem解密gpg密钥时,GPGME错误NoSecretKey

时间:2019-02-04 09:53:01

标签: gnupg openpgp gpgme gpg-agent

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

0 个答案:

没有答案