一、简介
OpenSSL ,即open secure sockets layer,是一个开源的安全套接字层的密码库。包括常用的密码加解密算法、常用的密钥算法、证书管理和SSL协议。
1、库的主要内容
OpenSSL 库主要包含三大部分:
openssl: 多用途的命令行工具,可以执行交互或批量命令。
libcrypto: 加解密算法库。
libssl:加密模块应用库,实现了ssl及tls。
2、库的功能
OpenSSL 库主要实现对称加密与非对称加密、密钥证书管理的功能。
①、加密
a、对称加密算法
OpenSSL 提供了8种对称加密算法,分别是AES、DES、Blowfish、CAST、IDEA、RC2、RC5、RC4。
b、非对称加密算法
OpenSSL提供了4种非对称加密算法,包括DH算法、RSA算法、DSA算法和椭圆曲线算法(EC)。DH一般用于密钥交换。RSA算法既可以用于密钥交换,也可以用于数字签名,但用于数据加密,RSA算法的速度比较慢。DSA算法则一般只用于数字签名。
②、摘要
OpenSSL实现了5种信息摘要算法,分别是MD2、MD5、MDC2、SHA(SHA1)和RIPEMD。
③、生成密码
④、生成随机数
⑤、生成密钥对
⑥、证书管理
生成证书,颁发证书,吊销证书
二、编译安装
OpenSSL库的下载,可以从GitHub上下载:https://github.com/ope