c - rabbitmq-c SSL 对等证书验证失败

标签 c ssl rabbitmq-c

我正在尝试使用 SSL 进行连接,服务器上启用了 SSL,但我无法使用 rabbitmq-c 客户端进行连接。

我拿了amqps_connect_timeout.c示例,这是我在 amqp_socket_open_noblock 遇到的错误。

SSL 对等证书验证失败

当使用 OpenSSL 时,连接和验证成功。

openssl verify -CAfile cacert.pem cert.pem
cert.pem: OK

openssl s_client -connect www.example.com:25586 -CAfile cacert.pem
Verify return code: 0 (ok)

如果我禁用证书验证,连接就会成功。

amqp_ssl_socket_set_verify_peer(socket, 0);

我做错了什么?

最佳答案

我发现问题所在,我的 CA 文件缺少中间证书。 可能 openssl s_client 默认忽略了这一点。

修复 cacert 文件后,从 rabbitmq-c 库建立了连接。

关于c - rabbitmq-c SSL 对等证书验证失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43256606/

相关文章:

c++ - 来自 CreateWindow/CreateDialog 的 HWND 是否可以从另一个线程获取消息?

c - 如何分配动态静态多维数组

c - Rabbitmq-c 库在 Debian 8 中未动态链接

c - 为什么静态值在 IRB 内部被破坏?

java - Spring Boot 现有域 .cert 文件实现我的应用程序(SSL)

Azure 应用服务 - 无法通过指纹找到证书

ssl - 为什么我的 keystonejs 应用程序有 https,但我什么也没做?

c - RabbitMq C API : emulating "rabbitmqctl cluster_status -n rabbit@<remote hostname>" from C API

C: malloc() 忽略请求的大小?