首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++ MQTT蚊致客户端TLS

C++ MQTT蚊致客户端TLS
EN

Stack Overflow用户
提问于 2020-12-03 21:31:59
回答 1查看 954关注 0票数 0

我正在创建一个C++ MQTT客户端,它使用的是蚊帐库和蚊帐。

https://github.com/iosphere/mosquitto/blob/master/lib/cpp/mosquittopp.h

我希望连接到的MQTT代理使用TLS 1.2,只有服务器/代理证书用于握手(不需要客户端证书)。

如何在代码中验证服务器证书的有效性?

我在蚊帐文件中看到了与TLS有关的下列功能:

代码语言:javascript
复制
int tls_set(const char *cafile, const char *capath=NULL, const char *certfile=NULL, const char *keyfile=NULL, int (*pw_callback)(char *buf, int size, int rwflag, void *userdata)=NULL);
int tls_opts_set(int cert_reqs, const char *tls_version=NULL, const char *ciphers=NULL);
int tls_insecure_set(bool value);
int tls_psk_set(const char *psk, const char *identity, const char *ciphers=NULL);

tls_set似乎正在寻找客户端上的证书,但是证书只来自服务器/代理?我有点被这个弄糊涂了。提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2020-12-03 21:51:44

客户端需要CA (证书颁发机构)证书的副本,该证书用于在建立连接时签署代理发送的证书。

客户端不需要代理证书的副本,除非您使用的是自签名证书(因为在这种情况下,代理证书将与CA证书相同)。

对于任何真正的面向internet的代理,您可能应该使用公共可信CA,他们将提供CA证书(实际上通常是CA证书链)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65134467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档