Service Engine supports authentication over HTTPS and it supports 3 trust levels (ALL, PUBLIC and PRIVATE) for the certificate depending on the settings at ServiceEngine.Configuration.Connection.CertificateTrustLevel:
▪ ALL, trust any server certificate.
▪ PUBLIC, trust the server certificates issued by well-known Certificate Authority (CA).
▪ PRIVATE, trust the self-signed certificates.
You should use PRIVATE trust level to enable HTTPS with self-signed certificate; PRIVATE is the recommended mode in production environment.
In PRIVATE mode, the Service Engine can support both
▪ client authentication (when KeyStore is specified)
and
▪ server authentication (when TrustStore is specified)
The SSL/TLS/HTTPS is dependant on many factors:
▪ Different Application Servers need different steps to set self-signed certificates.
▪ Different JDK use different JSSE providers, such as SunJSSE for Oracle JDK, IbmJSSE2 for IBM JDK, and others.
▪ The SSL/TLS protocol you preferred, e.g., TLS, SSLv2, and so on.
▪ The Key Store type you chose, such as jks by default
▪ The key and trust manager factory algorithms, such as PKIX, SunX509, IbmX509
▪ The cipher suites you specified, such as SHA256 families
In general, you can follow these steps to enable HTTPS with self-signed certificate.
Generate the key store
You can do this with JDK, Application Server or 3rd party tools.
Here as an example we use JDK tool to generate the key store at /yourKeyStore.keystore: