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,让它使用

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

    查看证书部分内容

    查看证书状态

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

 

posted @ 2017-09-24 20:02  千纸赫H  阅读(941)  评论(0编辑  收藏  举报