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相关目录位置和相关文件位置,还定义了我们使用的策略
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) 这个小括号是必须要有的
(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,在实验时出错了,不过改下文件名字就好了)
在做好自签证书后就可以给其他人签发证书了,先看看CA目录的文件结构,等会儿在签署证书时会发现变化
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 这里写时间是没有用,有效期是签署者给的
在生成了证书请求文件后要将这个文件传给CA所在虚拟机
CA在收到证书请求文件后就可以审核和签署证书;签署证书命令:openssl ca -in /etc/pki/CA/certs/test.csr -out /etc/pki/CA/certs/test.crt -days 3650
5、安装证书
在签署了证书后就可以将证书发给申请者,申请者就可以使用该证书了。
我们将证书放在windows上来查看信息。
现在安装根证书,让这个证书被系统识别。
下面开始安装根证书
到此说明我们CA成功创建和申请证书完成
看看/etc/pki/CA目录结构变化:
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是证书编号)
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/86750