那是我的第一篇文章。
我将使用 ECDSA 设置 Apache。 我生成这个 key 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/此测试也失败并显示“评估失败:无法与安全服务器通信”
有人知道我能做什么吗?
最佳答案
如果您不提供 ECDSA 证书,则不能使用 ECDSA 密码。
openssl ecparam -name secp256k1 -genkey -param_enc explicit -out rootCA.key
太好了,这应该已经创建了一个 ECDSA 私钥。现在你需要把它做成一个证书(可能是一个自签名证书)。
但是在您的以下命令中,您永远不会使用 rootCA.key
来制作证书。很可能您生成的是 RSA 证书而不是 ECDSA。尝试在您的 openssl req
命令中使用 -key rootCA.key
。
关于apache - 在 Apache 上设置 ECDSA 并获取 SSL_ERROR_NO_CYPHER_OVERLAP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47110770/