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发行版概述

    Linux发行版概述 Linux发行版有数百种之多,最主流的三个分支为Debain、Slackware、RedHat Debain Debain是三大主流发行版中唯一由社区维护的版本,无商业版本,相对较为轻巧,对使用者的技术要求较高 * Ubuntu、Knopix为Debian的主要子分支,其中Knopix是以安全著称的 Slackware(SUSE) SU…

    Linux干货 2017-07-02
  • N-22-南京-修 第二周作业

    linux文件管理命令有:cp,mv,rm cp命令:用于复制件或目录文 [root@localhost etc]# cp -i /etc/passwd /tmp/123 [root@localhost etc]# cd /tmp [root@localhost tmp…

    Linux干货 2016-08-22
  • 以洪荒之力打开linux德·摩根定律

    德·摩根定律让学习liunx的小伙伴绕得头疼,现在我就用洪荒之力为大家理顺一下这个定律。 由图片可以看出, A=4+3 B=3+2 非A=2+1 非B=4+1 A且B就是代表既是A又是B的地方,A和B都有色块3,所以色块3代表了A且B 同时,我们再看A=4+3 ,B=3+2,我们可以推断出,且运算的结果就是两个算数式中重复的数字。 A且B=3 A或B就是代表…

    Linux干货 2016-08-15
  • First Day

    learning

    2018-03-26
  • 马哥教育21期网络班—第7周课程+练习—-成长进行时–努力前进

    1、创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; fdisk /dev/sdb   1、磁盘分区 &nbs…

    Linux干货 2016-08-19
  • 0803作业

    课上练习 1.当用户xiaoming 对/testdir  目录无执行权限时,意味着无法做哪些操作?  drwxr-xr–. 14 root root 4096 Aug  3 13:35 /testdir [xiaoming@localhost ~]$ touch /testdir/f1…

    Linux干货 2016-08-04