利用OpenSSL生成库和命令程序,在生成的命令程序中包括对加/解密算法的测试,openssl程序,ca程序.利用openssl,ca可生成用于C/S模式的证书文件以及CA文件.下面以C/S模式说明证书文件的生成步骤:
证书文件生成:
一.服务器端
1.生成服务器端的私钥(key文件);
openssl genrsa -des3 -out server.key 1024
2.生成服务器端证书签名请求文件(csr文件);
openssl req -new -key server.key -out server.csr
二.客户端
1.对客户端也作同样的命令生成key及csr文件;
openssl genrsa -des3 -out client.key 1024
openssl req -new -key client.key -out client.csr
三.生成CA证书文件
server.csr与client.csr文件必须有CA的签名才可形成证书.
1.首先生成CA的key文件:
openssl genrsa -des3 -out ca.key 1024
2.生成CA自签名证书:
openssl req -new -x509 -key -days 3650 ca.key -out ca.crt
CA 建立及证书签发
mkdir private newcerts CA
echo '01'>serial
touch index.txt
为 CA 建立 RSA 密钥对。打开终端,使用如下命令生成 RSA 密钥
openssl genrsa -des3 -out ./private/cakey.pem 2048
为了获取一个 CA 根证书,我们需要先制作一份证书请求。先前生成的 CA 密钥对被用于对证书请求签名。
openssl req -new -days 365 -key ./private/cakey.pem -out careq.pem
gai mu lu find / -name openssl.cnf
for example:/etc/pki/tls/openssl.cnf
gai dir hou
对 CA 证书请求进行签名
openssl ca -selfsign -in careq.pem -out cacert.pem
四.利用CA证书进行签名
Openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config openssl.cnf
3.生成客户端证书文件