gpt4 book ai didi

ssl - 如何配置 libssl 以使用 TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 密码套件?

转载 作者:太空宇宙 更新时间:2023-11-03 13:11:59 24 4
gpt4 key购买 nike

目前我正在开发基于服务器的应用程序,该应用程序使用 libssl 来实现 ssl。当我使用 RSA 证书时,一切正常,但是当我将椭圆曲线 key 与我的证书一起使用时,我无法连接到服务器。当我尝试 curl 时,出现以下错误

NSS error -12286 (SSL_ERROR_NO_CYPHER_OVERLAP)

Cannot communicate securely with peer: no common encryption algorithm(s).

Closing connection 0

通过使用“openssl s_client”命令,我了解到服务器仅提供“ECDH-ECDSA-AES256-GCM-SHA384”,但 curl 或 chrome 无法识别此密码套件。

生成证书的步骤是:

openssl ecparam -name prime256v1 -genkey -noout -out ecCert.key

openssl req -new -key ecCert.key -out ecCert.csr -subj /CN=servername.com

openssl x509 -req -in ecCert.csr -CA ./rootCA.pem -CAkey ./rootCA.key -CAcreateserial -sha256 -out ecCert.crt -days 500

cat ecCert.crt ecCert.key > ecCert.pem

有没有办法配置服务器的加密方式?

附言我正在使用 openssl 版本“OpenSSL 1.0.2g 2016 年 3 月 1 日”

我还尝试使用 SSL_CTX_set_cipher_list(ctx, ciphers) 设置密码列表

最佳答案

I have also tried to set cipher list by using SSL_CTX_set_cipher_list(ctx, ciphers)

这才是正确的做法。 OpenSSL 语法中的相关密码是 ECDHE-ECDSA-AES128-GCM-SHA256。但请注意,为了在服务器端使用任何类型的 ECC 密码,您还需要设置曲线以与 SSL_CTX_set_tmp_ecdh 一起使用。

有关更广泛的信息,请参阅 jww 在 Server with ECDHE key and cert not working 上的出色回答.

关于ssl - 如何配置 libssl 以使用 TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 密码套件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36478977/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com