WSO2 EI 6.4.0 Error No subject alternative names present
Con el producto WSO2 Enterprise Integrator versión 6.4.0 cuando se intenta conectar a un EndPoint por medio de https que tiene un certificado erróneo se presenta el siguiente error en la conexión SSL:
javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative names present
Unable to validate SSL Certificate of
Para poder evitarlo una de las opciones y bajo tu propio riesgo se puede deshabilitar la validación de hostname y la cual no esta bien documentada en el portal de WSO2, por lo cual aquí te dejo la solución:
Debes agregar al archivo ${WSO_EI_HOME}/conf/synapse.properties las siguientes líneas:
# Disable check hostname in ssl connection
keystore.trust.location=repository/resources/security/client-truststore.jks
keystore.trust.type=JKS
keystore.trust.alias=wso2carbon
keystore.trust.store.password=wso2carbon
keystore.trust.parameters=enableHostnameVerifier=false
Con ello ya no te aparecerá el problema, desconozco desde que versiones se tiene este detalle ya que en la documentación menciona como otras posibilidades (aunque no funcionan) agregar las javaoption:
-Dhttpclient.hostnameVerifier="AllowAll -Dorg.opensaml.httpclient.https.disableHostnameVerification=true -Dorg.wso2.ignoreHostnameVerification=true
Recuerda que para poder conectar a un sitio https sin un certificado de confianza también debes agregarlo al jks client-trustore del cual te dejaré otro post mas adelante.
Extract: In the Product WSO2 EI 6.4.0 to disable the hostname verify you should add this lines to ${WSO2_EI_HOME}/conf/synapse.properties
# Disable check hostname in ssl connection
keystore.trust.location=repository/resources/security/client-truststore.jks
keystore.trust.type=JKS
keystore.trust.alias=wso2carbon
keystore.trust.store.password=wso2carbon
keystore.trust.parameters=enableHostnameVerifier=false