Linux创建CA和申请认证

Linux创建CA和申请认证

背景:

在学习Linux运维中,学习到了CA的创建和申请认证,为了加深对CA的理解,这里做一个创建CA和申请认证的实验并记录下来供以后回顾。

介绍:

什么是CA认证?

  • 电子商务认证授权机构(CA, Certificate Authority),也称为电子商务认证中心,是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。
  • CA中心为每个使用公开密钥的用户发放一个数字证书,数字证书的作用是证明证书中列出的用户合法拥有证书中列出的公开密钥。CA机构的数字签名使得攻击者不能伪造和篡改证书。在SET交易中,CA不仅对持卡人、商户发放证书,还要对获款的银行、网关发放证书。

实验介绍:

  • 在VMware一台虚拟机上创建CA,然后用另一台虚拟机做客户端来申请证书,并在电脑上安装证书

实验:

1、编辑openssl配置文件(可以不用修改,使用默认选项)

命令 vim  /etc/pki/tls/openssl.cnf

在默认配置文件里定义了CA相关目录位置和相关文件位置,还定义了我们使用的策略

1

2

 

 

2、创建需要的文件

 

在创建CA之前我需要先根据配置文件来创建几个文件(实验使用的是默认的配置,没改动)

(1)创建第一个文件命令:touch /etc/pki/CA/index.txt   ;这个文件是用来存放认证的认证数据库,如果不创建会在认证的时候报错,这里可以先创建也可以看到报错信息后在创建

(2)创建第二个文件命令:echo 01 > /etc/pki/CA/serial  ;这里存放认证起始编号;用来表示下一个认证的编号是什么

3、CA自签证书

(1)在生成CA自签证书需要先生成私钥

命令1:cd /etc/pki/CA/ 移动到CA目录下

命令2:(umask 066; openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)  这个小括号是必须要有的

3

(2)生成自签证书

命令:openssl req -new -x509 –key /etc/pki/CA/private/cakey.pem -days 7300 -out /etc/pki/CA/cacert.pem

req表示申请证书;

-new 表示生成新证书签署请求;

-x509表示是自签证书;

-key后面接的是申请证书用到的私钥;

-days表示证书有效期;

-out 后面接的是证书保存位置 (ps:这里的cacert.pem文件名一定和配置文件一致,下图的文件名就少写了个c,在实验时出错了,不过改下文件名字就好了)

4

在做好自签证书后就可以给其他人签发证书了,先看看CA目录的文件结构,等会儿在签署证书时会发现变化

5

4、用另一台虚拟机来模拟申请证书

步骤:

(1)在申请证书的虚拟机上生成自己的私钥;命令:(umask 066; openssl genrsa -out /etc/pki/tls/private/test.key 2048)  这个小括号是必须要有的

(2)在申请证书的虚拟机上生成证书请求文件;命令:openssl req -new -key /etc/pki/tls/private/test.key
-days 365 -out etc/pki/tls/test.csr  这里写时间是没有用,有效期是签署者给的

6

7

在生成了证书请求文件后要将这个文件传给CA所在虚拟机

8

CA在收到证书请求文件后就可以审核和签署证书;签署证书命令:openssl ca -in /etc/pki/CA/certs/test.csr -out /etc/pki/CA/certs/test.crt -days 3650

9

10

5、安装证书

在签署了证书后就可以将证书发给申请者,申请者就可以使用该证书了。

我们将证书放在windows上来查看信息。

11

12

现在安装根证书,让这个证书被系统识别。

1314

12

下面开始安装根证书

151718192021

到此说明我们CA成功创建和申请证书完成

看看/etc/pki/CA目录结构变化:

22

6、吊销证书

如果你要查看证书信息,命令:openssl ca -status SERIAL   查看指定编号的证书状态

如果你要吊销一个证书

在客户端获取要吊销的证书的编号
openssl x509 -in /PATH/FROM/CERT_FILE -noout -serial -subject
在CA上,根据客户提交的serial与subject信息,对比检验是否与index.txt文件中的信息一致

吊销证书:openssl ca -revoke /etc/pki/CA/newcerts/SERIAL.pem  (SERIAL是证书编号)

23

 

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

(3)
上一篇 2017-09-09 20:39
下一篇 2017-09-09 20:48

相关推荐

  • 高考作业

    1、简述TCP三次握手四次挥手过程及各过程中客户端和服务器端的状态。 TCP三路握手,作用为完成三次握手,主机A与主机B开始传送数据。 第一次握手:客户端A(状态为SYN_SEND)发送位码为syn=1,随机产生seq number=1234567的数据包到服务器,服务器B(状态为LISTEN)由SYN=1知道,客户端A要求建立联机; 第二次握手:服务器B(…

    Linux干货 2016-06-22
  • sudo——让普通用户更灵活

    sudo命令 1、sudo能够授权指定用户在指定主机上运行某些命令。如果未授权用户尝试使用sudo ,会提示联系管理员 2、sudo可以提供日志,记录每个用户使用sudo 操作 3、sudo为系统管理员提供配置文件,允许系统管理员集中地管理用户的使用权限和使用的主机 4、sudo 使用时间戳文件来完成类似“检票”的 系统,默认存活期为5 分钟的 “入场券” …

    Linux干货 2016-09-25
  • 权限管理

           学习文件和目录的权限管理,不仅在学习上对我们的帮助很大,而且在工作上帮助也很大,因为你对文件或目录设置了权限,其他用户只能根据你设置的权限对文件或目录进行浏览,修改,删除或执行,也正是如此,权限的管理很重要。下面我就对Linux的权限管理进行简单的介绍。 Linux下的文件类型 -:普…

    Linux干货 2016-08-08
  • 第一周作业

    描述计算机的组成及其功能。 由冯~诺伊曼提出计算机体系结构,计算机主要由控制器、运算器、存储器、输入设备、输出设备五大硬件组成。 控制器(Controller):是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。 运算器(Datapath):运算器的功能是对数据进…

    Linux干货 2017-02-07
  • 马哥教育网络班20期+第5周课程练习

    1、显示/boot/grub/grub.conf中至少一个空白字符开头的行 [root@localhost ~]# grep "^[[:space:]]\+.*" /boot/grub2/grub.cfg 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; [root@…

    Linux干货 2016-08-15
  • wk_04作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 # cp -r  /etc/skel/ /home/tuser1 # chmod 700 /home/tuser1 2、编辑/etc/group…

    Linux干货 2016-12-27