尽管brew下载了openssl的新版本,但旧版本仍与命令openssl一起使用。因此,我disabled csrutil删除/usr/bin/openssl中的openssl symlink:sudo ln -s /usr/local/Cellar/openssl/1.0.2o_1/bin/openssl /usr/bin/openssl
那么openssl是最新版本:
^{pr2}$
但是python仍然使用旧版本的openssl:~ python -c "import ssl; print(ssl.OPENSSL_VERSION)"
OpenSSL 0.9.8zh 14 Jan 2016
所以要再次禁用csrutil并继续修复python版本。在
我移除了我能找到的python2装置,大致如下:brew uninstall python@2
sudo rm -rf /Library/Frameworks/Python.framework/Versions/2.7
sudo rm -rf "/Applications/Python 2.7"
cd /usr/local/bin/
ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/2.7' | awk '{print $9}' | tr -d @ | xargs rm
然后我通过brew安装了python2,它使用了正确的openssl:~ brew install python@2
~ python -c "import urllib2,json; print(json.loads(urllib2.urlopen('https://www.howsmyssl.com/a/check').read())['tls_version'])"
TLS 1.2