Problem
Currently, the Azure IoT SDK-C maintains a compatibility stub for OpenSSL < 3.0 in the SDK itself (see PR #2724):
- File: \compat_stubs/csr_gen_openssl_stub.c\
- Linked from: \CMakeLists.txt\ (line ~395)
This stub is needed because \EVP_EC_gen()\ was added in OpenSSL 3.0, which affects cross-compile environments (ARM/MIPS Docker images) still using OpenSSL 1.0.2 or 1.1.1.
Root Cause
The actual implementation (\csr_gen_openssl.c) already exists in azure-c-shared-utility (upstream dependency). The stub should be part of that library, not duplicated in this SDK.
Expected Work
- Move \compat_stubs/csr_gen_openssl_stub.c\ to \�dapters/\ in azure-c-shared-utility
- Update azure-c-shared-utility's CMakeLists.txt to conditionally use the stub when \OPENSSL_VERSION_NUMBER < 0x30000000L\
- Remove the stub and conditional compilation from azure-iot-sdk-c CMakeLists.txt (line ~390-404)
- Update azure-iot-sdk-c's dependency on azure-c-shared-utility to point to the version containing the fix
Related PR
See: https://github.com/Azure/azure-iot-sdk-c/pull/2724/files
Problem
Currently, the Azure IoT SDK-C maintains a compatibility stub for OpenSSL < 3.0 in the SDK itself (see PR #2724):
This stub is needed because \EVP_EC_gen()\ was added in OpenSSL 3.0, which affects cross-compile environments (ARM/MIPS Docker images) still using OpenSSL 1.0.2 or 1.1.1.
Root Cause
The actual implementation (\csr_gen_openssl.c) already exists in azure-c-shared-utility (upstream dependency). The stub should be part of that library, not duplicated in this SDK.
Expected Work
Related PR
See: https://github.com/Azure/azure-iot-sdk-c/pull/2724/files