在上面这段程序中,函数engine_by_id 在openssl支持的所有硬件和软件加速引擎中查询用户指定的加速引擎,然后返回一个实例化的引擎对象。其中cswift是openssl支持的密码加速引擎的一种。表1显示了openssl支持的硬件和软件加速引擎。如果engine_by_id执行错误则返回null值,如果执行成功则返回一个指向引擎对象的指针,并且把这个指针赋值给变量e。函数engine_set_default的功能是通过给engine_by_id返回的引擎对象e设置标志位来限制引擎对哪种加密算法起作用。这个函数有两个参数,第一个参数是一个指向引擎对象的指针,第二个参数是用来设置引擎的标志位。在例1中,用engine_method_all标志设置的引擎可以对任何加密算法进行加速,但是如果用engine_method_rsa标志设置引擎,则这个引擎只能用来对rsa算法进行加速。表2中所列出的这些标志位可以被根据需要组合使用,组合逻辑是或,例如;
engine_set_default(e, engine_method_dsa| engine_method_rsa);
//引擎e只能对dsa和rsa加速。
|
openssl支持硬件和软件加速的引擎 | |
|
id(硬件描述字符串) |
描述 |
|
openssl |
本引擎使用普通的嵌入式功能完成加密操作 |
|
openbsd_dev_crypto |
本引擎建使用内嵌于freebsd操作系统的核心层次的加密功能。 |
|
cswift
本文关键:关于提高基于OpenSSL软件的运行效率的研究
相关方案
| |