创建私有CA和申请证书流程

创建私有CA和申请证书流程

由于很多时候做实验需要用到证书,就需要自己搭建一个私有CA来给自己颁发证书。同时通过整理创建CA和申请证书、吊销证书的过程加深自己的理解.

PKI:Publilc Key Infrastructure

公钥基础设施:

    签证机构:CA

    注册机构:RA

    证书吊销列表:CRL

    证书存取库

创建私有CA所需工具:

    openCA 、openssl

证书申请及签署步骤:

1、生成申请请求

2、RA核验

3、CA签署

4、获取证书

创建私有CA:

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

blob.png

 

    openssl.cnf配置文件由许多节(section)组成,这些节指定了一系列由openssl命令使用的默认值。

一、 创建所需要的文件。

]#touch /etc/pki/CA/index.txt

]#echo 01 >/etc/pki/CA/serialblob.png

二、CA自签证书

   1、生成私钥

     ]#cd /etc/pki/CA/

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

blob.png

2、生成自签名证书

]#openssl req –new -x509 -key /etc/pki/CA/private/cakey.pem  -days 7300 -out /etc/pki/CA/cacert.pem

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

-x509:专用于CA生成自签证书。

-key:生成请求时用到的私钥文件。

-out /PATH/TO/SOME_CERT_FILE:证书的保存位置。

blob.png

三、颁发证书

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

例如:给web服务器生成私钥

(umask 066;openssl genrsa -out /etc/httpd/ssl/httpd.key 2048)

blob.png

注意:存放密钥的目录要事先存在

2、生成证书申请文件.

]#openssl req -new -key /etc/httpd/ssl/httpd.key -days 365 -out /etc/httpd/ssl/httpd.csr

blob.png

3、将证书请求文件传输给CA(也就是自签证书的那台机器)

blob.png

4、CA签署证书,并将证书颁发给请求者.

]#openssl ca -in /httpd.csr -out /etc/pki/CA/certs/httpd.crt

blob.png

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

5、查看证书中的信息

]# openssl x509 –in /PATH/FROM/CERT_FILE –noout –text|subject|serial|dates

四、吊销证书

   1、在客户端获取要吊销的证书的serial.

    ]#openssl x509 -in /tmp/httpd.crt -noout -serial -subject

blob.png

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

    信息一致。

     吊销证书:

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

blob.png

    3、生成吊销证书的编号(第一次吊销一个证书时才需要执行)

    echo 01 > /etc/pki/CA/crnumber

    4、更新证书吊销列表

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

blob.png

    查看crl文件:

    ]# openssl crl -in /etc/pki/CA/crl/ca.crl  -noout -text

blob.png

总结:通过此次整理,将私有CA的创建,证书的颁发,证书的吊销,证书吊销列表的更新等操作让我更进一步了解熟悉整个流程,也希望能给其他人一些帮助!

 

原创文章,作者:征(_少,如若转载,请注明出处:http://www.178linux.com/61925

(0)
上一篇 2016-12-01 22:16
下一篇 2016-12-02 01:04

相关推荐

  • GRUB Legacy&Trouble Shooting

    GRUB (Grand Unified Bootloader)        位于系统引导盘的MBR中的Boot Loader。        GRUB是一个来自GNU项目的启动引导程序。GRUB是多启动规范的实现,它允…

    Linux干货 2016-09-13
  • 网络N22期-第五周作业

    1、显示当前系统上root、fedora或user1用户的默认shell; [root@localhost ~]#egrep '^(root|fedora|user1)\>' /etc/passwd | cut -d: -f7 /bin/bash 2、找出/etc…

    Linux干货 2016-09-15
  • linux终端类型

    终端分为:             ∟  物理终端         定义:可将显示器,键盘,鼠标直接接入主机接口的终端;     &nbsp…

    Linux干货 2016-10-18
  • CentOS6基础网络配置

    虽然也可以用命令进行临时修改(ifconfig来设置IP,用route来配置网关,用hostname来配置主机名等等),但是重启后会丢失。所以本文主要通过修改相关配置文件来实现: 配置dns、网关、ip地址 修改网卡名字 单网卡多IP配置 多网卡单IP配置 本次系统运行环境:  配置dns、网关、ip地址 首先,我们对网卡配置相关的主要的几个文件简…

    Linux干货 2016-09-06
  • M20-1 8月3号 ACL访问控制列表

    一、acl简介:   access control list,用于实现灵活的权限管理,除了文件的所有者,所属组和其他人,可以对更多的用户设置权限,而acl生效的顺序是所有者,自定义用户组,自定义组,其他人。 二、ACL的设置技巧:   getfacl:取得某个文件/目录的ACL设置项目   setfacl:设置某个目录/文件的A…

    Linux干货 2016-08-08