openssl 进行创建私有CA并自签,发证,吊销证书

一,创建私有CA(我使用的是192.168.10.2的服务器)自签:

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

dir             = /etc/pki/CA  真正的工作目录

certs           = $dir/certs   已经签发的CA证书

crl_dir         = $dir/crl      已经生成的吊销证书列表

database        = $dir/index.txt   签署的所有证书的目录主体信息

openssl 进行创建私有CA并自签,发证,吊销证书_第1张图片

new_certs_dir   = $dir/newcerts  刚刚签发的证书

certificate     = $dir/cacert.pem        CA自己的证书
serial          = $dir/serial           证书的序列号
crlnumber       = $dir/crlnumber        吊销证书的序列号,标记吊销序列号
crl             = $dir/crl.pem          # The current CRL
private_key     = $dir/private/cakey.pem   CA自己的私钥证书
RANDFILE        = $dir/private/.rand    

openssl 进行创建私有CA并自签,发证,吊销证书_第2张图片

(1)第一步创建所需要的文件

      touch index.txt

      echo 01 > serial

 

(2)第二步 CA自签证书(由于自己失误,重新生成一次证书)

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

openssl 进行创建私有CA并自签,发证,吊销证书_第3张图片

查看是否生成了cakey.pem文件

[root@ldy CA]# ls -l private/

-new 生成一个新证书签署的请求

-x509 专用于CA生成自签证书

-key 生成请求时用到的私钥文件(路径)

-days n 证书的有效期限

-out 证书的保存路径

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

openssl 进行创建私有CA并自签,发证,吊销证书_第4张图片

Country Name (2 letter code) [XX]:CN        国家
State or Province Name (full name) []:beijing            省份
Locality Name (eg, city) [Default City]:beijing         城市
Organization Name (eg, company) [Default Company Ltd]:ldy     公司
Organizational Unit Name (eg, section) []:stdent       部门 
Common Name (eg, your name or your server's hostname) []:ca.ldy.com    服务器的解析名称
Email Address []:[email protected]    邮件地址

 


以上使用的都是192.168.10.2的服务器

 

 

二,发证(我使用192.168.10.5为请求证书的服务器去请求192.168.10.2服务器)

 

1)用到证书的主机生成证书请求

2)把请求文件传输给CA

3)CA签署证书,并将证书发还给请求者

openssl 进行创建私有CA并自签,发证,吊销证书_第5张图片

以Httpd为例子

   #cd /etc/httpd/
    #dir
   # mkdir ssl
   #  ll
   #cd ssl/
   #  (umask 077; openssl genrsa -out httpd.key 2048)
   # openssl req -new -key httpd.key -days 365 -out httpd.csr
  # scp httpd.csr [email protected]:/tmp/

openssl 进行创建私有CA并自签,发证,吊销证书_第6张图片

openssl 进行创建私有CA并自签,发证,吊销证书_第7张图片

我们去192.168.10.2服务器查看是否文件传输过去(是否有httpd.csr文件)

openssl 进行创建私有CA并自签,发证,吊销证书_第8张图片

在192.168.10.2服务器发证服务器执行下面命令(俩次y表示确认)

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

openssl 进行创建私有CA并自签,发证,吊销证书_第9张图片

查看签署的库信息

openssl 进行创建私有CA并自签,发证,吊销证书_第10张图片

查看新签署的证书

ls /etc/pki/CA/newcerts/

然后把刚才生成的httpd.crt文件在传送回请求客户端192.168.10.5

[root@ldy CA]# /usr/bin/scp /tmp/httpd.crt 192.168.10.5:/etc/httpd/ssl/

去客户端192.168.10.5查看文件是否过去

三、吊销证书

            (一)节点
            1、获取证书serial
            # openssl x509 -in /path/to/certificate_file.crt -noout -serial -subject

            (二) CA
            2、根据节点提交的serial和subject信息来验正与index.txt文件中的信息是否一致;

            3、吊销证书
            # openssl ca -revoke /etc/pki/CA/newcerts/SERIAL.pem

            4、生成吊销证书的编号(如果是第一次吊销)
            # echo 00 > /etc/pki/CA/crlnumber

            5、更新证书吊销列表
            # cd /etc/pki/CA/crl/
            # openssl ca -gencrl -out thisca.crl

            如果需要,查看crl文件的内容:
            # openssl crl -in /path/to/crlfile.crl -noout -text

 

 

 

你可能感兴趣的:(openssl 进行创建私有CA并自签,发证,吊销证书)