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

相关推荐

  • 磁盘配额实现

    磁盘配额实现 磁盘配额要求必须是独立的分区 创建一个新的分区 #同步分区表 [root@localhost ~]# partx -a /dev/sda [root@localhost ~]# mkfs.ext4 /dev/sda6 -L /home [root@localhost ~]# blkid /dev/sda6: LABEL=”/home…

    Linux干货 2017-12-09
  • N25期第七周作业

    创建一个10G分区,并格式为ext4文件系统   要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳 fdisk /dev/sdb # size 10G type 83 mke2fs -t ext4 -b 20…

    Linux干货 2017-02-28
  • 基础命令

    2018-03-13
  • Linux文件类型及颜色标识整理

    Linux系统上的文件类型 -:f; 常规文件 , d:directory, 目录文件; b;block device,块设备文件,支持以'block'为单位进行随机访问; c:character device,字符设备文件,支持以'character'为单位进行线性访问;    &nbs…

    Linux干货 2016-10-16
  • man与FHS

    man:          1 使用者在shell中可以操作的指令或可执行档     2 系統核心可呼叫的函数与工具等     3 一些常用的函数(function)与函数库(library),大部分是C的函数库(libc) &n…

    Linux干货 2016-10-30
  • shell脚本编程之数组

    bash仅支持一维数组,类型声明: declare -i    : 表示数值 declare -a  :表示普通数组(默认,可不用声明类型) declare -A :表示关联数组(必须声明类型,bash需4.0以上版本才支持,可通过bash –version查看版本) 一、普通数组(用数字为下标) 1.1数组赋值(修…

    Linux干货 2015-08-24