zoukankan      html  css  js  c++  java
  • centos模拟创建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)

           生成自签名证书

                  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 查看指定编号的证书状态

    现在小编带大家实现以上创建流程,只不过我们跳过第一步,先执行第二步,看看它会如何报错,具体步骤如下

    ① centos7模拟web服务器,生成密钥并加密,这样权限也就设置的比较严格

    ② 利用上面生成的私钥生成一个自签名的证书

    ③ centos6模拟客户端去向centos7申请证书

    利用私钥文件生成请求文件,一般以.csr后缀,默认国家、省会和公司必须和CA一致

    ⑤ 把请求文件放到CA证书存放路径(也就是把请求文件从centos6传到centos7

    ⑥ CA审核请求,并颁发证书(会有报错情况,因为我们开始时跳过了第一步)

        根据报错,创建index.txt文件,发现依旧报错,缺少serial文件

    ⑦ 创建seiral文件,文件齐全,无报错情况,再执行审核命令,证书颁发成功

        看一下数据库,出现证书信息

        这次用了编号99,那么下一个证书的编号是9A而不会是100,到此证书颁发完毕

    ⑧ 把颁发好的证书传给客户端centos6,让它使用

        切换至客户端,这时已经收到证书了

        查看证书部分内容

        查看证书状态

    到此,模拟结束,希望大家踊跃评论哦。

  • 相关阅读:
    STM32的GPIO工作原理 | 附电路图详细分析
    话说上拉电阻和下拉电阻
    Linux下MySQL数据库常用基本操作
    Linux acpi off学习的必要
    CentOS 6.2出现Disk sda contains BIOS RAID metadata解决方法
    降低开关电源纹波的三个要素
    什么是RFID? 射频识别技术的特点及工作原理!
    亲测可用的国内maven镜像
    Linux 删除文件夹和文件的命令
    [Gradle] 在 Eclipse 下利用 gradle 构建系统
  • 原文地址:https://www.cnblogs.com/Qian-free/p/7588273.html
Copyright © 2011-2022 走看看