Suite à l’installation de WSO2IS 5.9.0 pour un client nous avons été confronté au problème suivant : le nom de domaine d’accès à l’Active Directory contenait un tiret du bas “_”
Ce tiret dans le nom de domaine pose un soucis lors de l’accès à l’Active Directory (ou LDAP) via SSL/TLS, ce qui génère l’erreur suivante :
« Caused by: java.security.cert.CertificateException: Illegal given domain name: some.domaine_name.local
atjava.base/sun.security.util.HostnameChecker.matchDNS(HostnameChecker.java:188)
atjava.base/sun.security.util.HostnameChecker.match(HostnameChecker.java:98)
atjava.base/sun.security.ssl.X509TrustManagerImpl.checkIdentity(X509TrustManagerImpl.java:459)
atjava.base/sun.security.ssl.X509TrustManagerImpl.checkIdentity(X509TrustManagerImpl.java:429)
atjava.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229)
atjava.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:129)
atjava.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:629)
… 96 more
Caused by: java.lang.IllegalArgumentException: Contains non-LDH ASCII characters/em>
Pour corriger cette erreur, nous disposons de 2 options :
- Changer le nom de domaine du serveur et régénérer les certificats (pas possible pour le client)
- Désactiver la vérification des certificats fournis par le serveur de l’Active Directory (ou LDAP)
Nous allons donc voir comment réaliser ce second point.
Tout d’abord, nous devons stopper WSO2IS :
Puis dans le fichier wso2server.sh situé dans {WSO2IS_HOME}/bin, ajouter la ligne suivante :
-Dcom.sun.jndi.ldap.object.disableEndpointIdentification=true \s
Après, la ligne :
-Dcarbon.new.config.dir.path="$CARBON_HOME/repository/resources/conf" \
Enfin, nous pouvons redémarrer WSO2IS :
systemctl stop wso2is-5.9.0
Nathan Jaunet