У меня есть функция Lambda, написанная на NodeJS, которая расшифровывает файл с помощью библиотеки OpenPGP. Это работало очень хорошо в течение последних четырех месяцев, но в четверг на прошлой неделе расшифровка файлов прекратилась из-за следующей ошибки:
{ "errorType": "Ошибка", "errorMessage": "Сообщение об ошибке расшифровки: Ошибка расшифровки", "куча": [ «Ошибка: сообщение об ошибке расшифровки: ошибка расшифровки», "в /opt/node_modules/openpgp/dist/node/openpgp.min.js:2:178460", "в процессе.processTicksAndRejections (узел: внутренний/процесс/задача_очереди: 95:5)", "в async ju.decrypt (/opt/node_modules/openpgp/dist/node/openpgp.min.js:2:291018)", "в async /opt/node_modules/openpgp/dist/node/openpgp.min.js:2:345501", "в асинхронном Promise.all (индекс 0)", "в async /opt/node_modules/openpgp/dist/node/openpgp.min.js:2:344837", "в асинхронном Promise.all (индекс 0)", " в async /opt/node_modules/openpgp/dist/node/openpgp.min.js:2:344447", "в асинхронном Promise.all (индекс 0)", "в асинхронном Bh.decryptSessionKeys (/opt/node_modules/openpgp/dist/node/openpgp.min.js:2:344404)" ] }
Странно то, что когда я локально отлаживаю функцию Lambda, она все равно успешно расшифровывает файл. Я запустил функцию для файлов, которые ранее были успешно расшифрованы и больше не расшифровываются. Я запустил код, используя те же библиотеки, которые использую локально, но он все равно не работает.
Мне интересно, почему это может работать локально, но не из AWS, а также почему оно вообще перестало работать, если не было никаких изменений кода.





Кажется, он начал давать сбой, когда среда выполнения AWS Lambda обновила среду выполнения с 18.v21 до 18.v26. Если возможно, попробуйте понизить версию до 18.v21. Ссылка: https://github.com/openpgpjs/openpgpjs/discussions/1749
Мы тоже испытали это: последняя версия v18.21 была последней рабочей версией. Однако при тестировании, если вы можете перейти на среду выполнения v20, openpgp 5.11.1 работает. В библиотеке с 4.10 по 5.11 произошли некоторые существенные изменения, но шифрование и дешифрование работают в последней версии openpgp.
Спасибо, я понизил версию и настроил так, чтобы среда выполнения не обновлялась автоматически.