2014-01-09 3 views
1

Я настроил сервер ejabberd для StartTLS с сертификатами CA. Ниже конфигурация:Проблема при подключении к серверу XMPP с StartTLS

{5222, ejabberd_c2s, [ 

      {access, c2s}, 
      {shaper, c2s_shaper}, 
        starttls_required, 
        {certfile, "/etc/ejabberd/conf/ejabberd.pem"}, 
        {max_stanza_size, 65536} 
      ]}, 

Мой XMPP клиент был разработан в Java с использованием библиотеки Смак. Я хочу, чтобы мой клиент XMPP работал с сервером только в том случае, если сертификат действителен. Но я не в состоянии это сделать. Ниже мой 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); 

Даже если я предоставить справку манекена в доверенное хранилище он успешно делает соединение.

Я что-то пропустил?

ответ

Смежные вопросы