创建私有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

相关推荐

  • 文件查找——藏的在深也没用

    locate 依赖与事先构建好的数据库查找          系统自动实现(周期性任务)          手动更新数据库(updatedb) 工作特性    …

    Linux干货 2016-08-15
  • mogilefs部署

    mogilefs实验环境: 1.需要两台tracker主机 2.一台mariadb 3.nginx_mogilefs_module模块要编译安装 在tracker主机: 1.上下载rpm包 mkdir mogilefs/ cd mogilefs lftp 172.16.0.1 get MogileFS-Server-2.46-2.el7.centos.noa…

    Linux干货 2017-08-08
  • 马哥教育网络班19期+第八周课程练习

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。    主要功能:    网桥是一个局域网与另一个局域网之间建立连接的桥梁,属于数据链路层的一种设备。    集线器是可以将一些机器连接起来组成一个局域网的设备。   &n…

    Linux干货 2016-06-26
  • ifconfig

    ifconfig 命令详解

    Linux干货 2018-02-10
  • GRUB

    GRUB(Boot Loader):  grub: GRand Unified Bootloader grub 0.x: grub legacy grub 1.x: grub2 grub legacy: stage1: mbr stage1_5: mbr之后的扇区,让stage1中的bootloader能识别stage2所在的分区上的文件系统; s…

    Linux干货 2016-04-12