美文网首页
创建CA和申请证书

创建CA和申请证书

作者: 芷_念 | 来源:发表于2017-07-17 11:13 被阅读0次
    ·

    在实验开始之前先了解一下一下内容:

    • x509证书 :一般会用到三类文,key,csr,crt。
    • CA :签证机构(Certificate Authority)
    • CRL:证书吊销列表
    • key: 是私用密钥openssl格,通常是rsa算法。
    • csr :是证书请求文件,用于申请证书。在制作csr文件的时,必须使用自己的私 钥来签署申,还可以设定一个密钥。
    • crt:是CA认证后的证书文,(windows下面的,其实是crt),签署人用自己的key给你签署的凭证。

    此实验可以先设一个场景,假设centos6是web服务器,需要对外提供https服务。若要搭建网络站点:https://www.magedu.com,此时centos6需要有证书。把centos7当做CA,centos6向centos7申请证书,centos7为其颁发证书。在颁发证书的过程中,centos6是客户端,centos7是服务器端

    下面我们来创建CA并申请证书

    一:在centos7上创建私有CA

    1:创建所需要的文件

    生成证书索引数据库文件

     touch /etc/pki/CA/index.txt
    

    指定第一个颁发证书的序列号

    echo 01 > /etc/pki/CA/serial
    

    2:CA 自签证书

    生成私钥 cd /etc/pki/CA/

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

    3:生成自签名证书
     openssl req -new -x509 –key /etc/pki/CA/private/cakey.pem -days 3560 -out 
      /etc/pki/CA/cacert.pem
    
    • -new: 生成新证书签署请求
    • -x509: 专用于CA 生成自签证书
    • -key: 生成请求时用到的私钥文件
    • -days n :证书的有效期限
    • -out / PATH/TO/SOMECERTFILE : 证书的保存路径
      在填写信息是根据/etc/pki/tls/openssl.cnf 中的配置要求,这三项必须匹配、一致

    查看一下刚刚输入的信息

     openssl x509 -in /etc/pki/CA/cacert.pem -noout -text
    

    查看一下/etc/pki/CA/目录结构
    Alt text
    现在也可以把证书传到Windows上看一下 sz /etc/pki/CA/cacert.pem
    在Windows上接收并更改后缀名为 .cer Alt text

    二:在centos6上颁发证书

    1:在需要使用证书的主机生成证书请求。

    给web服务器生成私钥

     (umask 066; openssl genrsa -out /etc/pki/tls/private/service.key 2048)
    

    生成证书申请文件

     openssl req -new -key /etc/pki/tls/private/service.key -days 365 -out 
      /etc/pki/tls/service.csr
    

    2:将证书请求文件传输给CA

    scp /etc/pki/tls/service.csr 172.16.251.13:/etc/pki/CA/
    
    • 172.16.251.13:centos7 的IP
      -/etc/pki/tls/:指定路径

    3:在centos7上为CA 签署证书,并将证书颁发给请求者(centos6)

    openssl ca -in /etc/pki/tls/service.csr –out /etc/pki/CA/certs/service.crt -days
       365
    

    注意:默认国家,省,公司名称三项必须和CA一致

    4:在centos7中 查看 证书中的信息:

    openssl x509 -in /etc/pki/CA/certs/service.crt -noout -text
    

    查看 指定 编号的证书状态

    openssl ca -status serial
    

    此时的目录结构为


    三:吊销证书

    1:获取要吊销的证书的serial(centos7)

       openssl x509 -in / PATH/FROM/CERT_FILE -noout -serial -subject
    

    2:吊销证书(centos7)

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

    在CA 上,根据客户提交的serial 与subject 信息,对比检验是否与index.txt 文件中的信息一致


    3:定第一个吊销 证书的编号
    注意:第一次更新证书吊销列表前,才需要 执行
     echo 01 > /etc/pki/CA/crlnumber
    

    4:更新证书吊销列表

      openssl ca -gencrl -out /etc/pki/CA/crl/crl.pem
    

    查看crl 文件:

       openssl crl -in /etc/pki/CA/crl/crl.pem -noout -text
    

    步骤梳理:

    查看/etc/pki/tls/openssl.cnf配置文件查看的对应目录


    1 、创建所需要的文件
      touch /etc/pki/CA/index.txt
         生成证书索引数据库文件
    
      echo 01 > /etc/pki/CA/serial
         指定第一个颁发证书的序列号
    

    2、 CA 自签证书

      生成私钥
    cd /etc/pki/CA/(umask 066; openssl genrsa -out/etc/pki/CA/private/cakey.pem 2048)
    
      生成自签名证书
    openssl req -new -x509 –key /etc/pki/CA/private/cakey.pem -days 7300 -out 
    /etc/pki/CA/cacert.pem
          
      -new: 生成新证书签署请求
      -x509: 专用于CA 生成自签证书
      -key: 生成请求时用到的私钥文件
      -days n :证书的有效期限
      -out / PATH/TO/SOMECERTFILE : 证书的保存路径
    

    3 、 颁发证书

    • A 在需要使用证书的主机生成证书请求给web 服务器
        生成私钥
        (umask 066; openssl genrsa -out /etc/pki/tls/private/test.key 2048)
        生成证书申请文件
        openssl req -new -key /etc/pki/tls/private/test.key-days 365 -out 
        /etc/pki/tls/test.csr
    
    • B 将证书请求文件传输给CA
    
    • C CA 签署证书,并将证书颁发给请求者
         openssl ca -in /tmp/test.csr –out/etc/pki/CA/certs/test.crt -days 365
        注意:默认国家,省,公司名称三项必须和CA一致
    
    • D 查看 证书中的信息:
        openssl x509 -in /PATH/FROM/CERT_FILE -noout -text|issuer|subject|serial|dates
        openssl ca -status SERIAL 查看指定编号的证书状态
    

    4 、吊销证书

     • A 在客户端获取要吊销的证书的serial
        openssl x509 -in / PATH/FROM/CERT_FILE -noout -serial -subject
    
    • B 在CA 上,根据客户提交的serial 与subject 信息,对比检验是否与index.txt 文件中的信息一致
        吊销证书:
        openssl ca -revoke /etc/pki/CA/newcerts/ SERIAL .pem
    
    • C 指定第一个吊销 证书的编号
        注意:第一次更新证书吊销列表前,才 需要执行
        echo 01 > /etc/pki/CA/crlnumber
    
     • D 更新证书吊销列表
        openssl ca -gencrl -out /etc/pki/CA/crl/crl.pem
        查看crl 文件:
        openssl crl -in /etc/pki/CA/crl/crl.pem -noout -text

    相关文章

      网友评论

          本文标题:创建CA和申请证书

          本文链接:https://www.haomeiwen.com/subject/iejfkxtx.html