使用Xamarin Visual Studio C#使用M2Mqtt通过ssl

时间:2017-07-14 06:33:58

标签: c# xamarin mqtt mosquitto

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

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

SEE ---我的另一个问题

Xamarin Visual Studio createcertfromfile path no working

但我想浮动这个问题只是为了看看那里有没有人做过这件事。我花了两天时间完全没有进展。

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

我已经使用mosquitto-auth-plug保护经纪人,我无法通过无线方式发送凭证。

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

-----编辑for hardilib

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

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

我的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,因为我不知道如何创建资源文件。

当我尝试从文件创建证书时,没有尝试使用工作的路径 - 请参阅上面的其他问题。

如果您有任何帮助,是否有人成功完成了我上面解释的内容,或者有其他方法来保护应用程序和服务器之间的通信。

由于

1 个答案:

答案 0 :(得分:0)

我想通了你可以使用AssetManager类从你的xamarin解决方案目录中检索资产。

请参阅我的其他帖子以获取更完整的说明

Xamarin Visual Studio createcertfromfile path no working