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?

Était-ce utile?

La solution

essayer

config.setVerifyRootCAEnabled(true);

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top