![ここに画像の説明を入力][1] ![ここに画像の説明を入力][2] ![ここに画像の説明を入力][3]
クライアントとサーバーの間に安全な接続を作成しようとしています。クライアントは TLSv1.2 をサポートしており、サーバーは TLSv1.0 をサポートしています。しかし、「javax.net.ssl.SSLException: MAC データが一致しません」という例外が発生します。
here is the printstacktrace :
javax.net.ssl.SSLException: MAC data does not match.
at com.rsa.sslj.x.aJ.b(Unknown Source)
at com.rsa.sslj.x.aJ.a(Unknown Source)
at com.rsa.sslj.x.aJ.a(Unknown Source)
at com.rsa.sslj.x.aU.c(Unknown Source)
at com.rsa.sslj.x.aU.a(Unknown Source)
at com.rsa.sslj.x.aU.h(Unknown Source)
at com.rsa.sslj.x.cI.startHandshake(Unknown Source)
at com.sun.jndi.ldap.ext.StartTlsResponseImpl.startHandshake(StartTlsResponseImpl.java:361)
at com.sun.jndi.ldap.ext.StartTlsResponseImpl.negotiate(StartTlsResponseImpl.java:225)
at com.cisco.ccm.admin.utilities.LdapUtil.validateHost(LdapUtil.java:383)
at com.cisco.ccm.admin.utilities.LdapUtil.validateHost(LdapUtil.java:289)
getEnabledProtocols() メソッドを使用して、有効なプロトコルが SSLv3、 TLSv1 、 TLSv1.1 、および TLSv1.2 であることをコードで確認しました。サーバーが下位バージョンの TLS をサポートしている場合、クライアントは下位バージョンの TLS とネゴシエートする必要があることを TLSv1.2 rfc で読みました。
しかし、私の場合、上記の例外が発生します (なぜ ??... 発生して TLSv1 とネゴシエートするべきではありません)。
注 : また、有効なプロトコルを TLSv1 のみに設定すると、TLS 接続を作成できます。
私を助けてください。ありがとう
[1]: http://i.stack.imgur.com/RC4Ha.jpg
[2]: http://i.stack.imgur.com/rjXjq.jpg
[3]: http://i.stack.imgur.com/WIRvF.jpg