macos - Mac OS X 上的 OpenSSL 用于 SHA-256 签名算法

标签 macos openssl sha256 ecdsa

我想用 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 签名算法?如果这不可能,我觉得很奇怪,但我不是这个领域的专家。 希望得到好的提示!

最佳答案

终于知道怎么做了:

  1. 使用命令安装自制软件(参见 http://brew.sh/index.html) ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  2. 使用命令 brew install openssl 安装最新的 openssl 版本
  3. 在终端中运行 brew link --force openssl,打开一个新终端并在其中运行 which openssl -> 将显示 /usr/local/bin/openssl
  4. 多田!现在,如果您运行 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/

相关文章:

ios - Swift 和 Cocoa - 在哪里可以找到类引用文档?

java - HMAC SHA-256 和 Facebook signed_request

Javascript Sha256 与 PHP Sha256 : Line breaks create different hash?

ssl - 如何使用 OpenSSL API 执行重新握手(重新协商)?

python - 如何在 Windows 上安装 M2crypto

android - 有什么方法可以从 .c 和 .h 文件生成 JNI 文件?

Python SHA256 哈希计算

c++ - 如何配置音频回调

python - Qt 调试器在 mac 上使用错误的 python 版本

macos - NStoolbar 重新加载/刷新