我在解密 .gpg 文件时遇到错误。我已经通过以下方法导入了公钥。
$gpg --import key1.asc
directory `/user_home/.gnupg' created
gpg: new configuration file
`/user_home/.gnupg/gpg.conf' created
gpg: WARNING: options in `/user_home/.gnupg/gpg.conf' are not yet active during this
run
gpg: keyring `/user_home/.gnupg/secring.gpg' created
gpg: keyring `/user_home/.gnupg/pubring.gpg' created
gpg: /user_home/.gnupg/trustdb.gpg: trustdb created
gpg: key 3CDDKLPD: public key imported
gpg: Total number processed: 1
gpg:imported: 1 (RSA: 1)
$gpg --import key2.asc
gpg: key 4F23B654: public key imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
$gpg --list-public-keys
/user_home/.gnupg/pubring.gpg
pub 2048R/3CDDKLPD
uid
pub 2048R/4F23B654
uid
$gpg --decrypt myfile.txt.gpg
gpg: encrypted with 2048-bit RSA key, ID 4F23B654, created 2010-07-11
gpg: decryption failed: No secret keykey
但是发生了这个错误,有人能帮忙确定为什么会发生这种情况吗?我将不胜感激。
答案1
他们应该加密发送给你解密的文件你的公钥,你应该加密文件,以便他们解密他们的公钥。看来他们用他们的公钥而不是你的公钥来加密文件,所以由于你没有他们的私钥,所以你无法解密这些文件。
我会联系他们并要求他们确认他们已经导入了你的公钥并将其重新发送给他们,向他们显示你上面发布的详细信息,并要求他们使用你的公钥对其进行加密,然后重新发送以供你再次尝试解密。
如果您正在测试以确保您可以使用私钥解密文件,那么请使用您自己的公钥加密测试文件,而不是使用您没有相关私钥来解密的其他人的公钥,这就是此类密钥对加密/解密的工作方式。
你导入他们的公钥,在将文件发送给他们之前用此公钥加密文件
$gpg --import key2.asc
gpg: key 4F23B654: public key imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
你正在解密他们发送给你的文件,但收到一条错误消息,指出你确实有密钥对来解锁此文件,因为他们使用他们的公钥而不是你的公钥对其进行了加密。只有他们才能解锁/解密使用他们的公钥加密的文件,这就是为什么你可以与任何人共享公钥的原因。
$gpg --decrypt myfile.txt.gpg
gpg: encrypted with 2048-bit RSA key, ID 4F23B654, created 2010-07-11
gpg: decryption failed: No secret key