![masukkan deskripsi gambar di sini][1] ![masukkan deskripsi gambar di sini][2] ![masukkan deskripsi gambar di sini][3]
Saya mencoba membuat koneksi aman antara klien dan server. Klien mendukung TLSv1.2 dan Server mendukung TLSv1.0. Namun mendapatkan pengecualian "javax.net.ssl.SSLException: data MAC tidak cocok".
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)
Saya memeriksa kode saya, protokol yang diaktifkan adalah SSLv3, TLSv1, TLSv1.1 dan TLSv1.2 menggunakan metode getEnabledProtocols(). Saya telah membaca di rfc TLSv1.2 bahwa jika server mendukung TLS versi lebih rendah maka klien, klien harus bernegosiasi dengan TLS versi lebih rendah.
Namun dalam kasus saya, saya mendapatkan pengecualian di atas. (mengapa ??... itu tidak boleh terjadi dan bernegosiasi dengan TLSv1).
CATATAN : Selain itu, jika saya menetapkan protokol yang diaktifkan sebagai TLSv1 saja, maka saya dapat membuat koneksi TLS.
Tolong bantu saya. Terima kasih
[1]: http://i.stack.imgur.com/RC4Ha.jpg
[2]: http://i.stack.imgur.com/rjXjq.jpg
[3]: http://i.stack.imgur.com/WIRvF.jpg