HTTPS

Explains how to configure HTTPS and SSL protocol options for REST API calls.

Without special settings, REST API calls occur via the HTTP protocol.

Via option -https_keystore, a KeyStore file needs to be set for the HTTPS protocol to be activated. For security reasons, HTTP gets deactivated, thus only HTTPS calls are possible. If it is intended that HTTP is activated nevertheless, the option -https_only=n must be set.

The default port for HTTPS is 8443. For another port to be chosen, it needs to be specified via -⁠https_port.

An example for such a call via HTTPS:
curl -H "@auth" -iX GET https://127.0.0.1:8443/Agents/defined/

-https_protomin=# states the lowest level of the SSL protocol that is to be used. On successful handshake, the highest protocol both sides are offering is used. If not set, all from SSL V3 to TLS1.3 is offered.

-https_protomax=# states the highest level of the SSL protocol that is to be used. On successful handshake, the highest protocol both sides are offering is used. If not set, all from the lowest level to TLS1.3 is offered.

# denotes a number from 1 to 5, which correspond to the protocol versions SSLv3, TLSv1, TLSv1.1, TLSv1.2 and TLSv1.3.

Without specification of lowest or highest protocol level, merely the highest two are activated, TLSv1.3 and TLSv1.2.

Optionally, -https_provider states a provider. If no one is set, the default provider is used. For provider handling, at least OpenSSL version 3.0.0 must be used.

By each REST API call, the following information is written to the trace (if enabled):

Protocols:

If lowest or/and highest level is stated, for example -⁠https_protomin=3:

Manually enabled SSL protocols: [TLSv1.1, TLSv1.2, TLSv1.3]

If not:

Originally enabled SSL protocols: [TLSv1.3, TLSv1.2]

The provider that is taken:

Used provider: SunJSSE