利用了openssl或者是opengpg的任意一个软件来实现CA证书的颁发与认证。
具体实现方法如下:
第一步:建立CA证书颁发机构
说明:公钥是从私钥中提取出来的一部分内容,证书是含有公钥和用户的一些必要信息的东西。
生成CA的私钥
[root@www ~]# cd /etc/pki/CA
[root@www CA]# >index.txt
[root@www CA]# >serial
[root@www CA]# echo 01 >serial
[root@www CA]# ls
certs crl index.txt newcerts private serial
[root@www CA]# umask 077;openssl genrsa -out private/ca.key 2048
- 生成CA的公钥
[root@www CA]# openssl req -new -x509 -key private/ca.key -out cacert.crt -days 3650
按提示一次填写国家,省份,城市,单位,公司域名,邮箱就OK了。
第二步: 给用户颁发证书
- 首先自己先生成私钥,在提取公钥后生成申请证书文件,到CA证书机构去申请。
mkdir ssl
umask 077;openssl genrsa -out nginx.key 2048
ls 会看到ssl 目录下有个nginx.key这就是生成的私钥
- CA审核通过后颁发证书
[root@www ssl]#openssl req -new -key nginx.key -out nginx.csr
[root@www ssl]#cp nginx.csr /etc/pki/CA
[root@www CA]#openssl ca -in nginx.csr -out nginx.crt -days 365
3.到nginx的主配置文件中在server上下文中修改ssl那一段内容,需要修改的内容字段为:(注意:这是在公司中我们会做的事情)
server_name 后面写上获得证书的公司域名
ssl_certificate 后面写上获得证书的证书存放绝对路径
ssl_certificate_key 后面写上私钥的存放绝对路径
nginx中的CA证书的实现详解
原文:http://blog.51cto.com/13575678/2092718