我正在尝试使用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客户端的移动应用程序之间的非加密通信非常好。
我需要在移动应用程序和代理之间进行加密通信,以便在现实世界中工作。
我试图按照我在
找到的唯一信息除了部分
之外我完成了所有工作CA证书包含在资源文件(Resources.resx)中,并且一旦读取为X509Certificate构造函数类的字节流,就可以获取MqttClient的有效X.509证书。
客户端连接字符串
MqttClient("ppatierno-PC", MqttClient.MQTT_BROKER_DEFAULT_SSL_PORT, true, new X509Certificate(Resources.m2mqtt_ca));
我还没有能够创建x509Certificate,因为我不知道如何创建资源文件。
当我尝试从文件创建证书时,没有尝试使用工作的路径 - 请参阅上面的其他问题。
如果您有任何帮助,是否有人成功完成了我上面解释的内容,或者有其他方法来保护应用程序和服务器之间的通信。
由于
答案 0 :(得分:0)
我想通了你可以使用AssetManager类从你的xamarin解决方案目录中检索资产。
请参阅我的其他帖子以获取更完整的说明