Lorsqu’on accède à certains services internes à une entreprise ou pour des environnements hors production, les certificats sont valides dans le système mais pas dans le trustStore par défaut de Java.

La première solution est d’ajouter les certificats racine dans le trustStore de Java présent dans le $JAVA_HOME/lib/security/cacerts avec le mot de passe changeit.

La deuxième solution est d’utiliser le truststore du système. Sous Windows, on peut injecter le truststore système en ajoutant dans les options de la JVM les configurations suivantes :

-Djavax.net.ssl.trustStore=NUL
-Djavax.net.ssl.trustStoreType=Windows-ROOT

Sous macOS, la commande suivante peut potentiellement fonctionner :

-Djavax.net.ssl.trustStore=/Library/Keychains/System.keychain
-Djavax.net.ssl.trustStoreType=KeychainStore