Mac OSX 安装新版OpenSSL问题

OpenSSL是什么?

OpenSSL 是一个安全 套接字 层密码库,囊括主要的 密码算法 、常用的 密钥 和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。

关于OpenSSL“心脏病失血”

OpenSSL被曝出现严重安全漏洞后,发现多数通过SSL协议加密的网站使用名为OpenSSL的 开源 软件包。OpenSSL漏洞不仅影响以 https 开头的网站,黑客还可利用此漏洞直接对个人电脑发起“心脏出血”( Heartbleed )攻击。据分析, Windows 上有大量软件使用了存在漏洞的OpenSSL代码库,可能被黑客攻击抓取用户电脑上的内存数据。

Mac OSX 的 OpenSSL

Mac OSX一般自带的有OpenSSL。但因为上述OpenSSL“心脏病失血”事件,Mac OSX 自 10.11 El Capitan 起,将原有的 OpenSSL 替换为 LibreSSL 。在以上这些系统中应该除了实测必须要用 OpenSSL 软件外,应该都可以用 LibreSSL 取代 OpenSSL。而对于其他大多数还没有将系统自带的 OpenSSL 替换为 LibreSSL 的会麻烦一些,并且也可能做不到彻底替换。只是对于编译安装的软件,可以尽量用 LibreSSL 取代 OpenSSL。(其他用LibreSSL 取代 OpenSSL的系统还有:OpenBSD 自 5.6 起,Alpine Linux 自 3.5.0 起)

例如:现在使用Mac OSX 10.11 版本,通过openssl version 可以看到本地显示的是LibreSSL的版本:

$ openssl version
LibreSSL 2.2.7

此外,苹果现在是弃用OpenSSL,使用他自己维护的TLS和加密库(OpenSSL经常爆出漏洞确实让人伤心)。

Mac OSX 安装新版OpenSSL

Mac OSX目前可以通过brew 来安装指定版本的OpenSSL。

确认已安装的openssl的版本和位置

$ which openssl
$ openssl version

brew安装openssl

$ brew install openssl

brew更新openssl

$ brew upgrade openssl

brew强制链接到openssl

$ brew link openssl --force