我知道wolfSSL是yaSSL的继任者。但我想知道wolfSSL/yaSSL的基本层是从什么开发出来的。
wolfSSL是否在嵌入式系统(FreeRTOS、ARM)内部使用openSSL或LwIP函数?
致以最好的问候,伊拉普斯。
发布于 2021-01-23 01:20:05
我知道wolfSSL是yaSSL的继任者。但我想知道wolfSSL/yaSSL的基本层是从什么开发出来的。
问得好!
yaSSL (又一个SSL)是用C++从头开始(没有基础)编写的用于mySQL的库,由mySQL委托使用,因为OpenSSL许可不能与mySQL当时使用的Apache许可证一起工作。这个库是由现在的首席技术官和wolfSSL公司的联合创始人在2004年从头开始编写的。
过了一段时间,随着yaSSL的问世,市场对嵌入式C实现有了需求。为了优化代码的可移植性和占用空间,SSL第二次绑在他的工作靴上,完全用C重新编写了相同的库,这后来被称为“又一个用C编写的wolfSSL”或简称CyaSSL。这是在2006年。
wolfSSL Inc.成立不久,CyaSSL在2014/2015年更名为wolfSSL。
长话短说,没有“基础”,一切都是从头开始写的!
随着时间的推移,越来越多的用户希望将其应用程序中的OpenSSL替换为wolfSSL,因为它由一家真正的公司支持,由专业人员编写,提供支持和维护以及商业许可选项,而且更专注于保护最终客户。
为此,wolfSSL编写了一个“兼容层”,以便以前链接到OpenSSL的应用程序可以重新编译为现在链接到wolfSSL,而无需更改API接口。相反,OpenSSL API只是映射到wolfSSL内部API。
这有帮助吗?
在嵌入式系统(FreeRTOS、ARM)中,wolfSSL内部是否使用openSSL或LwIP函数?
wolfSSL支持多个TCP/IP实现,但不依赖于任何单个实现。事实上,wolfSSL使用了一个自定义的"I/O回调“解决方案,并设置了一些默认的回调,以便在使用LWIP或BSD socket等构建时使用。这是完全有可能的!wolfSSL的项目涉及BlueTooth、USB、内存中、同一台PC上的两个应用程序之间、SPI接口上的TLS连接等!用户可以编写和注册他们自己的自定义I/O回调,也可以使用wolfSSL提供的满足用户需求的默认回调。总而言之,可以这样说:“如果它可以发送和接收数据,那么wolfSSL就可以在它上面进行TLS连接”。
热烈的问候,
https://stackoverflow.com/questions/65820322
复制相似问题