【问题标题】:Set ECDSA on Apache and get SSL_ERROR_NO_CYPHER_OVERLAP在 Apache 上设置 ECDSA 并获取 SSL_ERROR_NO_CYPHER_OVERLAP
【发布时间】:2018-04-17 01:42:15
【问题描述】:

这是我的第一篇文章。

我将使用 ECDSA 设置 Apache。 我生成这个键 secp256k1 : 256 位素数字段上的 SECG 曲线 secp384r1:384 位素数字段上的 NIST/SECG 曲线 并生成自签名证书。

openssl ecparam -name secp256k1 -genkey -param_enc explicit -out rootCA.key
openssl req -x509 -new -nodes -key server.key -sha256 -days 1024 -out rootCA.pem

在我设置的 ssl.conf 中

SSLCipherSuite ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384

Wireshark 告诉我客户端支持密码,我查看了 firefox 配置

相同的密码,但使用 RSA 证书可以正常工作。 我展示了足够多的教程,但我找不到问题所在。 www.ssllabs.com/ssltest/ 此测试也失败并显示“评估失败:无法与安全服务器通信”

有人知道我能做什么吗?

【问题讨论】:

    标签: apache ssl encryption ecdsa


    【解决方案1】:

    如果您不提供 ECDSA 证书,则无法使用 ECDSA 密码。

    openssl ecparam -name secp256k1 -genkey -param_enc explicit -out rootCA.key
    

    太好了,这应该已经创建了一个 ECDSA 私钥。现在您需要将其制成证书(可能是自签名证书)。

    但是在您的以下命令中,您从不使用rootCA.key 来制作证书。很可能您生成的不是 ECDSA 而是 RSA 证书。尝试在您的openssl req 命令中使用-key rootCA.key

    【讨论】:

    • 是的,我这样做。从私钥生成证书。然后编辑 sslconfig 并重新启动 apache。我通过重新安装 apache 解决了我的问题。我这样做,然后像以前一样执行相同的步骤。
    猜你喜欢
    • 2020-05-07
    • 1970-01-01
    • 1970-01-01
    • 2013-06-24
    • 1970-01-01
    • 2019-07-06
    • 2010-10-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多