创建CA

创建CA和申请证书

创建私有CA:

首先在CA服务器端创建CA

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

一般我们不会去更改这个配置文件,但是要去看一下。我们是根据这个文件创建的CA.

这个文件里是openssl的配置文件,我们打开后只观察与CA有关的文件。

 

创建CA

在文本中可以看出一个主机中可以有多个CA,并且指定出默认CA为CA_default。

创建CA

 

创建CA

 

三种策略要求:

match匹配
supplied支持
 optional可选

匹配指要求申请填写的信息跟CA设置信息必须一致, 支持指必须填写这项申请信息, 可选指可有可无

要想改变策略可以直接更改该文件。

 

前面文档了解之后我们就开始创建了。

首先我们先创建一个私钥。

 

生成私钥

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

创建CA

我们可以查看一下目录结构看看是否生成秘钥文件。

tree /etc/pki/CA/

创建CA

创建好私钥后我们要自签名证书

 

 

CA自签证书

创建CA和申请证书生成自签名证书

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: 证书的保存路径

创建CA

我们可以查看一下生成的证书

openssl x509 -in /etc/pki/CA/cacert.pem -noout -text

 

创建CA

文件里显示的证书的详尽信息,颁发者,有效时间什么的。

 

申请证书

CA自签名做好之后要用客户端去申请证书

 

申请证书前,客户端也要先生成私钥文件。

(umask 066;openssl genrsa -out /app/RA/service.key 4096)

创建CA

 

然后生成证书申请文件

openssl req -new -key /app/RA/service.key -out /app/RA/service.csr

创建CA

 

将证书请求文件传输给CA

scp /app/RA/service.csr 172.16.251.18:/etc/pki/CA/

创建CA

为了方便管理,在CA端的/etc/pki/CA下创建msc文件并把文件请求放到文件夹里

创建CA

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

openssl ca -in /etc/pki/CA/csr/service.csr  -out /etc/pki/CA/certs/service.crt -days 365

创建CA

这里报错是因为服务器创建CA的时候没有创建数据可文件。所以这一要创建一下这个文件。

touch /etc/pki/CA/index.txt

但是只有这个文件还是不行的,还序号文件没有开始序号。所以这也要创建。

并且序号只能是两位,如果不是就会报错。

echo 01> /etc/pki/CA/serial

当然这两步也在创建CA是就做是最好的。

然后重新颁发证书试试。

创建CA


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

同意之后我们可以查看一下我们刚创建的数据库有变化没。

创建CA

这是就已经有新文件产生。数据库发生变化。

到此申请证书结束。

我们可以查看证书的信息

openssl x509 -in certs/service.crt -noout -text

创建CA

 

 吊销证书

 

CA上,根据客户提交的serial与subject信息,对比检验是否与index.txt文件中的信息一致,吊销证书:

openssl ca -revoke newcerts/91.pem

创建CA

然后擦汗一下数据库

创建CA

可以看见证书前面状态是R ,代表已经吊销。

然后指定第一个吊销证书的编号

注意:第一次更新证书吊销列表前,才需要执行

echo 01 > /etc/pki/CA/crlnumber

更新证书吊销列表

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

创建CA

查看crl文件:

openssl crl -in /etc/pki/CA/crl/crl.pem -noout -text

创建CA

原创文章,作者:phosphor,如若转载,请注明出处:http://www.178linux.com/82318

(0)
phosphorphosphor
上一篇 2017-07-28 10:41
下一篇 2017-07-28 16:50

相关推荐

  • 命令行历史和调用命令参数

    history显示当前终端的历史记录 !! 重复执行上一条命令 !-n 重复执行倒数第n条命令 !n 重复执行第n条命令 ctrl+p 等于向上方向键,翻出上一条命令。 ctrl+n 等于向下方向键,翻出下一条命令。 ctrl+j 等于enter 执行当前命令 !:0 执行前一条命令(去除参数) !string 重复前一个以“string”开头的命令(只限于…

    2017-07-14
  • 18页PPT带你深度解读运维自动化

    一、概述    在前面的文章中,提到【运维的本质—可视化】,在其中着重强调是自动化的可视化和数据化的可视化。在这个文章中,全面解码看看自动化的极致状态为什么是可视化?在前面的另外一篇文章【运维平台全体系介绍】中,也讲到运维平台体系的构成,提出“**及服务”的理念,其中有几部分和自动化密切相关,比如说资源及服务、配置及服务、架构…

    2015-04-03
  • 计算机及Linux系统基础简介

    一、计算机的组成及其功能 计算机由运算器,控制器,存储器,输入装置和输出装置五大部件组成计算机,每一部件分别按要求执行特定的基本功能。 运算器或称算术逻辑单元(Arithmetical and Logical Unit) 运算器的主要功能是对数据进行各种运算。这些运算除了常规的加、减、乘、除等基本的算术运算之外,还包括能进行“逻辑判断”的逻辑处理能力,即“与…

    Linux干货 2017-07-02
  • Linux内核编译

    1.安装前准备:     安装开发环境     获取内核源码包(www.kernel.org)     安装软件包        *curses*    &nb…

    Linux干货 2016-09-17
  • mageedu_20160802

     用户的管理权限设置与更改以及ACL的存在及其实用意义      一.用户的管理权限如何设置与更改以及umask值的含义    由于linux系统是一个多用户使用的系统,对于各个用户指定的文件或目录必须存在一套管理系统,以防止多用户对相同文件的混淆使用。于是催生出了linux系统文件的用户权限设置。…

    Linux干货 2016-08-03
  • 理解Inode

    inode是一个重要概念,是理解Unix/Linux文件系统和硬盘储存的基础。 我觉得,理解inode,不仅有助于提高系统操作水平,还有助于体会Unix设计哲学,即如何把底层的复杂性抽象成一个简单概念,从而大大简化用户接口。 下面就是我的inode学习笔记,尽量保持简单。 一、inode是什么? 理解inode,要从文件储存说起。 文件储存在硬盘上,硬盘的最…

    Linux干货 2015-03-20