SSL¶
Principle¶
SSL (Secure Sockets Layer) library provides APIs to create and establish an encrypted connection between a server and a client. It implements the standard SSL/TLS (Transport Layer Security) protocol that manages client or server authentication and encrypted communication. Mutual authentication is supported since SSL API 2.1.0`_.
Functional Description¶
The SSL/TLS process includes two sub-protocols :
- Handshake protocol: consists that a server presents its digital certificate to the client to authenticate the server’s identity. The authentication process uses public-key encryption to validate the digital certificate and confirm that a server is in fact the server it claims to be.
- Record protocol: after the server authentication, the client and the server establish cipher settings to encrypt the information they exchange. This provides data confidentiality and integrity.
Dependencies¶
- Network core module (see Network Core Engine).
LLNET_SSL_CONTEXT_impl.h
andLLNET_SSL_SOCKET_impl.h
implementations (see LLNET_SSL: SSL).
Installation¶
SSL is an additional module. In the platform configuration file, check
SSL
to install the module.
Use¶
The SSL API module must be added to the module.ivy of the MicroEJ Application project to use the SSL library.
<dependency org="ej.api" name="ssl" rev="2.2.0"/>