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 Tools, но GPG Tools предупреждает: "Предупреждение: целостность зашифрованного файла не защищена. Без защиты целостности (отсутствие кода обнаружения модификации) невозможно определить, были ли изменены зашифрованные данные ".
Если я расшифрую файл PGP с помощью GPG Tools, а затем повторно зашифрую его в GPG, новый файл GPG отлично пройдет через мой код. Вот почему я думаю, что ошибка openpgp может быть связана с этим предупреждением MDC.
Может ли быть связана с этим ошибка openpgp.js? Если да, есть идеи, как это исправить.
1 ответ
Ваш зашифрованный файл был создан с помощью действительно старой версии протокола. Это небезопасно, поэтому, если возможно, вы должны попросить того, кто создал файл, воссоздать его с более новой версией.
В противном случае попробуйте установить
config.ignore_mdc_error=true
(где
config
это глобальная конфигурация openpgp).