第二十三章 Engine / 23.4 openssl 的Engine源码

OpensslEngine源码分为四类:

1  核心实现

crypto/engine目录下,是其核心实现。当同时有多个硬件Engine时,openssl分别为cipher对称算法(tb_cipher.c)dh算法(tb_dh.c)digest摘要算法(tb_digest.c)dsa算法(tb_dsa.c)ecdh算法(tb_ecdh.c)ecdsa算法(tb_ecdsa.c)rand随机数算法(tb_rand.c)rsa算法(tb_rsa.c)和存储方式(tb_store.c)维护一个哈希表。所有用户实现的硬件Engine都注册在这些全局的哈希表中。同时,用户使用的时候,能够指定各种算法默认的硬件Engine

2  内置硬件Engine

源码位于engines目录,实现了一些硬件Engine

3)    范例

源码位于demos/engines目录下,供用户学习参考。

4  分散于其他各个运算模块用于支持Engine

各个运算模块都支持Engine,当提供了Engine时,将会采用Engine中的算法。