在Mac上安装OpenSSL El Capitan

时间:2016-02-04 14:04:12

标签: macos openssl wget

我正在尝试使用brew在我的mac上安装wget但是我继续收到以下错误: abmacnb01:wget-1.13 abse08 $ brew install openssl

==> make depend
==> make
==> make test
Last 15 lines from /Users/abse08/Library/Logs/Homebrew/openssl/04.make:
error 20 at 0 depth lookup:unable to get local issuer certificate
../certs/demo/dsa-ca.pem: C = AU, ST = Some-State, O = Internet Widgits Pty Ltd, CN = CA
error 20 at 0 depth lookup:unable to get local issuer certificate
../certs/demo/dsa-pca.pem: C = AU, ST = Some-State, O = Internet Widgits Pty Ltd, CN = PCA
error 18 at 0 depth lookup:self signed certificate
C = AU, ST = Some-State, O = Internet Widgits Pty Ltd, CN = PCA
error 10 at 0 depth lookup:certificate has expired
OK
../certs/demo/pca-cert.pem: C = AU, ST = Queensland, O = CryptSoft Pty Ltd, CN= Test PCA (1024 bit)
error 18 at 0 depth lookup:self signed certificate
C = AU, ST = Queensland, O = CryptSoft Pty Ltd, CN = Test PCA (1024 bit)
error 10 at 0 depth lookup:certificate has expired
OK
make[1]: *** [test_verify] Error 2
make: *** [tests] Error 2
READ THIS: https://git.io/brew-troubleshooting

These open issues may also help:
Erlang linked to wrong OpenSSL on OSX 10.6.8     https://github.com/Homebrew/homebrew/issues/47681
openssl: add 'enable-ssl-trace' option   https://github.com/Homebrew/homebrew/pull/45250

abmacnb01:wget-1.13 abse08 $

另外如果我查看/ System / Library / OpenSSL它存在,如果我运行openssl版本-a我得到:

OpenSSL 0.9.8zg 14 July 2015
built on: Jul 31 2015
platform: darwin64-x86_64-llvm
options:  bn(64,64) md2(int) rc4(ptr,char) des(idx,cisc,16,int) blowfish(idx) 
compiler: -arch x86_64 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -    fasm-blocks -O3 -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DMD32_REG_T=int - DOPENSSL_NO_IDEA -DOPENSSL_PIC -DOPENSSL_THREADS -DZLIB -mmacosx-version-min=10.6
OPENSSLDIR: "/System/Library/OpenSSL"
abmacnb01:wget-1.13 abse08$ 

OpenSSL似乎是我希望使用的近乎包的依赖,是否有一种简单的方法来解决这个问题?

2 个答案:

答案 0 :(得分:2)

在开始安装之前,请确保您拥有正确的文件夹。目标是在/usr/local中编译和安装。确保验证此文件夹是否已存在,如果不存在,请不要惊慌。在El Cap上它不存在。

让我们通过在终端中输入以下命令来改变它。以下命令只是创建所需的文件夹:

sudo mkdir -p /usr/local/src

sudo mkdir -p /usr/local/var/log

mkdir -p ~/Library/LaunchAgents

使用El Cap,苹果公司的人们引入了一项称为系统完整性保护的新功能,这只是一种说法,它将系统代码抽象得更进一步构建一个更紧密的系统,我觉得很酷。但这意味着您需要修改/usr/local的所有权才能安装openSSL。

sudo chown -R $LOGNAME:staff /usr/local

sudo chown $LOGNAME:staff /usr/local

现在您已为安装创建了必要的文件夹文件夹结构。

第1步:获取OpenSSL

cd /usr/local/src

curl --remote-name https://www.openssl.org/source/openssl-1.0.2h.tar.gz

现在我们提取刚刚下载到/usr/local/src文件夹中的文件,并将目录更改为openssl-1.0.2h:

tar -xzvf openssl-1.0.2h.tar.gz

cd openssl-1.0.2h

第2步:编译&安装

现在你作为计算巫师的能力已经召唤并将OpenSSL的灵魂提取到你的金属机器上,现在你必须使用下面的法术(代码行)来召唤(编译)和调用(安装)这个古老的野兽: / p>

./configure darwin64-x86_64-cc --prefix=/usr/local/openssl-1.0.2h shared

make depend

make

make install

第3步:更新Bash

OpenSSL Deamon已经醒来,现在你必须施放控制它的咒语,否则你的金属机器将会混淆。以下命令更新Bash启动脚本:

echo 'export PATH=/usr/local/openssl/bin:$PATH' >> ~/.bash_profile

echo 'export MANPATH=/usr/local/openssl/ssl/man:$MANPATH' >> ~/.bash_profile

source ~/.bash_profile

第4步:安装证书

事实证明,就像你刚召唤的恶魔一样,在本文世界中需要证书。因此,请使用以下法术为其提供与世界合作的正确证书:

security find-certificate -a -p /Library/Keychains/System.keychain > /usr/local/openssl/ssl/cert.pem

和下面的那个

security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain >> /usr/local/openssl/ssl/cert.pem

第5步:验证安装

生活很奇怪有时候,尽管我们有最好的意图,但事情并不总是有效。检查一切是否有效:

openssl version -a

感谢阅读,我希望它有所帮助!我也挣扎了一段时间。请试着在解决方案的描述中添加一些颜色,请随意讨厌/喜欢。还请告诉我,如果这对你不起作用,我很想知道。谢谢:))

答案 1 :(得分:0)

更改权限帮助我解决了这个问题:

sudo chmod -R g+w /usr/local
相关问题