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

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):

Net Pack Modules

Net Pack Modules

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