【问题标题】:SSL SSlstream Support in .Net Compact Framework.Net Compact Framework 中的 SSL Sslstream 支持
【发布时间】:2017-08-31 07:01:37
【问题描述】:

我正在使用 WinCE 2013 并希望将 mqtt 协议与 SSL/TLS 一起使用。但似乎.Net CF3.9 不支持 SSL StreamCLass。任何人都可以告诉我是否可以在 .NCF3.9 中启用 SSL/TLS 进行通信。我想使用 SSL Stream 类和

using System.Net.Security;
using System.Security.Authentication;

但是没办法……

【问题讨论】:

    标签: c# .net ssl windows-ce


    【解决方案1】:

    为了在 M2Mqtt 上启用 SSL/TLS,您需要定义 SSL 符号。例如,如果您看到 Net MF 4.3 项目文件 (https://github.com/eclipse/paho.mqtt.m2mqtt/blob/master/M2Mqtt/M2Mqtt.NetMf43.csproj),则有以下部分:

    <DefineConstants>DEBUG;TRACE,MF_FRAMEWORK_VERSION_V4_3,SSL</DefineConstants>

    如您所见,有 SSL 符号。它启用了带有 SSL 支持的构建。

    【讨论】:

    • 谢谢先生的回复,但我想在 .NETCF 3.9/3.5 上进行。我做了你提到的,但是在编译它时给我一个错误,说 :using System.Net.Security;使用 System.Security.Authentication;导致错误说缺少上述命名空间的参考程序集。我还必须在 dll 文件中或在应用程序中引用 dll 之后对其进行编辑。编辑定义常量是否有顺序。
    • 你是对的,我刚刚检查过。该库不支持 .Net CF 3.5/3.9 的 SSL/TLS。我添加了对 AMQP .Net Lite 库 (github.com/Azure/amqpnetlite/tree/master/src/NetCF39) 的支持,但在 M2Mqtt 中没有。
    • 先生,有一种方法可以使用 m2mqtt 在 .NETCF3.5 上完成。在 GitHub 上提出了这个问题,一位工程师使用 Paho C 库解决了这个问题。他构建了本机 dll 并使用 openssl dll 将其导入到 .NETCF3.5 中。但我不知道该怎么做。所以如果你能帮我解决这个问题,请告诉我..
    【解决方案2】:

    看看: https://m2mqtt.wordpress.com/ 这是一个随时可用的 MQTT 实现,如果它不符合您的需求,您至少可以看看 SSL 是如何在 .NET CF 中实现的。

    【讨论】:

    • 我一直在使用相同的库,但在启用 SSL/TLS 时遇到了错误。当我对其进行更多搜索时,我意识到使用这个库的 mqtt 协议实现是可能的,但不能通过 SSL。但是有一种方法可以通过使用 Paho C 库 dll 和 Openssl dll 并在 .netCF 中导入两者然后建筑解决方案。仍然无法这样做..如果您可以建议如何继续,请告诉我。谢谢。
    • 您遇到什么错误?我记得在 CF 3.5 上测试过。
    • 关于 M2MQTT 库的错误我得到:“库编译时没有 SSL 支持”这是当我尝试使用需要 SSL/TLS 支持的 CF3.5/CF3.9 连接到 azure 时。但是,当我在 1883 端口上尝试不使用 SSL 以通过代理服务器进行测试时,我得到了连接。所以确实对我来说启用 SSL 是必要的,但我不知道如何..如果你在谈论第二种方法,那么我还没有取得任何进展。我不知道怎么做。如果你用过这两种方法,请告诉我..
    • 我认为 Paolo 的评论(lib 的作者)解决了这个问题 :)
    • 抱歉,我把 AMQP 和 MQTT 弄混了。但是,正如 Paolo 所建议的,您可以检查 AMQP 上的 SLL 实现并在 MQTT 上使用相同的技术。一旦您验证了 SLL 证书,连接的其余部分将在常规套接字和 SSL 套接字上以相同的方式运行,就像在 AMQP 中一样。
    【解决方案3】:

    我在 M2MQTT 库中添加了对 Compact Framework 2.0 / 3.5 / 3.9 的 OPENSSL 支持。检查https://github.com/bpastore/paho.mqtt.m2mqtt/tree/dev

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-09
      • 2018-01-04
      相关资源
      最近更新 更多