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 :

  1. Changer le nom de domaine du serveur et régénérer les certificats (pas possible pour le client)
  2. 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 :

 

systemctl stop wso2is-5.9.0

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