首页 > 代码库 > 使用openssl构建私有CA

使用openssl构建私有CA

        构建私有CA的流程图,由于做图的时候忘记设置大小结果图就是这样........

wKiom1SP_nTQy1vIAAFDPaAcX7Y710.bmp

Openssl 配置文件: /etc/pki/tls/openssl.cnf

[ CA_default]


dir             = /etc/pki/CA CA的主目录

certs           = $dir/certs 证书所在的目录

crl_dir         = $dir/crl 被吊销的证书所在目录

database = $dir/index.txt 证书的数据文件

new_certs_dir         = $dir/newcerts 新颁发的证书目录

certificate     = $dir/cacert.pem CA自己的证书文件

certificate     = $dir/cacert.pem 证书序号文件

crlnumber               = $dir/crlnumber 吊销序号

crl             = $dir/crl.pem 当前使用的CRL

private_key         = $dir/private/cakey.pem 证书的私钥文件

RANDFILE            = $dir/private/.rand CA使用的随机数文件

wKioL1SP9YHgR0yIAAODkqb6EVY417.jpg


[ req_distinguished_name ]

这里所设置的内容就是为生成自签署证书时或者申请证书请求时的设置

countryName_default                        = XX 设置默认国家

#stateOrProvinceName_default        = Default Province         设置默认省份(注释掉了把#去掉就好)

localityName_default                         = Default City 设置默认城市

0.organizationName_default             = Default Company Ltd 设置默认公司

#organizationalUnitName_default     = 设置默认单位

wKioL1SP9ZmjFeKVAAMcGAk9L7A933.jpg

以上内容都可以修改为自己所需要的


构建私有CA详细步骤:

1.在CA服务器上生成私钥文件并且自签署证书

            1)为CA创建私钥文件

(umask 077;openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)

wKioL1SP9f3Dx3_iAAGvDdLjrJk899.jpg

        注:这里的生成位置及格式必须要和openssl的配置文件里定义的路径和格式要一样否则在处理申请证书请求时会提示错误,如果不想使用默认定义的格式可将配置文件的格式修改为你需要的.

            2)为私有CA颁布自签署证书

    openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3655

        -new :创建新证书

        -x509:自签署证书时使用,如果只是申请证书请求则不需要加此参数

        -key:指定私钥所在的位置

        -days:指定证书时间

wKioL1SP9onDAa1OAAL4ielh2Do317.jpg 3)输出序号序号文件

                echo 01 > /etc/pki/CA/serial

                4)创建证书数据文件

touch /etc/pki/CA/index.txt

2.客户端生成私钥并生成签署证书请求

(umask 077;openssl genrsa -out /tmp/app.key 2048)

wKioL1SP_iWjTCTLAAHGAEGTlbo165.jpg

openssl req -new -key /tmp/app.key -out /tmp/app.csr -days 365

wKioL1SP_nHCcuE-AANZ5oc5aj4013.jpg注    :这里所填写的信息除主机名和邮箱地址外其余必须要和CA证书的内容一模一样.

3.CA签署证书请求

        由于我这里只开了一台虚拟机,所以即做CA又做申请者

openssl ca -in /tmp/app.csr -out /tmp/app.crt -days 365

wKioL1SQDGDRSiE6AANZ6WkEEyw672.jpg

        输入两次Y即可签署

wKioL1SQDWOh0TNzAAMfEeT3T-s981.jpg

        4)吊销证书:

openssl ca -revoke /tmp/app.crt 

wKiom1SQDP-SuBESAAFJtYNS_iI882.jpg

本文出自 “Yxn” 博客,请务必保留此出处http://jyxnt.blog.51cto.com/9581167/1590800

使用openssl构建私有CA