openssl
一openssl简史
openssl是一个开放源代码的SSL协议的产品实现,采用C语言作为开发语言,具备了跨系统的性能。
Openssl最早版本在1995年发布的,1998年后开始由openssl项目组维护和开发。openssl的源代码库可以从官网链接: https://www.openssl.org/.支持Linux、Windows、MAC和VWS等多种平台。目前,openssl已经获得广泛运用,例如VOIP的openH323协议、Apache服务器、Linux安全模块等。
二openssl组成
Openssl实际上包含三部分:SSL协议库、密码算法库、应用程序。
SSL协议库部分完全实现了SSL协议的三个版本和TLS协议,SSL协议库的实现是由密码算法库的基础上实现的。使用该库,可以完整的建立一个SSL服务器和SSL客户端。该部分在Linux下编译会形成一个明文libssl.a的库,在Windows下则是名为ssleay32.lib的库。
openssl密码算法库是一个强大完整的密码算法库,主要包括公开密钥算法、对称加密算法、散列函数算法、X.509数字证书标准、PKCS12、PKCS7等标准。该部分在Linux下编译会形成一个明文libcrypto.a的库,在Windows下则是名为libeay32.lib的库。
应用程序部分是Openssl最生动的部分,也是openssl使用入门的部分。该部分基于上述的密码算法库和SSL协议实现很多实用和范例性的应用程序,主要包括各种算法的加密程序和各种密钥的产生程序(例如rsa、md5、enc等)、证书签发和验证程序(ca、x509,crl等)、