- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们遇到了一个关于 openldap + openssl 的问题。
当多线程客户端(30 个线程)确实连接到 OPENLDAP 服务器时,服务器端在 TLS 握手时随机出现“Bad Record MAC”错误。
env
openldap+openssl TLS
RHEL7.5 openssl 1.0.2k
openldap2.4.43
TLS configure
The TLS configures are: TLS1.2 , ssf=128 and Cipher_Suite="AES:!NULL:!EXPORT"
Error connection
Error connection progress are
client->server: Client Hello
server->client:Server Hello, Certificate, Server Hello Done
client->server: Client key Exchange
client->server: change cipher spec
client->server: Encryted Handshake Message
Server->client: Alert(Level: Fatal, Decription: Bad Record MAC)env
openldap+openssl TLS
RHEL7.5 openssl 1.0.2k
openldap2.4.43
TLS configure
The TLS configures are: TLS1.2 , ssf=128 and Cipher_Suite="AES:!NULL:!EXPORT"
Error connection
Error connection progress are
client->server: Client Hello
server->client:Server Hello, Certificate, Server Hello Done
client->server: Client key Exchange
client->server: change cipher spec
client->server: Encryted Handshake Message
Server->client: Alert(Level: Fatal, Decription: Bad Record MAC)
最佳答案
“Bad Record MAC”基本上意味着传入的数据由于某种原因是坏的。例如数据包损坏。
由于您提到的“多线程”,我看到的错误记录 MAC 的首要原因是在多线程上下文中滥用 OpenSSL 库。OpenSSL 不支持多线程同时使用 SSL 句柄. “Bad Record MAC”通常是由于在使用 OpenSSL SSL 句柄时从不同线程更新而导致数据包数据损坏的结果。即 OpenSSL 句柄不是线程安全的。
多个 OpenSSL 句柄在彼此使用之间是线程安全的,但单个句柄不是线程安全的。
看到这个 Blob article就此主题而言。
所以一个常见的错误是允许有两个线程用于单个 SSL 句柄,一个用于读取,一个用于写入(即像套接字句柄所允许的那样)并认为没问题。使用 SSL 则不然。您确实需要一个线程(或运行上下文,例如 boost asio 链)来使用所有 SSL 句柄用法,以便不会同时发生两个 SSL 句柄 API 调用。
关于openssl - TLS1.2 上的 bad_record_mac 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57373632/
我在我的 ubuntu 12.04 系统上安装了 netbeans,用于从 netbeans 网站进行 php 编程。 从 svn 存储库中取出时出现错误 svn: E175002: Received
我在我的 ubuntu 12.04 系统上安装了 netbeans,用于从 netbeans 网站进行 php 编程。 从 svn 存储库中取出时出现错误 svn: E175002: Received
我们遇到了一个关于 openldap + openssl 的问题。 当多线程客户端(30 个线程)确实连接到 OPENLDAP 服务器时,服务器端在 TLS 握手时随机出现“Bad Record MA
当尝试对我的 beanstalk svn 存储库 (https://beanstalkapp.com) 使用 subversive 时,我收到以下类型的错误: Some of selected res
我有一个通过 Apache https proxypass 在 Tomcat 上运行的 Java Spring Web 应用程序,当它尝试访问安全的 IBM Watson 服务时,它会间歇性地失败。
嘿,我正在使用 Netbeans 8、SpringMVC、Java、Oracle,我的项目运行良好,但是当我尝试进行 git Push 时,会通过“已接收”提醒我 Git Command Return
我在尝试部署到 sonatype 存储库时得到这个堆栈跟踪(有时!): javax.net.ssl.SSLException: Received fatal alert: bad_record_mac
对于 HTTPS 连接,我收到了 javax.net.ssl.SSLException: Received fatal alert: bad_record_mac。并非每个请求都会发生这种情况——如果
我遇到问题标题中所述的异常,同时使用 HttpsURLConnection 类在 Java 中使用 HTTPS 连接到服务器。我还尝试使用 the second last answer 跳过证书验证.
我是一名优秀的程序员,十分优秀!