我正在使用PgpCore nuget软件包进行PGP加密和解密。
我遇到的情况如下,我使用EncryptAndSign
方法加密文件,如下所示。
using (PGP pgp = new PGP())
{
pgp.EncryptFileAndSign(fileNameToEncrypt, outputFileName, _publicKey, _privateKey, _passPhrase);
}
然后,我按如下所述使用Decrypt
方法解密加密的文件。
using (PGP pgp = new PGP())
{
pgp.DecryptFile(fileNameToDecrypt, outputFileName, _privateKey, _passPhrase);
}
这是我收到错误消息“找不到消息的秘密密钥。”。
我怀疑这两种方法可能使用了PrivateKey和PublicKey错误,更改或使用了不同的值。
因此,我在一个使用私钥和公钥的名为PGP Tool的应用程序中进行了加密过程,并将文件路径写入上述descrypt方法的inputFile参数。解密过程成功了。
PublicKey和PrivateKey是由API所有者公司提供给我的,用于与其API进行通信。所以我不生成这些键,两个值都是用恒定的方式定义的。
谢谢。