由于一些需要,我们公司内部需要生成自己的  CA,所以这个基本的东西,你,我得会哦!

1.安装openssl。我用的是系统是redhat5.8,自带的openssl-0.9.8e-22.el5,。

2.修改它的配置文件/etc/pki/tls/openssl.cnf,修改默认CA目录,修改默认的国家,省份等。

[ CA_default ]

dir             = /etc/pki/CA           ##修改这里

[ req_distinguished_name ]

countryName_default             = CN
stateOrProvinceName_default     = BEIJING
localityName_default            = BEIJING
0.organizationName_default      = ZHONGGUANCUN
organizationalUnitName_default  = TECH
3.建立必须的文件与目录
mkdir -pv crl newcerts certs;
touch index.txt serial;
echo 01>serial;   ##输1是不行的,必须01哦

4.生成私钥到/etc/pki/CA/pravate下面名字叫cakey.pem

   1:  cd /etc/pki/CA;
   2:  (umask 077;openssl genrsa -out  private/cakey.pem 8192);
5.基于私钥生成自签证书
   1:  openssl req -new -x509 -key private/cakey.pem -days 3650 -sha256 -out cacert.pem
   2:  ##根据第一步设置的默认值回车下去直到提示输入hostnamed,我们输入ca.laoguang.me
   3:  ##提示输入email,我们输入admin@laoguang.me
   4:  ##回车结束
6.这时我们的自签ca生成了,可以为别的主机生成证书了
7.www服务器,申请一个证书,于是它先生成一个待签证书
   1:  (umask 077;openssl genrsa -out httpd.key 4096)
   2:  openssl req -new -key httpd.key -sha256  -out httpd.csr
   3:  ##根据提示填写相关信息,前5项务必于CA生成自签时的一致
   4:  ##hostnamed,填写实际使用证书的hostnamed
   5:  ##email随意了,根据提示输入后面的密码,公司名称
   6:  ##最后生成一个代签证书,把它传给ca服务器帮你签名
8.CA收到www发来的待签证书后给它签名
openssl ca -in httpd.csr -md sha256 -out httpd.crt
##接下来会显示申请者的信息,并提示你是否签名
##确定完毕后证书制作完毕,生成的证书就可以使用了

 

9.查看证书信息

openssl x509 -text -in httpd.crt
##查看证书的具体组成