CA认证过程及https实现方法
一、CA认证过程
CA概述:Certificate Authority的缩写,通常翻译成认证权威或者认证中心,主要用途是为用户发放数字证书。CA认证的流程和公安局派出所颁发身份证的流程一样
认证中心(CA)的功能有:证书发放、证书更新、证书撤销和证书验证。
CA证书作用:身份认证,实现数据的不可否认性。
证书请求文件:CSR是Cerificate Signing Request的英文缩写,即证书请求文件,也就是证书申请者在申请数字证书时由CSP(加密服务提供者)在生成私钥的同时也生成证书请求文件,证书申请者只要把CSR文件提交给证书颁发机构后,证书颁发机构使用其根证书的私钥签名就生成了证书文件,也就是颁发给用户的证书。
1.1:证书签名过程
1、 生成请求文件
2、 CA确认申请者的身份真实性
3、 CA使用根证书的私钥加密请求文件,生成证书
4、 把证书传给申请者
1.2 用户使用CA证书确认服务器身份过程(K7 CA认证服务器 k6 是申请方)
1、请求文件发给k7CA认证中心
2、CA认证 (用CA的私钥加密k6的请求文件), 得到加密后的文件,这个文件就是k6的证书 ),CA认证中心颁发给k6加密后的数字证书
3、用户访问k6并向k6索要数字证书
4、用户拿到数字证书后,用浏览器中CA的公钥解密k6的证书,解开后得到k6的公钥和标识(主机名,国家,省,组织等信息),从而确认k6的身份。
二、搭建CA认证中心 搭建CA认证中心1、安装CA认证软件包中心:
[root@k7 ~]# rpm -qf `which openssl`
openssl-1.0.2k-16.el7_6.1.x86_64
2、配置一个自己的CA认证中心。生成CA的根证书和私钥。
[root@k7 ~]# vim /etc/pki/tls/openssl.cnf
改:172 basicConstraints=CA:FALSE
为:172 basicConstraints=CA:TRUE #让自己成为CA认证中心
3、生成CA的公钥证书和私钥。
[root@k7 ~]# /etc/pki/tls/misc/CA -h #查看帮助
usage: /etc/pki/tls/misc/CA -newcert|-newreq|-newreq-nodes|-newca|-sign|-verify
选项 :
-newcert 新证书
-newreq 新请求
-newreq-nodes 新请求节点
-newca 新的CA证书
-sign 签证
-verify 验证
[root@k7 ~]# /etc/pki/tls/misc/CA -newca
CA certificate filename (or enter to create)
Making CA certificate ...
Generating a 2048 bit RSA private key
...............................................................+++
.......+++
writing new private key to \'/etc/pki/CA/private/./cakey.pem\'
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter \'.\', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:sichuan
Locality Name (eg, city) [Default City]:chengdu
Organization Name (eg, company) [Default Company Ltd]:kezibky
Organizational Unit Name (eg, section) []:IT
Common Name (eg, your name or your server\'s hostname) []:kezibky.com
Email Address []:keizibky@163.com
Please enter the following \'extra\' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
Using configuration from /etc/pki/tls/openssl.cnf
Enter pass phrase for /etc/pki/CA/private/./cakey.pem:
Check that the request matches the signature
Signature ok
Certificate Details:
Serial Number:
ca:7e:0b:7a:b3:65:5a:f3
Validity
Not Before: Sep 12 06:40:28 2019 GMT
Not After : Sep 11 06:40:28 2022 GMT
Subject:
countryName
= CN
stateOrProvinceName
= sichuan
organizationName
= kezibky
organizationalUnitName = IT
commonName
= kezibky.com
emailAddress
= keizibky@163.com
X509v3 extensions:
X509v3 Subject Key Identifier:
11:13:F7:A1:F6:9E:DA:3F:52:A1:4F:D0:BC:D5:F6:B4:78:C9:FB:E7
X509v3 Authority Key Identifier:
keyid:11:13:F7:A1:F6:9E:DA:3F:52:A1:4F:D0:BC:D5:F6:B4:78:C9:FB:E7
X509v3 Basic Constraints:
CA:TRUE
Certificate is to be certified until Sep 11 06:40:28 2022 GMT (1095 days)
Write out database with 1 new entries
Data Base Updated
4、查看生成的CA根证书,根证书中包括CA公钥
[root@k7 ~]# vim /etc/pki/CA/cacert.pem