SSL是Secure Sockets Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输。其目标是保证两个应用间通信的保密性和可靠性,可在服务器端和用户端同时实现支持。
OpenSSL是一个强大的安全套接字层密码库,其支持多种对称、非对称、摘要算法以及证书生成管理等功能,非常适合服务器等平台使用,开发者只需要安装完成Openssl后通过调用其API接口函数即可实现各种数据安全功能。
对称算法
支持的分组加密算法包括SM4、AES、DES、Blowfish、CAST、IDEA、RC2、RC5,都支持电子密码本模式(ECB)、加密分组链接模式(CBC)、加密反馈模式(CFB)和输出反馈模式(OFB)四种常用的分组密码加密模式。其中,AES使用的加密反馈模式(CFB)和输出反馈模式(OFB)分组长度是128位,其它算法使用的则是64位。DES算法还支持三个密钥和两个密钥3DES算法。
非对称算法
支持的非堆成算法包括SM2算法,DH算法、RSA算法、DSA算法和椭圆曲线算法(ECC)。SM2算法为国密算法可实现数据的签名验签和加解密、密钥交换等功能,DH算法一般用于密钥交换。RSA算法既可以用于密钥交换,也可以用于数字签名和加解密使用,DSA算法则一般只用于数字签名。
摘要算法
支持的摘要算法包括SM3、MD2、MD5、MDC2、SHA和RIPEMD。
OpenSSL是服务器端开发者的一把利器,后续文章会为大家介绍OpenSSL的安装、安装常见问题以及VS端调用方法。