MQTT Mosquitto桥接到SAP IoT 4.0

2020-08-27 15:52发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)亲爱的社区, 当前,我正在使用...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


亲爱的社区,

当前,我正在使用SAP IoT 4.0做一个小的IoT用例。

一个带有传感器的小型设备正在收集数据(使用带有Python的paho mqtt客户端)并转发到在其上运行的本地代理(mosquitto v1.6.7),该代理应将所有消息桥接到SAP IoT 4.0租户。 为此,我需要在代理和客户端上配置TLS。 这是我的问题:我可以在IoT 4.0中创建设备证书(包含公钥和私钥),并从SAP获得DigiCertGlobalRootCA证书。 但是对于配置,我还需要本地代理的另一个证书(可以说是服务器证书和密钥)。 我尝试过它确实创建了另一个证书(为我的本地代理针对IoT 4.0中的同一设备实例),但是它失败了,并在我的mosquitto代理上给了我一个错误(请参阅下文)。 你有什么建议吗?

一旦我将使用CA证书创建的证书和密钥仅将设备连接到SAP IoT 4.0,连接就可以正常工作并发送数据。

还通过使用证书文件在本地代理和SAP IoT 4.0之间建立了桥接连接。 客户端和本地代理之间的连接失败,并从IoT 4.0生成了两个证书。

1)将客户端连接到本地代理时出现Mosquitto错误

2)连接到本地代理时客户端pyhton错误

 OpenSSL错误:错误:14094418:SSL例程:ssl3_read_bytes:tlsv1警报未知ca

 证书验证失败:无法获取本地发行者证书(_ssl.c:1056)
2条回答
粗暴的香蕉
2020-08-27 16:41

Hello Jan,

非常感谢您的回答。 我已经通过使用自签名证书保护客户端和本地代理之间的连接来解决此问题。 本地代理和IoT 4.0之间的连接通过IoT 4.0中的客户端证书和密钥来保护。 使用的Python版本还存在一个更深的麻烦,因为最终v3.7不再支持将CN字段与使用的证书匹配的服务器IP地址。 我必须编辑我的OpenSSL配置,并创建一个带有subjectAltName作为我的IP地址的新证书。 这样,我无需在客户端使用tls_insecure_set()。

一周热门 更多>