2.2.2 OpenSSL加密库调用方式

OpenSSL是全开放的和开放源代码的工具包,实现安全套接层协议(SSL v2/v3)和传输层安全协议(TLS v1)以及形成一个功能完整的、通用目的的加密库SSLeay。应用程序可以通过三种方式调用SSLeay,如图2-1所示。

图2-1

一是直接调用,二是通过OpenSSL加密库接口调用,三是通过Engine平台和OpenSSL对象调用。除了SSLeay外,用户还可以通过Engine安全平台访问CSP。

使用Engine技术的OpenSSL已经不仅仅是一个密码算法库,而是一个提供通用加解密接口的安全框架,在使用时只要加载了用户的Engine模块,应用程序中所调用的OpenSSL加解密函数就会自动调用用户自己开发的加解密函数来完成实际的加解密工作。这种方法将底层硬件的复杂多样性与上层应用分隔开,大大降低了应用开发的难度。