OpenSSL建立私有CA

                     OpenSSL建立私有CA

 

  yum安装OpenSSL

wKioL1S7YgvTfR9mAAELwaJPtXU926.jpg

提示已经安装过了。

 

 

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

                       [CA_default]

                                 dir:CA的主目录

                                 certs:已颁发证书的存储位置

                                 crl_dir:已吊销证书的存储位置

                                 database:证书索引文件

                                 new_certs_dir:新颁发证书的存储位置

                                 certificateCA证书文件

                                 serial:证书颁发时的当前序列号

                                 crlnumber:吊销证书的当前序列号

                                 crl:当前使用的CRL

                                 private_key:CA私钥

                                 RANDFILE:私有随机数生成器文件

  wKioL1S7YhqDQCS1AAHt7Oux04M153.jpg

 

 

构建私有CA大体步骤:

  构建私有CA服务器:

              1、生成私钥;

              2CA服务器自签署证书;

 

     给节点发放证书:

 

              1、节点申请证书:

                       生成私钥

                       生成证书签署请求

                       把请求文件发送给CA

 

              2CA签署证书:

                       验正请求者的信息

                       签署证书

                       把签署好的证书发还给请求者

 

 

构建过程和openssl命令的使用:

  

         一、建立私有CA

                       1、生成私钥文件

                                 # cd/etc/pki/CA

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

     wKiom1S7YUqDLPdGAACyvEfU5hk890.jpg

           生成2048字节的私钥保存为private目录下的cakey.pem,命令放在()中表示命令在子shell中运行,命令中的umask与当前shellumask不会冲突。

 

                      

2、生成自签署证书

                                 req子命令:生成PKCS#10格式的证书签署请求

 

                                          -new: 生成新的证书签署请求;

                                          -key/path/to/private_key_file:私钥文件路径;

                                          -daysn:证书有效时长;

                                          -out/path/to/request_file: 生成的证书请求文件路径;

                                          -x509:专用于CA生成自签署证书时;

 

                                          -newkeyrsa:NUM  无需事先专门生成私钥文件,而是生成请求时直接生成私成私钥,并提取公钥用于证书;

 

                                 # openssl req-new -x509 -key private/cakey.pem -days 3655 -out cacert.pem

           wKioL1S7Yh2S4aBdAAJRQ-j4INU056.jpg

          创建自签署证书要输入国家代码、省份、城市、组织名称、客户机申请证书时填写这四项也要与这里一样才行。另外还要填写主机名如:www.stu19.com与验证身份有关,务必要填写正确。最后填写管理员的邮箱地址。

                                 # touch./{index.txt,serial}

                                 #echo 01 > serial                        

          创建证书编号文件,并写入01到文件中,以后再签证书数值会自动增长。

 

    二、给节点发放证书:

 

              1、节点申请证书:在申请证书的主机上进行

                       假设:用httpd服务且与CA在同一台服务器上,其位置为/etc/httpd/conf/certs/

 

                       生成私钥

                                 #(umask 077; openssl genrsa -out httpd.key 1024)

                       生成证书签署请求

                                 #openssl req -new -key httpd.key -out httpd.csr -days NUM

                                 注意:其subject信息中位置与公司要与CA的保持一致;

                        wKiom1S7YU6wNBBDAANMxfSmByA390.jpg

 

              2CA签署证书:在CA主机上执行如下命令

                       验正请求者的信息;

                       签署证书

                                 #openssl ca -in /path/from/REQ.csr -out /path/to/somefile.crt -days NUM

                       并把签署好的证书放到指定位置下:

                                 wKioL1S7YiHyPU8jAALFZHm-66A391.jpg

 

                      

 

              3、查看证书中的相关信息

                       #openssl x509 -in /path/to/somefile.crt -noout -text|-subject|-serial

      wKiom1S7YVbgres1AAQzHzpcEpk140.jpg

 

    三、吊销证书

 

         客户机操作:获取证书的serial(在证书持有端进行)

              # openssl x509-in /path/to/somefile.crt -noout -serial �Csubject

     wKiom1S7YVaD7L_OAABI_IKRHNw467.jpg

 

         CA服务器操作:

              1、根据证书持有者提交的serialsubject信息来与index.txt数据库文件中的信息是否一致;

 

              2.吊销证书

                       #openssl ca -revoke /etc/pki/CA/newcerts/SERIAL.pem

           wKioL1S7YiijbkbQAADRmWtwVWs179.jpg

 

              3、生成吊销证书的编号(如果是第一次吊销)

                       # echo01 > /etc/pki/CA/crlnumber

 

              4、更新证书吊销列表

                       # cd/etc/pki/CA/crl/

                       #openssl ca -gencrl -out thisca.crl

 

                       注意:查看crl文件的方法

                                 #openssl crl -in /path/from/somefile.crl -noout �Ctext

  wKiom1S7YVzQMzvBAAR3G5mOWo4867.jpg


你可能感兴趣的:(证书,ca)