【问题标题】:using Xamarin Visual Studio C# using M2Mqtt to connect to Mosquitto mqtt with ssl使用 Xamarin Visual Studio C# 使用 M2Mqtt 通过 ssl 连接到 Mosquitto mqtt
【发布时间】:2017-07-14 06:33:58
【问题描述】:

我正在尝试使用 M2Mqtt 在 Xamarin c# 应用程序中连接到我的 mosquitto mqtt 代理。

我很难在我的程序中创建 x509 证书

看看——我的另一个问题

Xamarin Visual Studio createcertfromfile path no working

但我想提出这个问题只是想看看有没有人这样做过。我花了 2 天时间完全没有任何进展。

我唯一关心的是加密移动设备和我的蚊子经纪人之间的通信。

我已使用 mosquitto-auth-plug 保护了代理,但我无法通过无线方式发送凭据。

另一个问题——我不关心验证移动用户我只想与我的经纪人创建一个安全的加密连接,所以我不需要我的用户获得任何证书或任何东西?正确

-----为 hardilib 编辑

我有一个在 centos 7 服务器上运行的 mosquitto 代理。我已将代理配置为接受 ssl/tls 连接,并已使用 mosquitto-auth-plug 来确保用户安全。

我有一个用 c# Xamarin 和 Visual Studio 2017 企业版编写的移动应用程序。

我的 mqtt 代理和使用 M2Mqtt 客户端的移动应用程序之间的非加密通信非常好。

我需要移动应用程序和代理之间的加密通信才能在现实世界中工作。

我已尝试遵循我能找到的唯一信息

http://embedded101.com/Blogs/PaoloPatierno/entryid/366/MQTT-over-SSL-TLS-with-the-M2Mqtt-library-and-the-Mosquitto-broker

除了部分,我都完成了

CA 证书包含在资源文件 (Resources.resx) 中,一旦作为字节流读取,就会提供给 X509Certificate 构造函数类,以便为 MqttClient 获取有效的 X.509 证书。

客户端连接字符串

MqttClient("ppatierno-PC", MqttClient.MQTT_BROKER_DEFAULT_SSL_PORT, true, new X509Certificate(Resources.m2mqtt_ca));

我无法创建 x509Certificate,因为我不知道如何创建资源文件。

当我尝试从文件创建证书时,我尝试使用的路径都不起作用——请参阅上面的其他问题。

有没有人成功地完成了我上面解释的事情,或者有其他方法来保护应用程序和服务器之间的通信,如果你有请帮忙。

谢谢

【问题讨论】:

标签: c# xamarin mqtt mosquitto


【解决方案1】:

我发现您可以使用 AssetManager 类从您的 xamarin 解决方案目录中检索资产。

查看我的另一篇文章以获得更完整的说明

Xamarin Visual Studio createcertfromfile path no working

【讨论】:

    猜你喜欢
    • 2020-06-13
    • 2012-05-31
    • 2018-05-21
    • 2020-06-01
    • 1970-01-01
    • 2016-07-20
    • 1970-01-01
    • 1970-01-01
    • 2017-08-02
    相关资源
    最近更新 更多