本文主要是介绍SSL_CTX_use_certificate:ca md too weak,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1,错误信息
Error: Unable to load client certificate "cert.pem".
OpenSSL Error[0]: error:140AB18E:SSL routines:SSL_CTX_use_certificate:ca md too weak
Unable to connect (A TLS error occurred.).
2,查看openssl软件版本
openssl
OpenSSL> version
OpenSSL 1.1.1f 31 Mar 2020
OpenSSL> quit
3,使用openssl s_client 测试
openssl s_client -connect 10.20.3.75:8883 -cert cert.pem -key key.pem -CAfile ../trusted-certs.pem -showcerts
error setting certificate
140341384697152:error:140AB18E:SSL routines:SSL_CTX_use_certificate:ca md too weak:../ssl/ssl_rsa.c:310:
出现同样的错误。
4,查看证书信息
openssl x509 -text -in cert.pem
Signature Algorithm: sha1WithRSAEncryption
众所周知,sha1算法很弱且已过时。应该就是这个原因了。
5,解决办法:
openssl s_client -cipher @SECLEVEL=0:ALL -connect 124.71.233.xx:8883 -cert cert.pem -key key.pem -CAfile ../trusted-certs.pem -showcerts
要确认就是sha1的问题,只需要这样就可以
openssl s_client -cipher @SECLEVEL=0:SHA1 -connect 124.71.233.62:8883 -cert cert.pem -key key.pem -CAfile ../trusted-certs.pem -showcerts
这篇关于SSL_CTX_use_certificate:ca md too weak的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!