Microchip
直播中

叶亮

8年用户 225经验值
私信 关注
[问答]

如何实现HTTPS的信息

我试图解开在TraceTCP/IP库堆栈中称为“HTTPS”的字符串。根据维基百科,HTTPS使用传输层安全(TLS)加密连接来使用HTTP协议进行通信。我需要更多关于和谐如何实现HTTPS的信息。具体来说:我可以在MHC中找不到“TLS”标签。这里引用了一些加密选项,但是没有说明http_net需要选择哪个选项的密码库,但是同样没有解释为什么要检查某些选项以及它们用于什么目的。它们是如何用于TLS的?用于加密库的示例只显示了该库的工作原理,而不是如何使用它(对于应用程序来说不是很有用)。web_net_server_nvm_mpfs演示实现了一个https服务器,而没有解释它是如何工作的。此外,演示使用第三方包WOLFSSL。我希望有一个只使用和声工具的HTTPS服务器。MHC中的选项卡太多,无法推导出如何删除wolfSSL调用并用密码库调用替换它们。删除wolfSSL调用并只使用密码库调用还有另一个原因。一些较新的MZ芯片内置了密码库。通过理解如何使用加密软件库,它应该是直截了当地移动到嵌入式版本。但是,如果需要WOLFSSL包,那么内置密码库有什么好处吗?最后,在文档中有一个引用,MHC网络服务器代码使用一些密码库调用的它自己的版本,而在一些“未来”版本中,Web服务器将只使用密码库。这里是“未来”版本吗?HTTPNET。MHC中的配置与http模块不同,但是关于如何配置证书选项卡或其他设置以实现TLS(或SSL)的信息很少或没有。我看到的唯一三个相关选项是“Use Base 64 Decode”、“Enable Basic Authentication.”,监听端口=443。这是MHC中的一个选项的摘要。我无法推测正确的设置应该是什么。和谐框架配置>MPLAB和谐网络>表示层>使用MPLAB和谐网络表示层?NET演示文稿实例0 &使用M{Lab Orthic作为传输层?支持所有的连接&支持加密?使用固定Flash的证书存储库进行加密?还是生成证书存储存根?我该选哪一个?有没有人能解释一下呢?提前感谢。

回帖(13)

云达贞

2020-3-5 08:11:39
TLS和密码库是2种不同的东西。TLS将使用加密库来加密它的数据,但是它本身就是一个协议。如果您熟悉TLS操作,那么,您可以直接在Orthor加密库上编写自己的TLS实现。然而,和声框架使用WOLFSSL,即第三方提供。需要配置这个层,因为它提供TLS连接。此外,“NET_PRES”层需要配置,因为该层虽然足够通用,但是TCP/IP栈使用它的接口,实际上调用到wolfSSL中以进行实际加密。wolfSSL被称为“服务提供者”,在这个实例中提供TLS服务。http_net模块并不真正关心连接是否加密。这是因为它发送/接收数据。http_net仅要求NET_PRES打开一个套接字,而普通/加密的选择目前基于监听端口:80用于HTTP,443用于HTTPS。但是,有一个标记可用于http_net,告诉它总是请求加密连接,例如。
举报

王雪

2020-3-5 08:29:39
谢谢,雷诺德。只是为了澄清。我需要WOLFSSL来实现HTTPS Web服务器,对吗?WOLFSSL使用密码库(我认为它赢得了密码、散列和证书)吗?如果它执行它的事情,那么为什么需要密码库?此外,需要WOLFSSL,那么不需要在新的MZ芯片中嵌入加密库。对吗?是微芯片(或任何人)编写一个基于和声的TLS包吗?比尔
举报

陈晨

2020-3-5 08:46:56
wolfSSL不免费用于商业用途。它不要求加密单元工作。它应该使用加密单元,但我不确定细节。当然,如果它那样做会比在软件中做要快。不需要正确的时间。因此必须设置或必须启用NTP时间服务。
举报

王雪

2020-3-5 09:04:43
好啊。是时候做一些测试了。步骤1。使用HTTPNET并删除所有加密内容(即使用端口80使其成为HTTP服务器)。步骤2。添加WOLFSSL和其他需要添加的内容(密码库?)在端口443上创建HTTPS服务器。我将发布艾米结果(成功与否)。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分