![введите сюда описание изображения][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)
Я проверил в своем коде включенные протоколы SSLv3, TLSv1, TLSv1.1 и TLSv1.2, используя метод getEnabledProtocols(). Я прочитал в rfc TLSv1.2, что если сервер поддерживает более низкую версию TLS, то клиент, клиент должен согласовать с более низкой версией TLS.
Но в моем случае я получаю указанное выше исключение (почему ??... этого не должно происходить и согласовать с 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