OSX El Capitan V10.11.5
我试图解决此错误:
SSLError('bad handshake', Error([('SSL routines', 'SSL23_GET_SERVER_HELLO', 'sslv3 alert handshake failure')]
我认为这是https://github.com/superfell/Beatbox的原因:
请注意,如果您使用的是OSX,则捆绑的版本比旧版本的openSSL要高。如果您看到类似于ssl.SSLError的错误:[SSL:SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3警报握手失败或UNSUPPORTED_CLIENT:此组织中已禁用TLS 1.0。使用https连接到Salesforce时,请使用TLS 1.1或更高版本。你需要更新你的python和/或OpenSSL版本。
此问题在我的虚拟环境内外持续存在。在终端:
(virtualenv)sav> openssl version -v
OpenSSL 1.0.2g 1 Mar 2016
(virtualenv)sav> python -c "import ssl; print ssl.OPENSSL_VERSION"
OpenSSL 0.9.8zh 14 Jan 2016
在python终端中:
import ssl
ssl?
Type: module
String form: <module 'ssl' from '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.pyc'>
File: /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py
Docstring:
在/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py:
import _ssl # if we can't import it, let the error propagate
from _ssl import OPENSSL_VERSION_NUMBER, OPENSSL_VERSION_INFO, OPENSSL_VERSION
_ssl是从〜/ Envs / virtualenv / lib / python2.7 / lib-dynload / _ssl.so导入的,这是一个C共享对象文件。然后我几乎碰壁了。
我认为如果我可以将ssl指向OpenSSL 1.0.2而不是0.9.8,我的错误将被修复,但我不确定在哪里进行更改。 你有没有处理过这件事?很高兴提供更多信息。
由于