如何让paho.mqtt.cpp使用Windows受信任根证书颁发机构?
让paho.mqtt.cpp使用Windows系统受信任根证书存储验证SSL连接
- 已通过组策略(GPO)将自签名CA证书推送至Windows客户端的受信任根证书颁发机构存储,Chrome、Edge及cpprestsdk websocket均能正常验证该证书,但paho.mqtt.cpp客户端的配置尚未解决。
- 预期paho.mqtt.cpp能提供类似
.set_trust_store("WINDOWS");的方法,直接调用系统证书存储,无需手动在客户端部署证书文件。 - 当前手动加载本地证书文件的代码可正常运行:
if(true) { mqtt::ssl_options sslOpts; sslOpts.set_verify(true); sslOpts.set_ssl_version(3); std::string cacrt = "c:\\cert\\selfsigned.crt"; // 需手动部署到客户端设备,可正常运行 sslOpts.ca_path(cacrt); sslOpts.set_trust_store(cacrt); connOpts.set_ssl(sslOpts); }
- 底层paho.mqtt.c库的
MQTTClient_SSLOptions结构体包含disableDefaultTrustStore参数,但cpp封装层未暴露类似功能。
请问:是否有可靠方式让paho.mqtt.cpp直接从Windows本地计算机证书存储加载CA证书,或者直接验证系统证书存储内的证书?
内容的提问来源于stack exchange,提问作者Laro88
相关产品推荐
相关产品推荐

