4.3.3.1 Implementing Protocols and Encryption Behavior
The Enterprise Message API’s implementation of TLS protocol and encryption depends on a number of factors including:
• The operating system you use (which in turn determines the types of protocols the Enterprise Message API can use):
- On Linux, the Enterprise Message API uses only OpenSSL.
- On Windows, the Enterprise Message API can use either WinINet or OpenSSL.
• The type of protocol you use (as specified by EncryptedProtocolType):
- WinINet (specified by EncryptedProtocolType::RSSL_HTTP), or
- OpenSSL (specified by EncryptedProtocolType::RSSL_SOCKET or EncryptedProtocolType::RSSL_WEBSOCKET).
The Enterprise Message API supports the following OpenSSL protocol versions:
• OpenSSL 1.0
• OpenSSL 1.1
• OpenSSL 3.X
By default, Enterprise Message API first attempts to load OpenSSL 3 and if it cannot, Enterprise Message API then tries OpenSSL 1.1 and then OpenSSL 1.0.
For details on the specific libraries loaded by the Enterprise Message API, refer to Section 4.3.3.2.
For OpenSSL connections, you can set the specific TLS encryption protocol you want to use in the SecurityProtocol flag (for details on setting SecurityProtocol flags, refer to the Enterprise Message API C++ Configuration Guide). Currently, TLS 1.2 and TLS 1.3 are accepted.