OpenSSL是一款开源的SSL软件包,采用SSL的公开密匙技术加密,用于实现传输层的通讯加密功能。OpenSSL支持Linux、Windows、BSD、MAC等平台,包含丰富算法,SSL协议库和应用程序。
SSL基本常识
什么是SSL?
SSL(Secure Sockets Layer)即安全套接层,最初由netscape公司设计,建立在传输层的安全通讯协议,采用公开密匙体系的认证书认证方式来确保客户端和SSL服务器之间的通信安全。
SSL认证流程
SSL客户端在TCP建立链接之后,发出一个消息(包含了客户端所支持的算法列表)给服务端,然后服务端返回一个数据包(确定了这次通信所需算法)和SSL服务端的证书(包含了公匙)给客户端。客户端随后会使用收到的公匙将消息加密再传送,该加密消息只能用SSL服务器端私匙解密即便中途被截取也无法获知内容。
编译安装OpenSSL
准备工作
系统版本:Debian GNU/Linux 6.0
系统环境:Linux openvpn 2.6.32-5-amd64 #1 SMP Tue May 13 16:34:35 UTC 2014 x86_64 GNU/Linux
更新源:aptiude update
OpenSSL版本查看
- openssl version –a (查看版本)
- aptitude purge openssl(卸载openssl)
- rm –rf /etc/ssl (不一定是这个目录,但是一定要把配置文件删除)
安装基础编译环境
1 aptitude install build-essential
2 aptitude install make
编译安装zlib库
1 wget http://zlib.net/zlib-1.2.8.tar.gz
2 tar xf zlib-1.2.8.tar.gz
3 cd zlib-1.2.8
4 ./configure –prefix=/usr/local
5 make && make install
编译安装OpenSSL
Prefix是指定安装目录,openssldir是配置文件目录,最好安装两次,shared作用是生成动态链接库。
1 wget http://www.openssl.org/source/openssl-1.0.2.tar.gz
2 tar xf openssl-1.0.2.tar.gz
3 cd openssl-1.0.2
4 ./config –prefix=/usr/local –openssldir=/usr/local/ssl
5 make && make install
6 ./config shared –prefix=/usr/local –openssldir=/usr/local/ssl
7 make clean
8 make && make install
以上安装完成。
验证安装
1 openssl version –a (查看版本是否为1.0.2)