完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
我试图解开在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个回答
|
|
|
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,告诉它总是请求加密连接,例如。
|
|
|
|
|
|
谢谢,雷诺德。只是为了澄清。我需要WOLFSSL来实现HTTPS Web服务器,对吗?WOLFSSL使用密码库(我认为它赢得了密码、散列和证书)吗?如果它执行它的事情,那么为什么需要密码库?此外,需要WOLFSSL,那么不需要在新的MZ芯片中嵌入加密库。对吗?是微芯片(或任何人)编写一个基于和声的TLS包吗?比尔
|
|
|
|
|
|
wolfSSL不免费用于商业用途。它不要求加密单元工作。它应该使用加密单元,但我不确定细节。当然,如果它那样做会比在软件中做要快。不需要正确的时间。因此必须设置或必须启用NTP时间服务。
|
|
|
|
|
|
好啊。是时候做一些测试了。步骤1。使用HTTPNET并删除所有加密内容(即使用端口80使其成为HTTP服务器)。步骤2。添加WOLFSSL和其他需要添加的内容(密码库?)在端口443上创建HTTPS服务器。我将发布艾米结果(成功与否)。
|
|
|
|
|
|
是的,对于http,您需要一个TLS包:在本例中是wolfSSL。wolfSSL使用密码库,因此它使用运行在那个特定目标上的库。AFAIK目前没有编写MCHP TLS实现的计划。但是还有其他选项:例如,PolarSSL/mbedTLS。
|
|
|
|
|
|
正如我在前面的文章中指出的,为了更好地理解http_net服务器的工作原理,我需要进行一些测试,sinceMCHP建议对新的web服务器应用程序使用http_net。但是,如果我只想使用HTTP(而不是HTTPS)呢?NETHI服务器会工作吗?它会花多少钱?为了回答这些问题,我做了一系列的测试,从WebNETNETServer、NVMMMPFS和演示Web页面开始。我的测试使用了以太网启动器套件II、MPLABX V3.61、和声2.03B和XC1.42。下面是测试和结果:1。加载演示项目,重新构建并下载。PANED和RAN HTTPS://192.168100.115。资源:数据=16%,程序=87%。效果不错。2。将MHC中的端口改变为80。重建和下载。PANED和RAN HTTP://192.168100.115。资源:数据=16%,程序=87%。效果不错。3。未选中MHC中的SMTP选项。重建和下载。PANED和RAN HTTP://192.168100.115。资源:数据=16%,程序=85%。效果不错。4。将MHC中的端口改变为443。重建和下载。PANED和RAN HTTPS://192.168100.115。资源:数据=16%,程序=85%。效果不错。5。未选中MHC中的SNTP选项,并将端口更改为80。编译错误。在asn.c中缺少TCPIP_SNTP_UTC_SecondsGet()。跟踪这进一步显示了asn.c中ifdef的混乱排列,该排列试图调用XTIME(t)以保持密码库中的内部时钟/计数器高兴。这只是一个秒计数器,它可以由内部和谐地创建,但是使用SNTP雪橇锤。如果不更改框架代码,就无法解决这个问题,因此,现在,在运行https server.6时,必须检查SNTP是否有http_net。删除MHC中的TCP/IP命令选项,并使用端口=80。编译错误。在App.c中,当未选中MHC选项时,不会调用对SysSCMDyRead ytox读入()的调用。这是一个需要修复的MHC错误。还有另外2个错误需要修正。7。删除控制台和调试系统服务,看看这些是否允许项目编译。仍然编译错误,因为._net_app.c代码(由MHC生成)中有调用SYS_CONSOLE_PRINT()的引用和生成代码(http_net_app.c)中的其他SYS_CONSOLE调用。这最终奏效了。资源:数据=13%,程序=77%。8。删除MHC中的加密。取消检查MHC中的密码选项。取消MPLA-和谐网络/表示层中的所有加密和证书选项。删除TCPIP协议栈中的使用SNTP客户端。删除使用基64解码,并启用HTTP网络服务器选项中的基本身份验证支持。重建和下载。PANED和RAN HTTP://192.168100.115。资源:数据=10%,程序=46%。效果不错。[总结:这个测试没有加密,没有SMTP,没有SNTP,没有控制台端口,没有调试,没有TCP/IP命令,并使用端口80。]这样做会带来很多加密包袱,所以如果您从不需要加密,请进行上面的测试#8中所示的更改。当启用加密时,SNTP模块需要维护一秒钟的UTC时间时钟。如果您对网络安全服务器感兴趣,连接到SNTP服务器可能不是一个好的决定。目前,我认为需要对框架代码进行更改以消除SNTP调用。MHC生成的代码中仍然存在一些需要修复的不一致性。
|
|
|
|
|
|
(5)证书验证所需的时间。我不认为第二个柜台会做,它必须是实际的时间和日期。这就是为什么需要SNTP的原因。在系统中没有服务可以保持每天的时间。但是MHC应该在默认情况下打开它,在启用加密时同意。
|
|
|
|
|
|
我使用了一个简单的HACK来保持有效的UTC时间。在计时器回调中,更新全局参数UTCIME(UIT32)。用一个定义来初始化,如:#define BOY2015 1420070400UL//UNIX time at 1/1/201500:00:00和,utctime=BOY2015;在回调中,更新时间,utctime++;我认为这样会使密码保持愉快,但是我还没有尝试过。
|
|
|
|
|
|
我在嵌入式领域没有那么多的经验,但我总是想知道为什么在和谐中没有这样的东西。据我所知,这样的服务可能是和谐的关键模块。通过使用核心定时器和处理器速度,尽可能好地运行时钟的服务。也许甚至考虑到改变速度,或者它可能在睡眠中丢失。它将从SNTP获得输入。它将具有PIC内部实时时钟(RTC)以及外部实时时钟(RTC)芯片的输入和输出。对于外部芯片,它可以提供通用的API,甚至可以直接支持各种微芯片I C/C/SPI RTCS。它可以根据可用性选择主输入(例如,如果NTP服务器可达,则将时间输出到RTC芯片,否则从RTC芯片输入)和准确性(SNTP>外部RTC>内部RTC>处理器时钟),并定期地从更精确到更不精确地同步。吃时钟源。可选地,它还可以支持64位时间戳。对于小的时间跳跃,它甚至可以让时钟减速或加速,并且避免跳跃,如果优选的话。它可以有一个事件处理程序,通知接收一个新的时间或时间跳跃。和模块,如加密或文件系统将使用该服务。当然,您也可以直接设置或获取时间。我认为这样的服务有很多用例,比如加密、事件日志、文件创建日期、基于时钟和日期的定时事件等等。
|
|
|
|
|
|
你好,你刚才描述了我认为和谐RTCC模块是什么时候,我第一次看它使用它。哈!
|
|
|
|
|
|
BillP-感谢您发布的结果(我们感到您的痛苦)。您能告诉我们:-对于WolfSSL支持,实际的FLASH和RAM使用什么吗?-你能让WOLFSSL使用MZ密码(我在其他地方读过)吗?-真的,真和声RTCC模块不能使用NTP(如莫塞尔所描述的)吗?谢谢!最好的问候,戴夫
|
|
|
|
|
|
戴夫,有更多关于在论坛上使用WOLFSSL的信息(WebSynNETServ.NVVMYMPFS演示中的Sebug)。所以,是的,我能够使用MZ/Orthor(软件)密码与MZ,但不使用HW加速器。David Garske在WOLFSSL非常有助于解释问题和可能的解决方案。如果您正在考虑使用wolfSSL/Harmony/MZ,我建议您直接与他联系。至于使用wolfSSL的https网络服务器的内存使用情况,数据和程序使用率分别为10%和21%。我认为,这篇文章更多的是关于为什么在Harmony中没有RTCC服务来维护准确的RTC,使用NTP作为偶尔的源来保持所有东西的同步。我不明白为什么NTP不能被使用。也许你需要发送一个下午给莫斯更多的信息。我希望这有帮助。比尔。
|
|
|
|
|
|
请不要问我,而是问雨滴!但是我想你可以自己看到,只要在“系统服务库帮助”和“驱动程序库帮助”中查找“和谐帮助”以获得RTCC的接口描述。我从未使用过“和谐RTCC”,因为我也意识到它对我来说没有任何用处。内部RTCC是不准确的,因此,我的项目是通过SPIN外部RTC,这也是电池供电。我定期阅读RTC,同时我计算处理器周期,以便随时都能得到64位毫秒时间戳。在未来,我喜欢附加SNTP,我意识到许多和声系统实际上需要一段时间。但和谐中没有中心成分,他们可以从中吸取时间。文件系统伪造一个固定的时间戳,它甚至没有准备好连接到时间服务。HTTPS模块采用直接捷径ToNTP。在模块化的意义上,这不是很干净。这也是我写这篇文章的原因,因为我认为如果Harmony提供这样的软件模块,并且所有其他服务都从该模块占用时间或者向该模块交付时间会更好。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
473 浏览 0 评论
5793 浏览 9 评论
2334 浏览 8 评论
2224 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3530 浏览 3 评论
1124浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1095浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
873浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
475浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 03:15 , Processed in 1.122757 second(s), Total 98, Slave 81 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2811