![在此处输入图像描述][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。我在 TLSv1.2 rfc 中读到,如果服务器支持较低版本的 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