我正在尝试使用 Python 3 asyncio 模块连接到另一方并收到此错误:
36 sslcontext = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
---> 37 sslcontext.load_cert_chain(cert, keyfile=ca_cert)
38
SSLError: [SSL] PEM lib (_ssl.c:2532)
问题只是错误的含义。我的证书是正确的,密钥文件(CA 证书)可能不会.
假设使用的是3.6版本:
See: https://github.com/python/cpython/blob/3.6/Modules/_ssl.c#L3523-L3534
PySSL_BEGIN_ALLOW_THREADS_S(pw_info.thread_state);
r = SSL_CTX_check_private_key(self->ctx);
PySSL_END_ALLOW_THREADS_S(pw_info.thread_state);
if (r != 1) {
_setSSLError(NULL, 0, __FILE__, __LINE__);
goto error;
}
它的意思是SSL_CTX_check_private_key
失败的;因此,私钥不正确。
参考可能的版本:
- https://github.com/python/cpython/blob/3.4/Modules/_ssl.c#L2529-L2535
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)