1.配置CA
修改openssl配置文件/etc/pki/tls/openssl.cnf,做如下修改:
[ CA_default ]
dir = /etc/pki/CA #CA中心的目录
crl_dir = $dir/crl #被吊销证书的目录
database = $dir/index.txt #证书索引文件
new_certs_dir =$dir/newcerts #经过CA中心签名的证书备份目录
certificate = $dir/my-ca.crt # CA的公钥文件名
serial = $dir/serial # CA中心的颁发证书序列号
crlnumber = $dir/crlnumber #已吊销证书序列号
crl = $dir/my-ca.crl #证书吊销列表
private_key = $dir/private/my-ca.key #CA私钥文件
...
default_days = 365 #证书有效期
[ policy_match]
此段为证书相关信息选项,其中match指定的项,要求被签名证书一定要与CA的对应项一致。
[ req_distinguished_name ]
此段为CA证书的默认配置
下面开始配置,先建立CA中心的各个文件和目录,且umask 使用077
#(umask 077;mkdir -p /etc/pki/CA/{certs,crl,newcerts,private})
#touch /etc/pki/CA/{crl,serial,crlnumber}
#echo 00 > /etc/pki/CA/serial
然后生成CA的私钥和公钥
#(umask 077;openssl genrsa -out /etc/pki/CA/private/my-ca.key -des3 2048)
由私钥生成公钥
#openssl req -new -x509 -key /etc/pki/CA/private/my-ca.key -days 365 > /etc/pki/CA/my-ca.crt
创建公钥私钥:
生成RSA密钥: # openssl genrsa -des3 -out file.key 1024
生成证书: # openssl req -new -x509 -key privatekey.key -out cacert.csr -days 365
证书签名: # openssl ca -in cacert.csr -out server.crt
从.crt 转换成 .pem:
step 1> openssl x509 -in input.crt -out input.der -outform DER
step 2> openssl x509 -in input.der -inform DER -out output.pem -outform PEM
查看:
#openlls rsa -in file.key -noout -text
#openssl req -in file.csr -noout -text
#openssl x509 -in /path/yours.crt -noout -text
#openssl rsa -noout -modulus -in /path/to/ | openssl md5
#openssl x509 -noout -modulus -in /path/to/ | openssl md5
将my-ca.crt,即公钥放到ftp或者http等服务器,供其他人下载