在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/267How 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 

希望这是对别人有用的一天。