Ключи API пользователя должны использовать填充 OAEP

Вступаю в разговор без подготовки, но эта ошибка кажется некорректной. Это не функция, которая была удалена в Node, а проблема с некоторыми установками OpenSSL. Согласно документации Node:

Использование crypto.constants.RSA_PKCS1_PADDING в crypto.privateDecrypt() требует, чтобы OpenSSL поддерживал неявное отклонение (rsa_pkcs1_implicit_rejection).

См. также [Bug]: RSA_PKCS1_PADDING is no longer supported for private decryption · Issue #487 · bropat/eufy-security-client · GitHub

При локальном тестировании у меня это работает: An example of RSA Encryption implemented in Node.js · GitHub, даже когда я переключаюсь на использование crypto.constants.RSA_PKCS1_PADDING для отступов как при шифровании, так и при расшифровке. У меня OpenSSL 3.4.0 и Node 23.6.1.

Сложность использования настройки сайта заключается в том, что клиенты не будут знать, какой тип отступов поддерживает конкретный экземпляр. Это усложняет понимание совместимости между экземплярами/сервисами.

Я думаю, нам следует уточнить существующую реализацию, то есть явно указать, что мы используем RSA_PKCS1_PADDING, а затем подумать о модернизации. Возможно, нам потребуется ввести версионирование для этой конечной точки, чтобы клиенты могли корректно использовать нужный тип отступов до и после указанной версии.

2 лайка