Solved

SSL v3 handshake error:  bad_record_mac

Posted on 2006-06-14
4
2,529 Views
Last Modified: 2012-05-05
I am developing a Java client application to work with a web server.  Everything was fine until the server was changed to strictly use the ssl v3 protocol.  During the handshaking, I now get a bad_record_mac error during the handshake's final stage.

From the ssl log:

main, WRITE: SSLv3 Change Cipher Spec, length = 1
*** Finished
verify_data:  { 103, 120, 75, 207, 55, 129, 35, 51, 184, 41, 70, 157, 27, 177, 2
05, 106, 79, 118, 93, 206, 248, 35, 80, 85, 214, 168, 197, 232, 64, 190, 102, 93
, 134, 188, 148, 138 }
***
main, WRITE: SSLv3 Handshake, length = 56
main, READ: SSLv3 Alert, length = 2
main, RECV SSLv3 ALERT:  fatal, bad_record_mac

The "change cipher spec" above appears to be successful from the server.  The problem seems to be that the client is not successfully processing its final "change cipher spec."
0
Comment
Question by:don2347
4 Comments
 
LVL 30

Accepted Solution

by:
Mayank S earned 500 total points
ID: 16910061
Are you trying to make a call before a response has come back to the previous call or accessing the same socket in multiple threads, trying to do read/ write simulatenously? If so, don't do it.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
java. non-English characters encoding problem. intellij idea 3 73
ArrayIndexOutOfBoundException 9 66
Java Jpanels and Jframe 8 28
object oriented programming comparison 5 52
Java contains several comparison operators (e.g., <, <=, >, >=, ==, !=) that allow you to compare primitive values. However, these operators cannot be used to compare the contents of objects. Interface Comparable is used to allow objects of a cl…
Introduction Java can be integrated with native programs using an interface called JNI(Java Native Interface). Native programs are programs which can directly run on the processor. JNI is simply a naming and calling convention so that the JVM (Java…
Viewers will learn about if statements in Java and their use The if statement: The condition required to create an if statement: Variations of if statements: An example using if statements:
The viewer will learn how to implement Singleton Design Pattern in Java.

929 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now