OpenSSL 未与 Homebrew 链接

OpenSSL not getting linked with Homebrew

我正尝试在 mac (el capitan) 上用 C 编写代码,需要使用 OPENSSL。 OS 附带 version 0.9.8zh 14 Jan 2016.

我使用 homebrew 升级和安装 openssl(得到版本 1.0.2h)但无法 link 正确使用它。我面临着与这个问题中提到的相同的问题:

由于 brew 中的某些更新,上述问题的答案似乎不再有效。

我的路径引用 /usr/local/bin 作为第一个。

运行 这个命令:ln -s /usr/local/Cellar/openssl/1.0.2j/include/openssl /usr/local/include/openssl (在此处找到此解决方案:https://medium.com/@zlwaterfield/openssl-with-el-capitan-456bf68bf43a#.f9tkjeo7w 在其他地方)

没有错误输出,所以我认为这有效。但是..

which openssl 给我这个输出:/usr/local/bin/openssl

openssl version 给我这个输出:OpenSSL 0.9.8zh 14 Jan 2016

关于如何进行的任何想法?

@jww 不确定你所说的 "build your stuff" 是什么意思。我不是程序员,因此并不真正完全理解词汇。只是想学点东西。

我运行

brew update

brew install openssl

brew link --force openssl

这让我说错了

Warning: Refusing to link: openssl

为了简洁起见,我没有写这篇文章,而是提供了 link 来提问,这正是我所面临的问题。因为早些时候我被告知我在形成问题时不够简短。

此外,我在 CLI 上 运行 的命令是这样的(如果有帮助的话):

openssl dgst -sha256 -sign ec-priv.pem ex-message.txt >ex-signature.der.

给我一个错误:

EVP_SignFinal:wrong public key type

谷歌搜索让我了解它是我需要更新的旧 openssl 版本的原因。这是否回答了您的问题?

于是链接openssl的问题就这样解决了: 我只需要关闭旧的 shell window 和 运行 将新的 shell window 到 运行 命令 openssl version 和它向我展示了正确的新版本。基本上,显式链接与我在问题中陈述的命令一起工作。