码迷,mamicode.com
首页 > 其他好文 > 详细

OpenSSL建立私有CA

时间:2015-01-19 00:24:01      阅读:287      评论:0      收藏:0      [点我收藏+]

标签:ca   证书   

                     OpenSSL建立私有CA

 

  yum安装OpenSSL

技术分享

提示已经安装过了。

 

 

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:私有随机数生成器文件

  技术分享

 

 

构建私有CA大体步骤:

  构建私有CA服务器:

              1、生成私钥;

              2CA服务器自签署证书;

 

     给节点发放证书:

 

              1、节点申请证书:

                       生成私钥

                       生成证书签署请求

                       把请求文件发送给CA

 

              2CA签署证书:

                       验正请求者的信息

                       签署证书

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

 

 

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

  

         一、建立私有CA

                       1、生成私钥文件

                                 # cd/etc/pki/CA

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

     技术分享

           生成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

           技术分享

          创建自签署证书要输入国家代码、省份、城市、组织名称、客户机申请证书时填写这四项也要与这里一样才行。另外还要填写主机名如: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的保持一致;

                        技术分享

 

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

                       验正请求者的信息;

                       签署证书

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

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

                                 技术分享

 

                      

 

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

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

      技术分享

 

    三、吊销证书

 

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

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

     技术分享

 

         CA服务器操作:

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

 

              2.吊销证书

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

           技术分享

 

              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 –text

  技术分享


OpenSSL建立私有CA

标签:ca   证书   

原文地址:http://linux2016.blog.51cto.com/4799006/1605285

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!