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¶
The Net Pack bundles several libraries: Net, SSL & Security.
Refer to the chapter Pack Import to integrate a specific version of the Net Pack:
<dependencies>
<dependency org="com.microej.pack.net" name="net-pack" rev="11.0.2"/>
</dependencies>
Then, using the VEE Port Editor (see Platform Module Configuration), enable the SSL library (API, Impl & Mock):
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.3"/>