問題の概要: 私はsslでtomcatで対称dsを実行しようとしています。セットアップの詳細 1)。 MasterNode M1:tomcatで動作します。 2)。 CleintノードC1:Tomcat上で動作します。 私はsslを使わずにtomcatでsymmetricdsを実行することができます。この設定はうまく動作し、すべての同期が行われます。 は、今私は、SSLの設定を次のようにTomcatを実行しようとしていたときに、それがクライアント・ノードにbad_certificateエラーを与える:マスターノードに設定 接続:クライアント・ノードに設定symmetricDS双方向SSLハンドシェイク(clientAuth = false)
<Connector SSLEnabled="true" acceptCount="10"
algorithm="PKIX" allowTrace="false"
ciphers=""
clientAuth="true"
enableLookups="true"
keystoreFile="/root/symmetric-server-3.8.28/security/keystore.p12"
keystorePass="[email protected]"
keystoreType="pkcs12"
port="31415"
redirectPort="-1"
scheme="https"
secure="true"
sslEnabledProtocols="TLSv1.2"
sslProtocol="TLSv1.2"
truststoreFile="/root/symmetric-server-3.8.28/security/keystore.p12"
truststorePass="[email protected]"
truststoreType="pkcs12"/>
コネクタ:
<Connector SSLEnabled="true" acceptCount="10"
algorithm="PKIX" allowTrace="false"
ciphers=""
clientAuth="true"
enableLookups="true"
keystoreFile="/root/symmetric-server-3.8.28/security/keystore2.p12"
keystorePass="[email protected]"
keystoreType="pkcs12"
port="31415"
redirectPort="-1"
scheme="https"
secure="true"
sslEnabledProtocols="TLSv1.2"
sslProtocol="TLSv1.2"
truststoreFile="/root/symmetric-server-3.8.28/security/keystore2.p12"
truststorePass="[email protected]"
truststoreType="pkcs12"/>
注:clientAuth = falseのマスターノードtomcatを実行すると、すべて正常に動作します。さらにデバッグすると、クライアントはTLSハンドシェイク中に証明書を提供していないことがわかりました。次のエラーです:SymmetricDSは3.8にbad_certificate
は、証明書は、マスターとクライアントノードのキーストアの間で交換されていますか? –
TLSハンドシェイクサーバーが証明書を提示しているが、クライアントノードが証明書を提示していない。サーバー側では、sslログには次のように書かれています。 HTTP-NIO-31415-EXEC-8、致命的なエラー:42:ヌルCERTチェーン javax.net.ssl.SSLHandshakeException:ヌルCERT鎖 %%無効化さ:[セッション-4、TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384] HTTP-NIO-31415- exec-8、SEND TLSv1.2警告:fatal、description = bad_certificate http-nio-31415-exec-8、fatal:エンジンはすでに閉じられています。 javax.net.ssl.SSLHandshakeExceptionを再発行しています:null証明書チェーン – CTJ
がクライアントのキーストアに証明書を追加しましたか? –