在Dart中使用DTL

在Dart中使用DTL,dart,flutter,dtls,Dart,Flutter,Dtls,我正在开发一个颤振应用程序,它需要使用DTL进行通信。据我所知,Dart API中目前不支持DTL,只支持TLS 有人能推荐我能做什么吗?也许只是关于如何让颤振应用程序在DTLS中通信的高级步骤?关于我应该注意什么有什么建议吗 谢谢 十年前,我用Java编写了一个DTLS服务器(在Bouncy Castle提供支持之前),在过去几年中,我将大量Java代码移植到Dart(但不是DTLS!) 我快速浏览了服务器代码,了解了纯Dart实现(客户端)中可能存在的最大问题,希望这是一个正确的假设。两个直

我正在开发一个颤振应用程序,它需要使用DTL进行通信。据我所知,Dart API中目前不支持DTL,只支持TLS

有人能推荐我能做什么吗?也许只是关于如何让颤振应用程序在DTLS中通信的高级步骤?关于我应该注意什么有什么建议吗


谢谢

十年前,我用Java编写了一个DTLS服务器(在Bouncy Castle提供支持之前),在过去几年中,我将大量Java代码移植到Dart(但不是DTLS!)

我快速浏览了服务器代码,了解了纯Dart实现(客户端)中可能存在的最大问题,希望这是一个正确的假设。两个直接的困难似乎是解析服务器的证书链(对其进行解码以获得可用的RSA公钥),然后使用该RSA密钥加密预主密钥。(pub中有一个RSA的旧实现,但我找不到任何ASN/DER库来帮助处理证书。)如果不访问信任存储,验证根CA证书将很棘手

大多数其他东西,如随机数生成(有多安全?),SHA/MD5哈希,网络字节顺序的序列化,处理计时器都是可行的


总而言之,考虑到BC中的支持,Rémi向Java推荐一个平台频道是正确的。

如果Java/swift中有DTLS,您可以使用
platform\u频道
来使用这些出色的输入,谢谢Richard!你认为在C++中创建一个DART本地扩展到现有DTL库是什么?例如此wikipedia列表()中的一个库。这样,我就不必编写DTLS实现,但我预计在让二进制文件在所有不同的移动硬件上运行时会遇到困难。我在这方面没有太多经验。你有什么想法吗?不幸的是,你不能在flatter.Heyyy中使用Dart本机扩展。很高兴我问。谢谢你的帮助!