Problema en Conexión a StartTLS Configuró el servidor XMPP
Pregunta
He configurado Ejabberd Server para StartTLS con CERETROS DE CA. A continuación se muestra la configuración:
{5222, ejabberd_c2s, [
{access, c2s},
{shaper, c2s_shaper},
starttls_required,
{certfile, "/etc/ejabberd/conf/ejabberd.pem"},
{max_stanza_size, 65536}
]},
El cliente de My XMPP se ha desarrollado en Java utilizando Smack Library. Quiero que mi cliente XMPP funcione con el servidor solo si el certificado es válido.Pero no puedo hacerlo. A continuación se muestra mi código de cliente XMPP
ConnectionConfiguration config = new ConnectionConfiguration(host, port, serviceName);
config.setSASLAuthenticationEnabled(true);
config.setSecurityMode(ConnectionConfiguration.SecurityMode.enabled);
config.setCompressionEnabled(true);
config.setTruststorePath(trustStorePath);
config.setTruststorePassword(trustStorePwd);
config.setExpiredCertificatesCheckEnabled(true);
config.setNotMatchingDomainCheckEnabled(true);
config.setVerifyChainEnabled(true);
Incluso si proporcialo un certificado ficticio en la tienda de confianza, se está realizando con éxito.
¿He perdido algo?
Solución
try
config.setVerifyRootCAEnabled(true);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow