wolfSSL vs. MBEDTLS vs. OpenSSL - 有啥区别?

Posted

技术标签:

【中文标题】wolfSSL vs. MBEDTLS vs. OpenSSL - 有啥区别?【英文标题】:wolfSSL vs. MBEDTLS vs. OpenSSL - What is the difference?wolfSSL vs. MBEDTLS vs. OpenSSL - 有什么区别? 【发布时间】:2021-07-16 04:30:06 【问题描述】:

我正在研究用于嵌入式设备的不同 SSL/TLS 库。

我想知道人们认为每个库的优缺点是什么,以及这些库是否有特定的用例。

【问题讨论】:

您几天前问了完全相同的问题,但由于离题而被关闭。是什么让您觉得它突然成为话题? @SteffenUllrich 我不知道您所说的题外话是什么意思,它已关闭,因为 Stack-overflow 不允许问题直接询问软件建议,但它说我可以将问题编辑为确保它不要求推荐。我就是这么做的,我不认为我做错了什么。它还没有再次关闭,所以我认为这意味着它是热门话题。 SO 是关于解决更具体的问题,通常是一些不工作的东西,或者可能不知道从几个等选项中选择解决问题的最佳方法是什么。你的问题是一个非常广泛的问题.这不是关于解决问题,而是关于其他人为您收集有关各种 SSL 库的所有信息,除此之外还提供关于它的意见(这也是题外话)。这不是“我正在研究”,而是希望其他人为您进行研究。 【参考方案1】:

首先,所有三个库都将完成相同的事情,只有一个可能更适合您的用例。这三个都是开源的,将在嵌入式系统上运行,并且除了 Mbed TLS 之外,都支持 TLS 1.3。

OpenSSL

支持 TLS 1.3 在更高端的嵌入式系统上运行,但具有更大的代码库,并且在设计时并未考虑嵌入式系统。根据平台的不同,可能需要进行一些移植。

Mbed TLS

不支持 TLS 1.3 具有良好的文档并且比 OpenSSL 更直观。 API 易于理解和使用。

wolfSSL

支持 TLS 1.3 适用于嵌入式系统,因此代码库要小得多。 包含适用于各种平台的预构建示例的出色文档。 最新项目,不断更新和安全修复。

【讨论】:

可能值得一提的是,如果最终产品用于商业用途(非开源),截至 2021 年 8 月,wolfSSL requires obtaining a commercial license per each SKU,而其他产品则不需要任何付款。

以上是关于wolfSSL vs. MBEDTLS vs. OpenSSL - 有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

D365 F&O VS一个好玩的bug

Input Size VS Time Complexity

查询更新 MySQL 5.0 vs 5.7

从 O(1) 中的链表中删除任何元素 - Java vs C++

经验分享win10 qmake 构建 ncnn vs 工程

VS2015快捷键