Problème dans la connexion au serveur XMPP configuré par StartTLS
Question
J'ai configuré Ejabberd Server pour StartTLS avec certificats CA. Vous trouverez ci-dessous la configuration:
{5222, ejabberd_c2s, [
{access, c2s},
{shaper, c2s_shaper},
starttls_required,
{certfile, "/etc/ejabberd/conf/ejabberd.pem"},
{max_stanza_size, 65536}
]},
Mon client XMPP a été développé en Java avec Smack Bibliothèque. Je veux que mon client XMPP fonctionne avec le serveur uniquement si le certificat est valide.Mais je ne suis pas capable de le faire. Vous trouverez ci-dessous mon code client 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);
Même si je fournis un certificat factice dans la fiduciaire, il effectue une connexion avec succès.
ai-je manqué quelque chose?
La solution
essayer
config.setVerifyRootCAEnabled(true);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow