質問

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);
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top