paho mqtt C库的异步调用API如何设置不认证CA证书
时间: 2024-01-27 12:04:57 浏览: 178
Python的paho-mqtt客户端库使用例程
在使用 Paho MQTT C 库的异步调用 API 时,如果需要设置不认证 CA 证书,可以通过以下步骤进行:
1. 创建 MQTT 客户端对象时,需要使用 `MQTTAsync_createOptions_initializer` 函数初始化 `MQTTAsync_createOptions` 结构体对象。
2. 在 `MQTTAsync_createOptions_initializer` 函数返回的对象中,可以设置 `ssl` 字段为 `MQTTAsync_SSLOptions_initializer` 函数返回的对象,以初始化 SSL 选项。
3. 在 `MQTTAsync_SSLOptions_initializer` 函数返回的对象中,可以设置 `trustStore` 字段为 `NULL`,以表示不需要认证 CA 证书。
下面是一个示例代码:
```c
#include <stdio.h>
#include "MQTTAsync.h"
int main(int argc, char* argv[])
{
char* client_id = "test_client";
char* server_uri = "tcp://localhost:1883";
MQTTAsync client;
MQTTAsync_createOptions create_opts = MQTTAsync_createOptions_initializer;
MQTTAsync_SSLOptions ssl_opts = MQTTAsync_SSLOptions_initializer;
create_opts.ssl = &ssl_opts;
ssl_opts.trustStore = NULL;
MQTTAsync_create(&client, server_uri, client_id, MQTTCLIENT_PERSISTENCE_NONE, NULL);
// ...
}
```
在上面的示例代码中,我们创建了一个 MQTT 客户端对象 `client`,并设置了 SSL 选项 `ssl_opts` 的 `trustStore` 字段为 `NULL`,表示不需要认证 CA 证书。
阅读全文