Я должен изменить библиотеку OpenSSL на PolarSSL в моем проекте, но у меня есть некоторые проблемы.
Когда я шифрую свой сеансовый ключ с помощью функции ниже от Библиотека OpenSSL
RSA_public_encrypt((const int)session_key_len,(const unsigned char*) session_key
, (unsigned char*)encrypted_session_key, ctx->server_pubkey
, RSA_PKCS1_PADDING);
Удаленный сервер успешно авторизует меня. Но если я использую оболочку OpenSSL из Библиотека PolarSSL, Я получаю разные encrypted_session_key и удаленный сервер отказал в соединении.
Размер открытого ключа сервера RSA: 2048 бит.
Длина ключа сеанса: 64 байта.
Длина зашифрованного ключа: 256 байт.
В чем дело? Чем отличается функция RSA_public_encrypt от OpenSSL от функции rsa_pkcs1_encrypt из PolarSSL?
Я хотел бы проверить пример программы o_p_test (Я верю в программы / тест /) в PolarSSL. Он показывает шифрование PolarSSL RSA и шифрование OpenSSL рядом друг с другом.
Я считаю, что обертка OpenSSL старше и не поддерживается ..
Других решений пока нет …