Regarding interoperability between no-asm and asm enabled

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Regarding interoperability between no-asm and asm enabled

Naveen Shivanna

I am using 'DTLS over SCTP' and the OpenSSL version is 1.1.1c.

I compiled OpenSSL with target 'linux-arm64ilp32' on armv8. GCC used is aarch64_be_linux-gnuilp32-gcc. So it is ILP32 and Big-end.

I compiled two sets of OpenSSL libraries:
1) OpenSSL with no-asm present
2) OpenSSL with no-asm absent (means, enabled the assembler instruction acceleration)

I observed that the DTLS handshake fails when the client with lib 1) and server with lib 2) are run.
When client sends the CCS, encrypted_handshake_finish_message, the server sends back the ALERT (Fatal, Illegal parameter).
At the server side, when SSL_accept() fails, thr error code is 244 (SSL_R_UNEXPECTED_MESSAGE).

Cipher used is TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

However, the handshake is success when both client and server use the same lib type, either 1) or 2).

This suggests that there is interoperability issue.

Does anyone faced this issue?