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"/>