在Mac OSX上启用TLS 1.2
我正在拉我的头发,试图在OSX 10.12.3的本地机器上使用Stripe处理Django应用程序。尝试运行测试付款时,我得到的错误是:在Mac OSX上启用TLS 1.2
PermissionError在/注册请求req_ADIwntj3xGaqUF:条纹无 不再支持使用TLS 1.0取得API请求。请使用TLS 1.2或更高版本启动HTTPS 连接。你可以在 https://stripe.com/blog/upgrading-tls了解更多。
我使用brew成功升级了openssl。当我运行openssl version
输出为:
OpenSSL 1.0.2k 26 Jan 2017
当我运行which openssl
输出为:
/usr/local/opt/openssl/bin/openssl
我发现,说跑brew link --force openssl
上堆栈溢出指令。当我这样做是错误的是:
警告:拒绝链接:OpenSSL的链接只小桶,OpenSSL的意味着你 最终可能对不安全的,过时系统的OpenSSL 连接,同时使用头从家酿的OpenSSL的。相反,通过 全包括/库路径编译器如:
-I在/ usr /本地的/ opt/OpenSSL的/ -L包括在/ usr /本地的/ opt/OpenSSL的/ lib目录
任何人可以帮助我得到这个工作?
的问题在Python环境和解决方案来尝试似乎是以下几点:
pip install urllib3
pip install pyopenssl
pip install ndg-httpsclient
pip install pyasn1
pip uninstall requests
pip install requests
见https://github.com/pinax/pinax-stripe/issues/267和How to run django runserver over TLS 1.2
这一切假设你正在运行的Python 2.7.9+。早期的Python版本没有TLS 1.2支持。
对于任何使用brew
+ pyenv
+ pyenv-virtualenv
这是固定我的问题与我的Mac上缺少TLS 1.2:
# Update XCode
# Restart machine
Type:
$ brew update
$ brew upgrade pyenv
$ pyenv install 3.4.6 # the latest version of Python 3.4
$ pyenv global 3.4.6 # make default python
$ pyenv virtualenv 3.4.6 myenv
$ pyenv activate myenv
$ pip install -r requirements.txt
希望这是对别人有用的一天。