Я пытаюсь, чтобы мой интерфейс и сервер взаимодействовали с парами закрытых ключей, используя JS на интерфейсе с https://github.com/vibornoff/asmcrypto.js, и PHP на бэкэнде с PHP openssl
библиотека.
asmcrypto
имеет некоторые функции для шифрования, такие как: asmCrypto.RSA_OAEP_SHA1.encrypt()
, Он также имеет asmCrypto.RSA_OAEP_SHA256.encrypt()
что я считаю более безопасным, но PHP хочет расшифровать только с опцией OPENSSL_PKCS1_OAEP_PADDING
, который работает только для SHA1
, и не SHA256
,
Кроме того, кажется, что openssl_public_decrypt()
а также openssl_private_encrypt()
не хватает OPENSSL_PKCS1_OAEP_PADDING
, и не будет работать с этой опцией вообще, только OPENSSL_PKCS1_PADDING
а также OPENSSL_NO_PADDING
Я понимаю, что оба они небезопасны.
OpenSSL является своего рода стандартным инструментом для многих систем шифрования, поэтому я не могу представить, что они отсутствуют в этом наборе инструментов. Разве это не реализовано в PHP? Есть ли другая библиотека, в которой они есть, без использования библиотеки PHP, которая выполняет все вычисления?
Задача ещё не решена.
Других решений пока нет …