Arduino到期HTTPS支持

Guy*_*Guy 32 c https arduino

在先前版本的Arduino(限制性8位微控制器板)中,似乎实现HTTPS(不仅仅是HTTP)几乎是不可能的.但是较新版本的Arduino Due提供了32位ARM内核 - 请参阅此处的规范.

我试图检查几个网络库(libcurl,openssl,yaSSL),但我没有找到任何已经移植到Arduino Due的人.

OpenSSL可能太重了,无法在这个处理器上运行,但我相信yaSSL作为嵌入式库应该是可行的.

您是否有任何可用于在Arduino Due上触发HTTPS请求的库的信息?

Lor*_*uer 20

不幸的是,评论太长了.

没有开箱即用的解决方案

根据我收集的信息,在Atmel SAM3X8E ARM Cortex-M3 CPU上运行的Web服务器没有直接的解决方案,可以直接输出HTTPS.Texas Intstruments 目前使用配备Stellaris微控制器ARM Cortex-M3 CPU的电路板提供更好的选择.

►替代方案

有几种可用的选项可以呈现加密功能,基于这些选项可以布置和实现与中间设备通信的简单安全通信协议,这反过来便于快速应用程序开发和SSL.

这个中间设备,例如现成的70美元Android智能手机,可让您的项目保持移动和连接,在指定端口上运行服务,该端口又与Amazon SQS通信.已经可用.这可能听起来很难或很难,但比在Arduino上完全支持TLS 3的网络服务器的程序化基础要容易得多.如果有合适的动机,后者可能很容易,但如果只是想要一个快速实用的解决方案来解决自己的项目,那就不行了.

加密库

讨论

以下是帮助您入门的讨论列表:

许多这些图书馆仍然需要进行调整,但社区专家可以相当快地帮助您.

祝好运!如果您可以自由地将您的最终项目上传到github,那么您只是获得了感谢和关注者.


Udo*_*ein 7

恕我直言Arduino(包括DUE)是重型和/或加密的基于Web的通信的错误工具.我强烈建议在相同的尺寸和价格范围内寻找更合适的硬件.一旦你进入https,你就足够了,也想要真正的操作系统提供的许多其他东西.换句话说,我建议去找Raspi这样的东西.类似的大小和奖励,但方式更强大,尤其是它可以运行Linux. - > HTTPS变得简单.


Ste*_*tad 7

支持arduino的https的一大问题是处理器过载的危险,这可能会使项目变得不可行.

即使是像PolarSSL这样的嵌入式平台目标解决方案也会耗费太多内存并使用过多的处理能力.请记住,即使在最简化的实现中,SSL支持也必须进行推广以便广泛采用,并且将包含您不需要的组件.还有一个问题是您将信任哪些证书颁发机构以及如何与证书撤销等事项进行沟通.

相反,我会寻求一种解决方案,而不是表面上的损坏,以满足您的需求.像CurveProtect这样的东西,它是CurveCP的一个实现.

当然,您的决定很大程度上取决于您想要做什么以及您想花多少时间来解决问题.PolarSSL的占用空间可小至30K(通常接近100K).

  • 正是我的观点.SSL在资源上非常繁重,在实际操作系统平台上已经非常棘手.如果可能的话,我会在嵌入式系统上尽量避免这种情况.您的撤销点也非常有效.嵌入式系统的密钥管理绝对不是一件容易的事.实际上,无论在哪个平台上,它都不是微不足道的.但嵌入式增加了一些更微妙的曲折. (2认同)