Open××× 是一个基于 OpenSSL 库的应用层 ××× 实现。和传统 ××× 相比,它的优点是简单易用。Open×××允许参与建立×××的单点使用共享金钥,电子证书,或者用户名/密码来进行身份验证。它大量使用了OpenSSL加密库中的SSLv3/TLSv1 协议函式库。Open×××能在Solaris、Linux、OpenBSD、FreeBSD、NetBSD、Mac OS X与Windows 2000/XP/Vista上运行,并包含了许多安全性的功能。它并不是一个基于Web的×××软件,也不与IPsec及其他×××软件包兼容


一:安装准备

1:检查是否已经安装openssl

[root@zcdoit ~]# rpm -qa | grep openssl
openssl098e-0.9.8e-17.el6.centos.2.x86_64
openssl-devel-1.0.1e-57.el6.x86_64
openssl-1.0.1e-57.el6.x86_64
#如果没有安装则   # yum install -y openssl

二:安装

 1:安装LZO实时压缩工具

wget  http://www.oberhumer.com/opensource/lzo/download/lzo-2.09.tar.gz
tar zxvf lzo-2.09.tar.gz
cd lzo-2.09
./configure
 make && make install

2:安装Open××× 

#国内被墙了,需要挂代理
wget http://swupdate.open***.org/community/releases/open***-2.3.6.tar.gz
tar zxvf open***-2.3.6.tar.gz
cd open***-2.3.6
./configure --prefix=/usr/local/open***  --with-lzo-headers=/usr/local/include --with-lzo-lib=/usr/local/lib
make && make install

3:安装密钥制作工具

[root@zcdoit ~]#yum install easy-rsa  #2.36版本不自带密钥制作工具,需单独安装

三:密钥制作

#创建/etc/open***目录,用于存放密钥
[root@zcdoit ~]mkdir /etc/open***
[root@zcdoit ~]cp /usr/share/easy-rsa -r /etc/open***/

1:生成ca证书

#为了生成方便先修改vars文件
[root@zcdoit ~]cd /etc/open***/easy-rsa/2.0
[root@zcdoit ~]vim vars  #自签证书,按照自己情况来修改就行,保存退出
export KEY_COUNTRY="US"   #国家
export KEY_PROVINCE="CA"  #省份
export KEY_CITY="SanFrancisco"  #城市
export KEY_ORG="Fort-Funston"   #组织
export KEY_EMAIL="me@myhost.mydomain"   #邮箱
export KEY_OU="MyOrganizationalUnit"   #部门

#让配置生效
[root@zcdoit ~]# pwd
/etc/open***/easy-rsa/2.0
[root@zcdoit ~]source ./vars
NOTE: If you run ./clean-all, I will be doing a rm -rf on /etc/open***/easy-rsa/2.0/keys
[root@zcdoit ~] ./clean-all  #清除所有的证书相关keys
[root@zcdoit ~] ./build-ca   #创建新的 ca证书, ca.crt  ca.key。
   #在生成过程中,只需按回车即可。
[root@zcdoit ~]ll keys/   #生成证书如下:
total 12
-rw-r--r-- 1 root root 1700 Oct 10 11:58 ca.crt
-rw------- 1 root root 1704 Oct 10 11:58 ca.key
-rw-r--r-- 1 root root    0 Oct 10 11:57 index.txt
-rw-r--r-- 1 root root    3 Oct 10 11:57 serial

2:生成服务端证书与key文件

[root@zcdoit ~]# ./build-key-server server  # ./build-key-server <证书名称>,根据需要命名
 
#在生成过程中,只需按回车即可。当选择[Y/N]时,请输入"Y"。
[root@zcdoit ~]ll keys/   #生成证书如下:
total 48
-rw-r--r-- 1 root root 5436 Oct 10 12:01 01.pem
-rw-r--r-- 1 root root 1700 Oct 10 11:58 ca.crt
-rw------- 1 root root 1704 Oct 10 11:58 ca.key
-rw-r--r-- 1 root root  126 Oct 10 12:01 index.txt
-rw-r--r-- 1 root root   21 Oct 10 12:01 index.txt.attr
-rw-r--r-- 1 root root    0 Oct 10 11:57 index.txt.old
-rw-r--r-- 1 root root    3 Oct 10 12:01 serial
-rw-r--r-- 1 root root    3 Oct 10 11:57 serial.old
-rw-r--r-- 1 root root 5436 Oct 10 12:01 server.crt
-rw-r--r-- 1 root root 1070 Oct 10 12:01 server.csr
-rw------- 1 root root 1704 Oct 10 12:01 server.key

3:生成客户端证书:

[root@zcdoit ~]# ./build-key client  # ./build-key <证书名称>,根据需要命名,一人一证书
#在生成过程中,只需按回车即可。当选择[Y/N]时,请输入"Y"。
#也可以使用build-key-pass命令生成客户端证书,
#build-key-pass命令与build-key,区别是build-key-pass加上了密码保护(客户端拨号时需要密码)
[root@localhost 2.0]# ll keys/
total 84
-rw-r--r-- 1 root root 5436 Oct 10 12:01 01.pem
-rw-r--r-- 1 root root 5318 Oct 10 12:06 02.pem
-rw-r--r-- 1 root root 1700 Oct 10 11:58 ca.crt
-rw------- 1 root root 1704 Oct 10 11:58 ca.key
-rw-r--r-- 1 root root 5318 Oct 10 12:06 client.crt
-rw-r--r-- 1 root root 1070 Oct 10 12:06 client.csr
-rw------- 1 root root 1704 Oct 10 12:06 client.key
-rw-r--r-- 1 root root  252 Oct 10 12:06 index.txt
-rw-r--r-- 1 root root   21 Oct 10 12:06 index.txt.attr
-rw-r--r-- 1 root root   21 Oct 10 12:01 index.txt.attr.old
-rw-r--r-- 1 root root  126 Oct 10 12:01 index.txt.old
-rw-r--r-- 1 root root    3 Oct 10 12:06 serial
-rw-r--r-- 1 root root    3 Oct 10 12:01 serial.old
-rw-r--r-- 1 root root 5436 Oct 10 12:01 server.crt
-rw-r--r-- 1 root root 1070 Oct 10 12:01 server.csr
-rw------- 1 root root 1704 Oct 10 12:01 server.key

4:生成DH文件

[root@zcdoit ~]# ./build-dh
Generating DH parameters, 2048 bit long safe prime, generator 2
This is going to take a long time
.....+.......................+........

[root@zcdoit ~]## ll keys/dh*   
-rw-r--r-- 1 root root  424 Oct 10 12:02 dh2048.pem

5:服务端配置文件修改

#将例子下的server.conf文件复制到/etc/open***中

[root@zcdoit ~]#cp /root/open***-2.3.6/sample/sample-config-files/server.conf /etc/open***/