gpt4 book ai didi

c - 与 tls 服务器和 letsencrypt 的 ssl 连接

转载 作者:太空宇宙 更新时间:2023-11-03 14:23:02 25 4
gpt4 key购买 nike

我尝试用 c 为我的服务器建立 ssl 连接。我有这个代码:https://wiki.openssl.org/index.php/Simple_TLS_Server我已经用 certbot 生成了证书:

sudo certbot certonly --standalone

我在程序目录的 /etc/letsencrypt/live/MY_DOMAIN/ 中复制了 cert.pem 和 privkey.pem。但是当我尝试使用 curl 连接时,出现此错误:

curl: (60) SSL certificate problem: unable to get local issuer certificate More details here: https://curl.haxx.se/docs/sslcerts.html

和我的服务器打印:

1996193792:error:14094418:SSL routines:ssl3_read_bytes:tlsv1 alert unknown ca:../ssl/record/rec_layer_s3.c:1407:SSL alert number 48

谢谢你的帮助!

最佳答案

那个过于简单的服务器不处理链证书(或多个证书),也称为中间证书,本世纪每个真正的 CA 都需要它,包括 LE。它仅适用于您自己生成的测试证书,或一些有限的环境,例如运行自己的私有(private) CA 的公司的内部网。

cert.pem 文件中的 SSL_CTX_use_certificate_file 替换为 SSL_CTX_use_certificate_chain_filefullchain.pem 文件中。

此外,从 2016 年的 1.1.0 开始,SSLv23* 方法(终于!)被 TLS* 方法取代,尽管这些过时的名称目前仍然是同义词.

关于c - 与 tls 服务器和 letsencrypt 的 ssl 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59038009/

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