OpenSSL是全开放和开放源代码的工具包,实现安全套接层协议(SSLv2/v3)和传输层安全协议(TLSv1),形成一个功能完整的、通用目的的加密库SSLeay。应用程序可通过三种方式调用SSLeay,一是直接调用,二是通过OpenSSL加密库接口调用,三是通过Engine平台和OpenSSL对象调用,如图2-51所示。除了SSLeay外,用户还可以通过Engine安全平台访问CSP。
图2-51
使用Engine技术的OpenSSL不仅是一个密码算法库,而且是一个提供通用加解密接口的安全框架,在使用时,只要加载了用户的Engine模块,应用程序中所调用的OpenSSL加解密函数就会自动调用用户自己开发的加解密函数来完成实际的加解密工作。这种方法将底层硬件的复杂多样性与上层应用分隔开,大大降低了应用开发的难度。