我想用 OpenSSL 创建一个自签名证书 (root ca)。签名算法需要是带有 SHA-256 哈希的 ECDSA 签名。
在我的 Mac OS X (Yosemite) 上,我安装了 OpenSSL 版本 0.9.8zc(自 2014 年 10 月 15 日起)。当我在命令行上调用 openssl ciphers -v
时,我当前的 OpenSSL 版本似乎不支持 SHA2(使用 SHA-256 等)。
DHE-RSA-AES256-SHA SSLv3 Kx=DH Au=RSA Enc=AES(256) Mac=SHA1
DHE-DSS-AES256-SHA SSLv3 Kx=DH Au=DSS Enc=AES(256) Mac=SHA1
AES256-SHA SSLv3 Kx=RSA Au=RSA Enc=AES(256) Mac=SHA1
EDH-RSA-DES-CBC3-SHA SSLv3 Kx=DH Au=RSA Enc=3DES(168) Mac=SHA1
EDH-DSS-DES-CBC3-SHA SSLv3 Kx=DH Au=DSS Enc=3DES(168) Mac=SHA1
DES-CBC3-SHA SSLv3 Kx=RSA Au=RSA Enc=3DES(168) Mac=SHA1
DES-CBC3-MD5 SSLv2 Kx=RSA Au=RSA Enc=3DES(168) Mac=MD5
DHE-RSA-AES128-SHA SSLv3 Kx=DH Au=RSA Enc=AES(128) Mac=SHA1
DHE-DSS-AES128-SHA SSLv3 Kx=DH Au=DSS Enc=AES(128) Mac=SHA1
AES128-SHA SSLv3 Kx=RSA Au=RSA Enc=AES(128) Mac=SHA1
DHE-RSA-SEED-SHA SSLv3 Kx=DH Au=RSA Enc=SEED(128) Mac=SHA1
DHE-DSS-SEED-SHA SSLv3 Kx=DH Au=DSS Enc=SEED(128) Mac=SHA1
SEED-SHA SSLv3 Kx=RSA Au=RSA Enc=SEED(128) Mac=SHA1
RC2-CBC-MD5 SSLv2 Kx=RSA Au=RSA Enc=RC2(128) Mac=MD5
RC4-SHA SSLv3 Kx=RSA Au=RSA Enc=RC4(128) Mac=SHA1
RC4-MD5 SSLv3 Kx=RSA Au=RSA Enc=RC4(128) Mac=MD5
RC4-MD5 SSLv2 Kx=RSA Au=RSA Enc=RC4(128) Mac=MD5
EDH-RSA-DES-CBC-SHA SSLv3 Kx=DH Au=RSA Enc=DES(56) Mac=SHA1
EDH-DSS-DES-CBC-SHA SSLv3 Kx=DH Au=DSS Enc=DES(56) Mac=SHA1
DES-CBC-SHA SSLv3 Kx=RSA Au=RSA Enc=DES(56) Mac=SHA1
DES-CBC-MD5 SSLv2 Kx=RSA Au=RSA Enc=DES(56) Mac=MD5
EXP-EDH-RSA-DES-CBC-SHA SSLv3 Kx=DH(512) Au=RSA Enc=DES(40) Mac=SHA1 export
EXP-EDH-DSS-DES-CBC-SHA SSLv3 Kx=DH(512) Au=DSS Enc=DES(40) Mac=SHA1 export
EXP-DES-CBC-SHA SSLv3 Kx=RSA(512) Au=RSA Enc=DES(40) Mac=SHA1 export
EXP-RC2-CBC-MD5 SSLv3 Kx=RSA(512) Au=RSA Enc=RC2(40) Mac=MD5 export
EXP-RC2-CBC-MD5 SSLv2 Kx=RSA(512) Au=RSA Enc=RC2(40) Mac=MD5 export
EXP-RC4-MD5 SSLv3 Kx=RSA(512) Au=RSA Enc=RC4(40) Mac=MD5 export
EXP-RC4-MD5 SSLv2 Kx=RSA(512) Au=RSA Enc=RC4(40) Mac=MD5 export
OpenSSL 的最新版本似乎是 1.0.2,但源代码位于 https://www.openssl.org/source/。似乎不能为 OS X 编译,因为文件“Install.MacOS”在开头说:
“感谢 Roy Wood 最初对 Mac OS 的支持(pre X) 现在提供。”
尽管如此,我尝试安装它时在命令行上出现了一些错误。
谁能告诉我是否可以在 Yosemite 上安装 OpenSSL 时使用 SHA-256 签名算法?如果这不可能,我觉得很奇怪,但我不是这个领域的专家。 希望得到好的提示!
最佳答案
终于知道怎么做了:
- 使用命令安装自制软件(参见 http://brew.sh/index.html)
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- 使用命令
brew install openssl
安装最新的 openssl 版本 - 在终端中运行
brew link --force openssl
,打开一个新终端并在其中运行which openssl
-> 将显示/usr/local/bin/openssl
- 多田!现在,如果您运行
openssl version
,它将显示OpenSSL 1.0.2 22 Jan 2015
(如果您没有运行brew link --force openssl
在它显示之前OpenSSL 0.9.8zc 2014 年 10 月 15 日
)
:) (在 Update OpenSSL on OS X with Homebrew 上找到提示,之前不知道自制软件或者我需要它来运行最新的 openssl。
关于macos - Mac OS X 上的 OpenSSL 用于 SHA-256 签名算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28647272/