<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi everyone,<div><br></div><div>I'm currently trying to find out, where could come from this error : </div><div><br></div><div><div>=ERROR REPORT==== 23-Jul-2012::11:03:56 ===</div><div>SSL: certify: ssl_record.erl:654:Fatal error: bad record mac</div></div><div><br></div><div>The SSL function where it is coming from is decipher: </div><div><br></div><div>---------------------------------- ssl_record.erl ---------------------------------------------</div><div><div><br></div><div>decipher(TLS=#ssl_tls{type=Type, version=Version, fragment=Fragment}, CS0) -></div><div> SP = CS0#connection_state.security_parameters,</div><div> BCA = SP#security_parameters.bulk_cipher_algorithm, </div><div> HashSz = SP#security_parameters.hash_size,</div><div> CipherS0 = CS0#connection_state.cipher_state,</div><div> case ssl_cipher:decipher(BCA, HashSz, CipherS0, Fragment, Version) of</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>{T, Mac, CipherS1} -></div><div><span class="Apple-tab-span" style="white-space:pre"> </span> CS1 = CS0#connection_state{cipher_state = CipherS1},</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> TLength = size(T),</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> {MacHash, CS2} = hash_and_bump_seqno(CS1, Type, Version, TLength, T),</div><div><span class="Apple-tab-span" style="white-space:pre"> </span> case is_correct_mac(Mac, MacHash) of</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>true -><span class="Apple-tab-span" style="white-space:pre"> </span> </div><div><span class="Apple-tab-span" style="white-space:pre"> </span> {TLS#ssl_tls{fragment = T}, CS2};</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>false -></div><div><span class="Apple-tab-span" style="white-space:pre"> </span> ?ALERT_REC(?FATAL, ?BAD_RECORD_MAC) <b><i>%%<-------- HERE</i></b></div><div><span class="Apple-tab-span" style="white-space:pre"> </span> end;</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>#alert{} = Alert -></div><div><span class="Apple-tab-span" style="white-space:pre"> </span> Alert</div><div> end.</div></div><div>----------------------------------------------------------------------------------------------------</div><div><br></div><div>I'm not really sure if this error is happening at handshake, or read.</div><div>The thing is, the error is <b>only</b> coming only from users connecting from a BlackBerry device (Can't know which OS version, I suppose it comes from rather old devices).</div><div><br></div><div>If there is nothing I can't do server-side, does anyone could point out how to handle the error, in order to close cleanly the connection ?</div><div><br></div><div>Regards,</div><div><br></div><div>Morgan.</div></body></html>