导致FF生成SSL_ERROR_BAD_MAC_READ的原因是什么?

时间:2011-05-27 07:56:49

标签: firefox ssl

我们有一个Web应用程序,有时请求会被不定期地破坏,只有使用Firefox浏览器才会出现错误:

SSL_ERROR_BAD_MAC_READ 
-12273 
"SSL received a record with an incorrect Message Authentication Code."  

一位客户声称他们每3分钟就有一次这个错误,但其他客户没有这个问题,但其他客户只有这个问题几次。

知道如何找出问题的根源吗?

我通过Firefox代码浏览了一下,发现

if (NSS_SecureMemcmp(mac, pBuf, macLen) != 0) {
    /* MAC's didn't match... */
    SSL_DBG(("%d: SSL[%d]: mac check failed, seq=%d",
         SSL_GETPID(), ss->fd, ss->sec.rcvSequence));
    PRINT_BUF(1, (ss, "computed mac:", mac, macLen));
    PRINT_BUF(1, (ss, "received mac:", pBuf, macLen));
    PORT_SetError(SSL_ERROR_BAD_MAC_READ);
    rv = SECFailure;
    goto cleanup;
}

显然有可能看到收到的mac是什么以及计算出的mac是什么...有人知道这些日志在FF中的位置或者我应该在FF中启用一些日志记录吗?

我在哪里可以在Firefox中找到此日志?

3 个答案:

答案 0 :(得分:4)

我们将openSSL升级到我们平台可用的最新版本,并且它运行良好。问题已经消失,所以它可能是openSSL实现中的一个错误。

答案 1 :(得分:2)

这可能是您正在使用的SSL实施的问题。 MAC就像传输的ssl数据包的哈希值。如果ssl数据包没有被实现正确刷新(吃了一些byes或者没有完全刷新),你会看到这些问题。

答案 2 :(得分:1)

当FF关闭时,我打开了cmd窗口并使用了ipconfig / flushdns命令。我重新打开它,我能够成功访问该URL。