Mac upgrade openssl 踩的坑

为什么升级这个东西 笔者最近看上了一个自动打包的脚本 不需要指定任何东西 就是一键打包 但是当我运行这个脚本时:

image.png

于是笔者就找到一篇升级openssl 文章 https://www.jianshu.com/p/32f068922baf
然后跟着做 做到这一步时

$ brew link openssl --force

突然出现

Mac upgrade openssl 踩的坑_第1张图片
image.png

惊了 直接被拒绝 然后就开始各种谷歌 最后这篇文章 https://stackoverflow.com/questions/38670295/homebrew-refusing-to-link-openssl#comment69644321_38710248

但是 问题又出现了人家的 openssl 都是在 /usr/local/bin/openssl
然后我赶紧看一下 自己的


image.png

???


Mac upgrade openssl 踩的坑_第2张图片
image.png

最后是这个答案可以

其实最后发现 brew install openssl时,注意可以看到一段提示

A CA file has been bootstrapped using certificates from the     system
keychain. To add additional certificates, place .pem files in
/usr/local/etc/openssl/certs

and run
/usr/local/opt/openssl/bin/c_rehash

This formula is keg-only, which means it was not symlinked into     /usr/local.

Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries

Generally there are no consequences of this for you. If you build your
own software and it requires this formula, you’ll need to add to your
build variables:

LDFLAGS: -L/usr/local/opt/openssl/lib
CPPFLAGS: -I/usr/local/opt/openssl/include
PKG_CONFIG_PATH: /usr/local/opt/openssl/lib/pkgconfig

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

上面有提到,如果需要在编译程序时使用brew 安装的openssl库也给出了引用方式。

我现在需求很简单,就是希望能使用最新的openssl命令,方便研究SSL协议、数字证书。快速解决办法:

export PATH=/usr/local/bin:$PATH
ln -s /usr/local/Cellar/openssl/1.0.2h/bin/openssl /usr/local/bin

注意:

$PATH变量设置 /usr/local/bin 必须在最前面,起码在/usr/bin前面
这里使用的openssl 1.0.2h 请根据事件版本修改路径

你可能感兴趣的:(Mac upgrade openssl 踩的坑)