openssl签发ssl x.509证书
LinuxOpenssl版本:

首先在/home目录下建立ssl目录:
cd /home
mkdir ssl
cd ssl
建立几个要用到的目录:
mkdir private certs newcerts crl
其中private主要用来存放私钥的.
免费ssl证书永久生成certs用于存入签出的证书
cp /usr/share/ssl/opensslf .
将配置文件复制到当前目录
构建相关文件:
echo 构建索引文件
echo 0&
echo 构建序列号文件serial
echo 01>serial
设定环境变量
export OPENSSL_CONF="/home/ssl/opensslf"
更改opensslf中的配置:
dir = /home/ssl
产生一个随机数文件:
openssl rand -out /home/ssl/private/.rand 1000下面才开始建立根证书:
1.制作私钥:
openssl genrsa -des3 -out private/ca.key.pem 2048
这来细细讲一下这条命令: openssl指进入openssl环境,genrsaopenssl中的一个小应用
程序,用来产生rsa私钥。-des3是指将产生的私钥用triple DES进行加密。这是个可选项,还有-des -idea都是对称加密算法,随你自己选择. -out就是指定输出了,如果不加这个选项的话,就会将输出发到标准输出中.2048指私钥的长度,单们是bit,默认是512
输入这条命令后,产生私钥,提示你设定密码.
2.填写证书申请表:
openssl req -new -key private/ca.key.pem -q.pem
提示你私钥的密码,一步一步输入就行了。
因为证书中要有公钥,和个人信息,所以我们指定私钥,程序推导出公钥,供申请表用。
3.自己签定根签书:
openssl x509 -req -days 1000 -sha1 -extensions v3_ca -signkey private/ca.key.pem -q.pem -out pem
其中的days是指证书的有效天数,shda1是消息摘要函数算法,默入为md5-signkey指定用于签证的私钥,运行过程中,要输入私钥的密码和设定书密码。
制做服务器端的证书并用ca签名:
1、产生一个rsa私钥,在此,我们不用密码保护。
openssl genrsa -out private/serverkey.pem 1024
2、填写证书申请表:
openssl req -new -key private/serverkey.pem -q.pem
或写为openssl req -new -key private/client_wang.key.pem –out q.pem -subj "/C=CN/ST=GD/L=ST/O=STDX/OU=GX203/CN=Wangyoubang/emailAddress=wangyoubang5858@sina"
3、用先前产生的认证中心的私钥对申请表进行签名:
openssl x509 -req -days 100 -sha1 -extensions v3_req -CA pem -CAkey private/ca.key.pem -CAserial ca.srl -CAcreateserial -q.pem -out pem
基中的CA选项指定的是认证中心的证书,也就是上面我们自签名产生的证书,CAkey就是认证中心的私钥,CAserial也许是指签发产生的序列号吧!!
如果我们想将证书转成p12格式的:
openssl pkcs12 -export -clcerts -in pem -inkey private/serverkey.pem -out certs/server.p12
制做用户的证书并用ca签名:(与生成服务器证书差不多)
1、 产生一个rsa私钥,在此,我们不用密码保护。
openssl genrsa -out private/clientkey.pem 1024
2、 填写证书申请表:
openssl req -new -key private/clientkey.pem -q.pem
或后面指定:
-subj "/C=CN/ST=GD/L=ST/O=STDX/OU=GX203/CN=Wangyoubang/emailAddress=wangyoubang5858@sina"
3、用先前产生的认证中心的私钥对申请表进行签名:
生成crt格式.
openssl x509 -req -days 100 -sha1 -extensions v3_req -CA pem -CAkey private/
ca.key.pem -CAserial ca.srl –CA createserial -q.pem -out pem
生成cer格式
openssl x509 -req -days 100 -sha1 -extensions v3_req -CA pem -CAkey private/ca.key.pem -CAserial ca.srl -CAcreateserial -in q.pem -out certs/