如何解决OpenPGP.js-收到错误:“解密错误消息:会话密钥解密失败”
以下是一些使用openpgp.js的代码:
const privKeyObj = (await openpgp.key.readArmored(privkey)).keys[0];
await privKeyObj.decrypt(passphrase);
options = {
message: await openpgp.message.readArmored(encryptedData),privateKeys: [privKeyObj]
};
let decrypted = await openpgp.decrypt(options)
当我使用PGP文件运行代码时,出现以下错误:“错误解密消息:会话密钥解密失败。”
我可以使用GPG工具解密文件,但是GPG工具警告:“警告:加密文件未受到完整性保护。没有完整性保护(缺少修改检测代码),就无法确定加密数据是否已被修改。”
如果我使用GPG工具解密PGP文件,然后在GPG中对其进行重新加密,那么新的GPG文件将在我的代码中正常运行。这就是为什么我认为openpgp错误可能与该MDC警告有关。
此openpgp.js错误可能与此有关吗?如果是这样,任何想法如何解决。
解决方法
您的加密文件是由该协议的旧版本创建的。它是不安全的,因此,如果可能的话,您应该请求创建文件的人重新创建具有最新版本的文件。
否则,请尝试设置config.ignore_mdc_error=true
(其中config
是全局openpgp config)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。