关于mbed TLS的想法

计算机网络 - mbed TLS 计算机网络 - mbed TLS计算机网络 - mbed TLS背景SSL库是做什么的?什么是SSL?为什么用mbed TLS?SSL/TLS之间的区别?SSL库的一部分?概述SSL/TLS 客户端和服务器加密库对称加密算法散列算法公钥随机数发生X.509 证书处理测试堆栈解释(Stack explanation)SSL/TLS 说明示例客户端添加安全通信设置SSL 连接SSL/TLS 配置读写数... 阅读详情

最近想弄https,有两个选择,用openssl或者mbed TLS,前者过于庞大,后者简单很多,功能也很全。
但发现不好整合到corelooper
问题在于mbed TLS做的太多,包括建立socket,协商沟通,收发数据等
最精简的情况下面,我们需要的是mbed TLS只提供两个核心接口,input和output

class MbedTls;
class MbedTlsCB
{
public:
    void Output(void *data, int bytes) = 0;
};

class MbedTls
{
public:
    int Input(void *data, int bytes)
    {
        return -1;
    }

    MbedTlsCB *mCB = nullptr;
};

即mbed TLS只负责处理数据,不用管数据是怎么来的和怎么发出去的,更加不要直接/间接调用socket api

目前还没有找到解决办法
 

把https://tls.mbed.org上的帖子全部过了一遍,发现已有用户提出类似的问题

https://tls.mbed.org/discussions/generic/adding-asynchronous-api-on-mbedtls

https://tls.mbed.org/discussions/generic/problems-with-handshake-implementation

https://tls.mbed.org/discussions/generic/handshake-with-asynchronous-io

另外也看了mbedtls提供的demo

ssl_server和ssl_server2

发现它只能依次逐个的响应用户连接,或者用多线程来处理,每个线程响应一个用户连接

没法做到在一个线程中响应多个连接

感觉这样很不好,现在还不清楚mbedtls内部细节,但如果是我来设计,肯定会用分层的概念,至少可分为两层

libtls数据处理做成一个lib,只输入和输出数据,不做网络操作

libnet处理网络连接,收发

这两个库合起来完成目前mbedtls的功能,而第三方可以用自己的网络库来替换libnet,只需要使用libtls即可

 

 

 

 

 

 

Telink TLSR825x系列——Mbed TLS(mbedtls)库的简单移植和使用 相比互联网的openSSL,物联网的嵌入式设备适合小巧灵活的MbedTLS,曾用名PolarSSL,可以根据需求进行配置,降低对硬件资源的消耗。mbedtls是一款采用Apache 2.0许可证协议开源软件加密库,使用标准C语言编写;独立的模块设计,降低模块之间的耦合度。Mbed TLS官网mbedtls官方名称为Mbed TLS,如果网上搜不到相关资源,就用“Mbed TLS”来做关键词来搜索,毕竟对搜索引擎来说“Mbed TLS”和“mbedtls”搜索的是不同的东西。 阅读详情

相关推荐

从HMAC到TLS:用Mbed TLS给STM32打造全链路安全方案

本文详细介绍了如何利用Mbed TLS为资源受限的STM32微控制器构建从HMAC到TLS的全链路安全通信方案。文章深入探讨了Mbed TLS的模块化裁剪、STM32硬件加密加速器的集成、轻量级TLS客户端的配置与优化,以及使用XCA工具进行私有证书管理,为嵌入式开发者提供了一套清晰、可落地的安全实践路径。

weixin_29322553的博客 337

mbed-TLS、 SSL、 OpenSSL、TLS的区别

一、关于PolarSSLmbed TLS(以前称为PolarSSL)是TLS和SSL协议的实现,并且需要相应的加密算法和支持代码。这是双重许可与Apache许可证 2.0版(与GPLv2许可也可)。网站上指出,mbed TLS的目标是“易于理解,使用,集成和扩展”核心SSL 库用C编程语言编写,并实现SSL模块,基本加密功能并提供各种实用功能。与OpenSSL和TLS的其他实现不同,mbed TL

crjmail的博客 1万+

c语言开源库mbedtls之实现https下载文件功能

测试效果 测试代码:

我不是码农的博客~~~ 1082

mbedtls耗时问题(TLS耗时,https耗时)

mini_httpd作为服务端https耗时优化,mbedtls耗时,SSL证书问题,TLS握手耗时问题

weixin_43778559的博客 3144

出现故障的https:借助ARM的开源MbedTLS库,以简单,轻便,简单的方式处理HTTP(S)请求

故障HTTPS 借助在C中执行HTTP(S)请求的简单,轻便和简单的方法。 查看API文档 如何克隆 git clone --recursive https://github.com/GlitchedPolygons/glitchedhttps.git 如何使用 只需将glitchedhttps作为git子模块添加到您的项目中(例如,添加到项目存储lib/某些lib/或deps/文件夹中;在以下示例中使用{repo_root}/lib/ )。 git submodule add https://github.com/GlitchedPolygons/glitchedhttps.git lib/glitchedhttps git submodule update --init --recursive 如果使用CMake,则可以在CMakeLists.txt文件中添加add_subdir

mbedtls Thread Safety and Multi Threading

Mbedtls Thread Safety and Multi Threading: concurrency issues If you want to use multi threading in mbedtls, You must first open the Macro switch MBEDTS_THREADING_PTHREAD and MBEDTLS_THREADING_C. Or use other thread-library with MBEDTLS_THREADING_ALT and MBEDTLS_THREADING_C instead. In you code file

单进程支持高并发

学习nginx,很好奇如何做到单个进程支持几万并发(当时用3万client连接过去,都能保持连接)。 在linux服务器上: 不使用select,因为fd_set限制为1024,只能有1024个连接,而且慢。 使用epoll,man epoll可以看到资料。尽管使用了epoll,但是超过1024连接时,还是会有too many open files的错误,每个连接都是一个文件

zqf_office的专栏 885

C#调用Halcon程序三种方法

C#调用Halcon程序三种方法 1.halcon导出C#文件,在C#里面调用 2.在C#里面使用Halcon引擎调用Halcon程序 3.在C#里面使用Halcon引擎调用.hdev下本地函数或者.hdvp外部函数 Halcon引擎手册:C:/Program Files/MVTec/HALCON-21.11-Progress/doc_en_US/html/manuals/programmers_guide/programmers_guide_0120.html 1.导出C#(代码我只给出类,需要调用)

A541925504的博客 1万+

cURL支持https--移植--集成mbedTLS

前言: cURL若要支持https即SSL/TLS协议,则需要移植开源ssl库,用的最多的则是openssl、若是在嵌入式设备中使用openssl库,则编译后的大小比较大,不适合用在嵌入式设备。于是转向更小巧的mbedTLS(PolarSSL),CyaSSL 。一、移植mbedTLS: 本次移植选用mbedTLS进行移植。 1.下载:mbedTLS 本次选用mbedtls-2.6.0-apac

skyblue535的博客 7487

四足机器人通用运动控制策略:强化学习与PD参数优化

运动控制是机器人实现稳定行走和复杂动作的核心技术,其关键在于精确调节关节的刚度和阻尼特性。PD控制器作为基础控制单元,通过比例(P)和微分(D)增益参数直接影响系统响应速度与稳定性。在四足机器人领域,强化学习(RL)通过模拟环境自主学习,能够有效解决传统控制方法难以适应不同形态机器人的痛点。该技术通过非对称Actor-Critic架构,结合状态估计网络和自适应参数采样策略,实现了跨平台的通用运动控制。典型应用包括工业检测、灾害救援等需要高适应性移动能力的场景,其中PD增益优化和形态参数自适应采样成为提升硬件

weixin_30307921的博客 299

CODESYS V3.5 SP17编程环境全攻略:从安装到多语言编程实战

本文全面解析CODESYS V3.5 SP17编程环境,从安装配置到多语言编程实战技巧。详细介绍了运行时环境设置、六种IEC 61131-3语言的特性对比与混合编程策略,以及高级功能开发如自定义算法模块和实时通信配置。适合工业自动化工程师快速掌握这一强大工具。

weixin_30632089的博客 489

Mbed TLS核心组件深度解析:从加密原语到TLS协议

Mbed TLS是一个开源、轻量级的SSL/TLS加密库,专为嵌入式系统和资源受限环境设计。它提供了一套完整的加密解决方案,从基础的加密原语到完整的TLS协议实现,是现代物联网设备和安全通信应用的理想选择。 ## 🛠️ Mbed TLS架构概览 Mbed TLS采用模块化设计,主要包含三个核心组件: - **Mbed Crypto** - 提供底层加密原语 - **Mbed X.509**

gitblog_00302的博客 759

使用electron静默打印

使用electron静默打印 1.使用electron打印的理由 很多情况下程序中使用的打印都是用户无感知的。并且想要灵活的控制打印内容,往往需要借助打印机给我们提供的api再进行开发,这种开发方式非常繁琐,并且开发难度较大。 electron提供的打印api可以非常灵活的控制打印设置的显示,并且可以通过html来书写打印内容。 2.api ele...

w1366352655的博客 945

HTTPS原理与mbed TLS实现

HTTP(HyperText Transfer Protocol,超文本传输协议)是用于传输超文本信息的协议,它是互联网上应用最为广泛的一种网络协议。HTTP连接本质就是使用TCP协议建立起的可靠连接进行请求发送与请求响应。1. DNS解析:当客户端(如浏览器)尝试访问一个网站时,它首先会尝试从本地缓存中查找域名对应的IP地址。如果本地缓存中没有找到,客户端会发送DNS查询请求到本地的DNS服务器。2. 建立TCP连接。

qq_69004149的博客 2571

AI驱动的网络安全运维:智能化时代的安全保障

本项目旨在使用Python和AI技术构建一个智能化的网络安全运维系统,能够实时监测网络流量,检测潜在的安全威胁,并自动采取应对措施,从而提升网络安全管理的效率和准确性。具体内容包括:环境配置与依赖安装数据采集与预处理机器学习模型构建与训练实时威胁检测与响应实际应用案例通过本文的介绍,我们展示了如何使用Python和AI技术构建一个智能化的网络安全运维系统。

Echo_Wish 1290

CloudCompare 二次开发:插件中的 PCL 环境配置与编程

在进行 CloudCompare 的二次开发过程中,我们常常需要使用点云库(Point Cloud Library,简称 PCL)来处理和分析点云数据。在 CloudCompare 的界面中,选中一个点云对象,然后点击菜单栏中的 “插件” -> “MyPluginAction”。插件将对选中的点云对象进行体素滤波处理,并更新显示结果。下面我们将展示一个简单的插件编程示例,该示例使用 PCL 对输入的点云数据进行体素滤波处理。方法进行体素滤波处理,并将结果点云赋值给选中的点云对象。文件并点击 “打开”。

2301_79331387的博客 283

10个Mbed TLS实战案例:从基础加密到高级TLS通信

Mbed TLS是一个开源的SSL/TLS加密库,专为嵌入式系统和物联网设备设计。它提供了完整的SSL/TLS协议栈实现,支持多种加密算法和协议,是构建安全通信应用的理想选择。本文将介绍10个实用的Mbed TLS实战案例,帮助您从基础加密到高级TLS通信全面掌握。 ## 🔐 基础加密功能案例 ### 1. 数据加密解密实战 Mbed TLS支持AES、DES、3DES等多种对称加密算法。通

gitblog_00984的博客 910

【K8S系列】Kubernetes Pod节点CrashLoopBackOff 状态及解决方案详解【已解决】

在 Kubernetes 中,Pod 的状态为 **`CrashLoopBackOff`** 表示某个容器在启动后崩溃,Kubernetes > 尝试重启该容器,但由于持续崩溃,重启的间隔时间逐渐增加。下面将详细介绍 `CrashLoopBackOff > `状态的原因、解决方案及相关命令的输出解释。

颜淡慕潇 8380

探索Mbed TLS:嵌入式系统中的加密与安全通信

Mbed TLS 是一个开源的加密库,旨在为嵌入式系统和资源受限的设备提供安全通信和加密功能。它支持多种加密算法(如AES、RSA、ECC)、哈希函数(如SHA-256)、随机数生成器以及SSL/TLS协议的实现。Mbed TLS 的设计目标是模块化、可移植和易于集成,使其成为嵌入式开发者的首选加密库。Mbed TLS 的模块化设计允许你根据需要启用或禁用特定功能。通过修改config.h文件,你可以自定义库的功能集,以减少资源占用。

ScilogyHunter的博客 3180

视觉Transformer实战 | Vision Transformer(ViT)详解与实现

在计算机视觉领域,卷积神经网络 (CNN) 长期以来一直是处理图像任务的主流架构。然而,随着 Transformer 在自然语言处理领域的巨大成功,研究人员开始探索将这种基于自注意力机制的架构应用于视觉任务。Vision Transformer (ViT) 是这一探索的重要里程碑,它首次证明了纯 Transformer 架构在图像分类任务上可以超越最先进的 CNN 模型。本文将详细介绍 ViT 的技术原理,并使用 PyTorch 从零开始构建 ViT 模型用于图像分类任务。

盼小辉丶的博客 4万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

mbed TLS 简明教程(一)

概述 mbed tls库的设计可以轻松地与现有(嵌入式)应用程序集成,并为安全通讯、密码学和密钥管理提供构建模块.本教程将帮助你了解如何执行这些步骤. mbed tls 被设计成尽可能松散耦合,让你只需要整合你需要的部分,而不需要关注其余部分.这也为mbed tls 带来了非常低内存占用和构建足迹.通过消除你系统中不需要的部分,你可以将构建版本从低至45kB的版本升级到更典型的300kB版本,...

phenixyf的专栏 8123

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

什么是Mbed TLS

Mbed TLS是一个轻量级、开源的加密库,旨在为嵌入式系统和其他资源受限的环境提供安全通信和数据保护功能。

luoqice的博客 1277

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Mbed TLS 项目常见问题解决方案

Mbed TLS 是一个开源项目,提供了一套用于实现加密原语、X.509 证书操作以及 SSL/TLS 和 DTLS 协议的 C 语言库。其代码占用空间小,非常适合嵌入式系统。 ## 1. 项目基础介绍和主要编程语言 **项目介绍:** Mbed TLS 是一个易于使用、可读性强且灵活的 TLS 库,同时也是 PSA Cryptography API 的参考实现。它的设计目标是为嵌入式设备和物

gitblog_00524的博客 1111

Mbed TLS SSL/TLS协议实现原理:深入理解握手过程

在现代互联网安全通信中,SSL/TLS协议扮演着至关重要的角色。Mbed TLS作为一款轻量级的加密库,提供了完整的SSL/TLS协议实现,让开发者能够轻松构建安全的网络应用。本文将深入解析Mbed TLS中SSL/TLS协议的实现原理,特别聚焦于复杂的握手过程。🔐 ## SSL/TLS协议基础架构 SSL/TLS协议的核心目标是提供通信安全,确保数据在传输过程中的**保密性**、**完整性

gitblog_00094的博客 1183

如何快速上手Mbed TLS:5分钟搭建你的第一个加密应用

Mbed TLS是一个开源、轻量级的SSL/TLS加密库,专门为嵌入式系统和资源受限环境设计。这个强大的加密工具包提供了完整的SSL/TLS协议实现,以及各种加密算法支持,让开发者能够轻松构建安全的网络应用。🚀 ## 为什么选择Mbed TLS加密库? Mbed TLS作为一款专业的加密工具包,具有以下突出优势: - **轻量级设计**:专门为嵌入式设备和资源受限环境优化 - **高度模块

gitblog_00216的博客 971

Mbed TLS加密原语详解:AES、RSA、SHA256等核心算法实现指南

Mbed TLS是一个开源、轻量级的加密库,专门为嵌入式系统和资源受限环境设计,提供了完整的TLS/SSL协议实现和丰富的加密原语支持。本文将深入解析Mbed TLS中的核心加密算法实现,帮助开发者全面理解其加密基础设施。 ## 🔐 什么是Mbed TLS加密原语? 加密原语是构建安全通信的基础构件,Mbed TLS提供了全面的加密原语集合,包括对称加密、非对称加密、哈希函数和密钥交换算法。

gitblog_00956的博客 767
上一篇: HJ212 2017中国国家环境保护标准,服务器&客户端初步完成
下一篇: 研究java的依赖注入DI和控制反转IoC
xwpcom
博客等级 码龄24年 16粉丝 60原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值