openssl异步说明

介绍

 

TLS协议处理加解密是一个非常耗时的过程,尤其是非对称加解密。

如果openssl支持异步化处理,势必能够提升证书卸载效率,openssl从1.1.0版本开始支持异步处理。

openssl要真正发挥TLS异步模式的优势,一个支持异步模式的OpenSSL引擎是不可或缺的。openssl qat引擎是一个全面支持openssl异步模式的的杰出的解决方案。

linux平台openssl对异步模式的实现是基于协程的,由glibc提供。

当TLS被设置成异步模式时,一个异步任务结构就会被分配给该连接。

当一个协程放弃系统资源切换出去的时候,该异步任务被暂停。

旧函数堆栈信息会被完整地保存在这个结构体里。

当协程切换回来再次执行的时候,该异步任务恢复,函数堆栈会从这个结构体里复原出来。

如果这个TLS异步处理请求完整结束,该异步任务结构就会被释放归还。

asyn mode是openssl的异步I/O(AIO)模式,在这个模式下openssl会把硬件加速卡等不占用cpu的操作剥离出来,单独交给一个叫asyn job的结构去做。

在asyn job执行时cpu可以把当前任务暂停,切换上下文(保存/恢复栈、寄存器等)返回给user(用__setjump longjump实现)。

u

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值