0

![ここに画像の説明を入力][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
4

1 に答える 1

0

間違いなくバージョン非対応の問題です。1 つ確かなことは、TLS が SSL の新しい名前であることです。つまり、SSL プロトコルはバージョン 3.0 になりました。TLS 1.0 は「SSL 3.1」です。現在定義されている TLS バージョンには、TLS 1.1 および 1.2 が含まれます。

また、次の wiki リンク ( http://en.wikipedia.org/wiki/Transport_Layer_Security ) は、

All TLS versions were further refined in RFC 6176 in March 2011 removing their backward compatibility with SSL such that TLS sessions will never negotiate the use of Secure Sockets Layer (SSL) version 2.0.

また、TLS と SSL の間では、MAC/HMAC が異なります (TLS は HMAC を使用しますが、SSL は以前のバージョンの HMAC を使用します)。どういうわけか、コードがまだ SSL を選択している可能性があるのではないかと疑っています。SSL を無効にして、もう一度お試しください。

于 2013-09-12T07:39:51.850 に答える