为什么升级这个东西 笔者最近看上了一个自动打包的脚本 不需要指定任何东西 就是一键打包 但是当我运行这个脚本时:
于是笔者就找到一篇升级openssl 文章https://www.jianshu.com/p/32f068922baf
然后跟着做 做到这一步时
$ brew link openssl --force
突然出现
image.png惊了 直接被拒绝 然后就开始各种谷歌 最后这篇文章https://stackoverflow.com/questions/38670295/homebrew-refusing-to-link-openssl#comment69644321_38710248
但是 问题又出现了人家的 openssl 都是在 /usr/local/bin/openssl
然后我赶紧看一下 自己的
image.png
???
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 请根据事件版本修改路径
网友评论