error:140A90F1:SSL routines:SSL_CTX_new:unable to load ssl2 md5 routines
来源:互联网 发布:淘宝直播卖的东西好吗 编辑:程序博客网 时间:2024/06/05 00:11
Find the following information:
http://comments.gmane.org/gmane.comp.lib.boost.asio.user/2099
Well I think I have figured out what the issue is, or at least narrowedit down. I have been able to provide a work around for our needs but Iwanted to post this in case someone came across this same issue.It appears to be an issue with some type of static member initializationinside the openssl library. I have 2 libraries, both of them use theopenssl library, let's call them A and B. When the application starts upboth A & B are able to successfully create a security context. Later,when library B tries to create another security context it fails. Bothlibrary A and B are module plugins to our application so they both willload but if one is not needed it is unloaded. So once I realized that, Iran some experiments.If just A is loaded then things work fine.If just B is loaded then things work fine.If A and B are loaded, then A is unloaded, B failsIf A and B are loaded, then B is unloaded, A failsIf A is loaded, then unloaded, then B is loaded, B works fineIf B is loaded, then unloaded, then A is loaded, A works fineSo, my belief is that when openssl is loaded it initializes some staticmembers. Once a library that uses openssl is unloaded openssl clearssome needed state that prevents anyone else from creating a securitycontext.
Our temporary, and probably very bad, solution to this problem was to eliminate the call to EVP_Cleanup()
in the digestOfBytes() method.
What apparently was happening is something like this: the Perl libraries that we were importing use openSSL, and load tables through something like OpenSSL_add_all_x. Because EVP_Cleanup()is global, the Perl libraries (probably LWP::Protocol::https) couldn't find the tables of algorithms when they went to look them up.
While this works, I'd really prefer to do something safer... not cleaning up seems like a sloppy solution.
0 0
- error:140A90F1:SSL routines:SSL_CTX_new:unable to load ssl2 md5 routines
- error:14090086:SSL routines…
- routines to print out error mesage
- paypal error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
- error:14090086 SSL routines:SSL3_GET_SERVER_CERTIFICATE错误的一种解决办法
- “error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed”解决方法
- error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
- error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
- 关于SSL错误, SSLError: [Errno 1] _ssl.c:510: error:14090086:SSL routines
- 【Git笔记】"error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed"解决方法
- 使用pip install 时出现[Errno 1] _ssl.c:504: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:ce,,
- 全民付手机接口开发生产环境error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
- easy_install——error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed -- S
- _ssl.c:503: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
- SSLError: [Errno 1] _ssl.c:504: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate
- SSLError(SSLError(1, '_ssl.c:510: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:
- 使用git clone出现SSL routines:SSL3_GET_SERVER_CERTIFICATE错误的解决办法
- PHP SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure解决方法
- Spark资源配置(核数与内存)
- android点滴积累
- spring声明式事务管理(基于TransactionProxyFactoryBean的方式)
- 中断线程的办法
- 简易客户端与服务器
- error:140A90F1:SSL routines:SSL_CTX_new:unable to load ssl2 md5 routines
- 冗余表数据一致性
- oracle11g账号过期
- Linux 目录结构
- leetcode-108. Convert Sorted Array to Binary Search Tree
- ubuntu下navicat试用到期解决办法(删除system.reg之后navicat不能运行解决办法)
- Debug 版的 C/C++ Python 扩展模块链接错误:Error LNK1104 cannot open file 'python35_d.lib'
- VSCode 插件离线安装
- Git创建分支并上传代码到新分支上