StartTLS設定XMPPサーバーへの接続に問題があります
質問
STARTTLS用のEjabBerd ServerをCA証明書を設定しました。 以下は構成です:
{5222, ejabberd_c2s, [
{access, c2s},
{shaper, c2s_shaper},
starttls_required,
{certfile, "/etc/ejabberd/conf/ejabberd.pem"},
{max_stanza_size, 65536}
]},
.
My XMPPクライアントは、SMACKライブラリを使用してJavaで開発されました。 証明書が有効な場合にのみ、XMPPクライアントがサーバーを操作できるようにします。しかし、私はそれをすることができません。 以下はMy 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);
.
トラストストアにダミー証明書を提供していても、接続を成功させました。
何かを逃した?
解決
を試してください
config.setVerifyRootCAEnabled(true);
. 所属していません StackOverflow