转载,原文出处:https://www.cnblogs.com/zgxblog/p/13696139.html
一、openssl检查安装
1、查看系统是否安装:openssl version -a
2、ubontu系统安装:
sudo apt-get install openssl
sudo apt-get install libssl-dev
3、centos系统安装:
//解压openssl安装包
tar xvzf openssl-1.0.0d.tar.gz
//进入解压后的目录
cd openssl-1.0.0d
//修改openssl配置文件
./configure --prefix=/usr/local/openssl
//编译代码
make
//安装
make install
//安装curses.h头文件的库
sudo apt-get install libncurses5-dev
二、颁发证书
ca.crt 为自签名证书;
server.crt,server.key 为服务器端的证书和私钥文件;
proxy.crt,proxy.key 为代理服务器端的证书和私钥文件;
client.crt,client.key 为客户端的证书和私钥文件。
1、生成根证书私钥
openssl genrsa -out /home/ssl/CA/ca.key
#利用私钥生成一个根证书的申请,一般证书的申请格式都是csr。所以私钥和csr一般需要保存好
openssl req -new -key /home/ssl/CA/ca.key -out /home/ssl/CA/ca.csr
#自签名的方式签发我们之前的申请的证书,生成的证书为ca.crt
openssl x509 -req -days 3650 -in /home/ssl/CA/ca.csr -signkey /home/ssl/CA/ca.key -out /home/ssl/CA/ca.crt
#为我们的证书建立第一个序列号,一般都是用4个字符,这个不影响之后的证书颁发等操作
echo FACE > /home/ssl/CA/serial
#建立ca的证书库,不影响后面的操作,默认配置文件里也有存储的地方
touch /home/ssl/CA/index.txt
#建立证书回收列表保存失效的证书
openssl ca -gencrl -out /home/ssl/CA/ca.crl -crldays 7
2、生成服务器证书
#建立服务器验证证书的私钥
openssl genrsa -out /home/ssl/server/server.key
#生成证书申请文件
openssl req -new -key /home/ssl/server/server.key -out /home/ssl/server/server.csr
#利用根证书签发服务器身份验证证书
openssl ca -in /home/ssl/server/server.csr -cert /home/ssl/ca.crt -keyfile /home/ssl/ca.key -out /home/ssl/server/server.crt
#至此,服务器端身份认证证书已经完成,可以利用证书和私钥生成pfx格式的证书给微软使用,命令如下:
openssl pkcs12 -export -clcerts -in /home/ssl/server/server.crt -inkey /home/ssl/server/server.key -out server.pem
3、生成客户端证书
#生成私钥
openssl genrsa -des3 -out /home/ssl/client/client.key 1024
#生成证书请求文件
openssl req -new -key /home/ssl/client/client.key -out /home/ssl/client/cient.csr
#签发证书
openssl ca -in /home/ssl/client/client.csr -cert /home/ssl/ca.crt -keyfile /home/ssl/ca.key -out /home/ssl/client/client.crt
#客户端证书完成
openssl pkcs12 -export -clcerts -in /home/ssl/client/client.crt -inkey /home/ssl/client/client.key -out client.pem
其中可能有遇到一些问题,但都可解决,这里我也没怎么记录。。。