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

相关推荐

  • 开篇

    test 新人报道

    Linux干货 2016-10-28
  • lvs应用

    练习一:负载均衡一个php应用: 测试是否需要会话保持; 是否需要用到共享存储;    为了检测是否需要会话保持和共享存储,要在两台主机上分别配置LAMP环境;这样就使得两者之间没有了共享存储;负载均衡使用nat模型的wlc算法,并且不使用lvs的长连接选项。数据库故意使用了相同的账号密码来进行安装。 步骤一:配置环境: 使用yum分别安…

    Linux干货 2016-11-11
  • sed基本用法详解

    一、sed介绍:        sed是非交互式的编辑器,同时又是面向字符流的,一次处理一行文本。当前输入的行被缓存至一个被称为模式空间(pattern space)的内存空间中,与给定的模式进行比对,若不匹配,则将内容输出至屏幕,之后读取第二行;若匹配,则执行编辑命令,命令执行完成后,将模式空间中…

    Linux干货 2016-08-10
  • Linux磁盘管理基础

    Linux磁盘管理基础 硬盘结构 文件系统与MBR、GTP 磁盘管理三步骤:分区、格式化、挂载 mount 硬盘结构 硬盘的基本组成材质是盘片,不同容量硬盘的盘片数不等。每个盘片有两面,都可记录信息。盘片表面上以盘片中心为圆心,不同半径的同心圆称为磁道,不同盘片相同半径的磁道所组成的圆柱称为柱面,每个磁道被分成许多扇形的区域,每个区域叫一个扇区,每个扇区可存…

    Linux干货 2016-09-01
  • Tomcat基于MSM+Memcached实现Session共享

    前言 在Tomcat集群中,当一个节点出现故障,其他节点该如何接管故障节点的Session信息呢?本文带来的解决方案是基于MSM+Memcached实现Session共享。 相关介绍 MSM MSM–Memcached Session Manager是一个高可用的Tomcat Session共享解决方案,除了可以从本机内存快速读取Session信…

    Linux干货 2015-07-03
  • 进程查看及管理

        在Linux系统中,触发任意一个事件时,系统都会将它定义为一个进程,并且给予这个进程一个ID,称为PID,同时依据触发这个进程与用户相关的属性关系,给予这个PID一组有效的权限设置。 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。…

    Linux干货 2016-11-27