CA和证书

A与B双方通信,需要通过签证机构CA颁发证书,才可以互相信任,从而安全的进行数据传输。想要获取证书,除了付费购买认证机构的证书,还可以自签名获取证书。

openssl命令可以搭建CA,实现自签名证书。下面以三台主机为例,模拟根CA、子CA的搭建,以及客户端申请证书的过程。

一、搭建根CA

/etc/pki/tls/openssl.cnf文件是openssl的配置文件,其中规定了CA证书的存放目录、工作目录、证书编号、策略等信息,搭建CA需要以配置文件为参考。

配置文件

配置文件默认策略

1.创建文件:

a.生成证书索引数据库文件

touch /etc/pki/CA/index.txt

b.指定第一个颁发证书的序列号

echo 01> /etc/pki/CA/serial

2.CA自签证书(第一个CA自己为自己签名)

生成私钥:(umask 066;openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)

由于私钥文件很重要,需要设置权限,使其他人无法查看,genrsa代表RSA算法,CA的私钥存放目录是配置文件中规定的,2048代表指定私钥位数。

3.生成自签名证书:

openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 3650  -out /etc/pki/CA/cacer.pem

其中,new表示新证书签署请求;x509表示生成自签名证书;key表示用到的私钥文件;days表示证书有效期;out后面跟证书的保存路径。运行命令行之后,会交互式填写信息,由于配置文件中默认的策略是policy_match,所以CA与客户端申请时填写的国家,省,公司名必须匹配,其他信息像通用名可以不一样,但必须填写。

创建文件

生成私钥1

生成自签名证书

 

二、搭建子CA

1.创建文件:

a.生成证书索引数据库文件

touch /etc/pki/CA/index.txt

b.指定第一个颁发证书的序列号

echo 02> /etc/pki/CA/serial

2.生成私钥:

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

3.生成证书申请文件:

openssl req -new -key /etc/pki/CA/private/cakey.pem  -out  subca.csr

根据默认策略,所填写的国家,省,公司必须与根CA一致

4.将文件复制到根CA中:

scp  subca.csr  192.168.25.129 :/etc/pki/CA (以 192.168.25.129主机为根CA)

5.颁发证书:

openssl ca -in subca.csr -out /etc/pki/CA/certs/subca.crt  -days  300

6.将文件传给申请者:

scp certs/subca.crt 192.168.25.6 : /etc/pki/CA/cacert.pem (以192.168.25.6主机为子CA)

这样,子CA就搭建成功了。

子ca

子ca2

三、客户端申请证书

1.生成私钥:

(umask 066;openssl genrsa -out /etc/pki/tls/private/app.key  2048)

2.生成证书申请文件:

openssl req -new -key /etc/pki/tls/private/app.key  -out  /etc/pki/tls/app.csr

交互式填写国家,州,公司要与子CA信息一致。

3. 将文件复制到子CA中:

scp  app.csr  192.168.25.6 : /etc/pki/CA

4.颁发证书:

openssl ca -in app.csr -out /etc/pki/CA/certs/app.crt  -days  100

5.将证书文件传送给申请者:

scp certs/app.crt 192.168.25.6 : /etc/pki/tls/certs (以192.168.25.6主机为客户端)

生成私钥客户端

生成证书申请文件客户端

证书申请文件传送给ca 客户端

颁发证书客户端

将文件传给申请者

最后,还可以查看证书信息:

openssl x509 -in app.crt -noout -text|issuer|subject|dates

其中,text代表全部信息,issuer代表颁发者,subject代表主题,dates代表有效期

在同一客户端可以为其他程序申请证书,无需再生成私钥,只要重新申请证书即可。默认一个证书申请文件不能颁发两个证书,这与index.txt.attr文件有关,只需将文件中unique_subject的值由yes改为no即可。

查看证书信息

index.attr

index.attr2

当证书过期或者不受信任时,可以吊销证书:

openssl ca -revoke /etc/pki/CA/newcerts/02.pem (以02编号证书为例)

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

echo 01 > /etc/pki/CA/crlnumber

更新证书吊销列表:

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

吊销证书

吊销证书2

文件 /etc/pki/CA/crlnumber中存放的则是下一个吊销证书的编号。

至此,CA的搭建以及证书的申请过程就结束了。

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/86826

(1)
xiamuxiamu
上一篇 2017-09-10 18:47
下一篇 2017-09-10 20:16

相关推荐

  • Linux进程管理

    进程管理     进程概念      内核的功用:进程管理、文件系统、网络功能、内存管理、驱动程序、 安全功能等      Process: 运行中的程序的一个副本,是被载入内存的一个指令集合    &nb…

    Linux干货 2016-09-11
  • 马哥教育网络班19期第二周课程练习

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 cd:切换目录命令实例  cd [dirctory] 切换目录  cd .. 返回上一级目录  cd –  来回切换  cd ~  切换到家目…

    Linux干货 2016-06-19
  • bash特性之命令行展开功能应用示例

                       bash特性之命令行展开功能应用示例 1.创建/tmp的目录下:a_c,a_d,b_c,b_d 创建命令:mkdir -pv /tmp/{a,…

    Linux干货 2017-07-09
  • Linux安全和openssl、gpg加密

                     Linux安全和openssl、gpg加密 本章内容: 安全机制 对称加密 不对称加密 散列算法 PKI和CA openssl 证书管理 gpg   加密需要: 不加密的流量易受攻击性 密码/数据嗅探 数据操作 验证操作 相当…

    系统运维 2016-10-09
  • 优云老王(四)干货总结:数据带来的奇妙世界

    作为产品经理的我们,不仅仅需要业务敏感的直觉,还需要数据驱动我们的产品不断创新!关于如何看数据,我列了主要的四个场景。 场景一:看页面点击,了解用户关注什么,卡在哪里 给谁看:产品经理和交互设计师 看什么: 由于我们对Web应用的所有界面,可交互元素都做了埋点,那么我们就可以看用户在页面里都做了哪些点击动作。首先是整个页面的横向比较,每个页面本身的操作数(重…

    2016-09-19
  • Linux实验-搭建路由环境

    Linux实验-搭建路由环境 背景: 在学习网络基础过程中,为了加强理解路由功能,准备用Linux模拟一个路由环境。同时也试试Linux的路由转发功能。 实验简介: 准备5个虚拟机,其中三个做路由,两个做客户机,相连的设备之间在同一个网段,三个路由设备在中间,两个客户机在两侧,最后实现两个虚拟机能相互通信。 实验规划: 这里配的IP都是随意配的,保证相连设备…

    2017-08-19