CA认证过程及https实现方法 (3)

#这里要求输入的CommonName必须与通过浏览器访问您网站的 URL 完全相同,否则用户会发   现您服务器证书的通用名与站点的名字不匹配,用户就会怀疑您的证书的真实性。可以使域名也可以    使IP地址。

Email Address []:kezibky@163.com

Please enter the following \'extra\' attributes

to be sent with your certificate request

A challenge password []:    #不输密码直接回车

An optional company name []:

注:证书请求文件中有k6的公钥。  这个公钥是在生成证书请求文件时,通过指定的私钥   /etc/httpd/conf.d/server.key生成的。

常识: 通过私钥可以生成公钥的,通过公钥不可以推出来私钥。

5、将证书请求文件发给CA服务器:

[root@k6 ~]# scp /server.csr 10.27.17.36/tmp/

6、CA签名

[root@k7 ~]# openssl ca -h

[root@k7 ~]# openssl ca -keyfile /etc/pki/CA/private/cakey.pem -cert  /etc/pki/CA/cacert.pem -in /tmp/server.csr -out /server.crt

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:f4
Validity
Not Before: Sep 12 07:28:18 2019 GMT
Not After : Sep 11 07:28:18 2020 GMT
Subject:
countryName = CN
stateOrProvinceName = sichuan
organizationName = kezibky
organizationalUnitName = It
commonName = kezibky.com
emailAddress = kezibky@163.com
X509v3 extensions:
X509v3 Basic Constraints:
CA:TRUE
Netscape Comment:
OpenSSL Generated Certificate
X509v3 Subject Key Identifier:
21:A0:46:0A:00:96:74:3D:62:12:30:66:19:E1:66:9B:39:4E:74:6D
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

Certificate is to be certified until Sep 11 07:28:18 2020 GMT (365 days)
Sign the certificate? [y/n]:y


1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

7、将证书复制到k6

[root@k7 /]# scp server.crt 10.27.17.36:/

四、使用证书实现https .4.1  SSL四次握手实现安全传输数据

1、SSL概述:(Secure Socket Layer)安全套接字层,通过一种机制在互联网上提供密钥传输。其主要目标是保证两个应用间通信数据的保密性和可靠性,可在服务器端和用户端同时支持的一种加密算法。目前主流版本SSLV2、SSLV3(常用)。

注:SSL作用,可以让你在一个不安全的公网环境中,安全传输你的密钥。

SSL四次握手安全传输流程如下:

C(client客户端) ------------------------------> S(server服务端)

(1)、 客户端请求一个安全的会话,协商加密算法

C <------------------------------------------------- S

(2)、服务端将自己的证书传给客户端

C -------------------------------------------------> S

(3)、客户端用浏览中存放CA的根证书检测k6证书,确认k6是我要访问的网站。

客户端使用CA根证书中的公钥解密k6的证书,从而得到k6的公钥;

然后客户端生成一把对称的加密密钥,用k6的公钥加密这个对称加密的密钥发给k6。 后期使用对称密钥加密数据

C <------------------------------------------------> S

(4)、k6使用私钥解密,得到对称加密的密钥。从而,使用对称加密密钥来进行安全快速传输数据。这里使用对称加密数据,是因为对称加密和解密速度快

总结SSL四次握手流程整体分两个过程:

过程1: 确认身份;过程2:生成一把对称加密密钥,传输数据。

4.2  在k6上配置HTTPS web服务器

1、安装SSL模块

[root@k6 ~]# yum install mod_ssl -y 

2、配置apache加载证书文件

[root@k6 ~]# cp /server.crt /etc/httpd/conf.d/   #复制证书

[root@k6 ~]# ls /etc/httpd/conf.d/server.key  #查看私钥

/etc/httpd/conf.d/server.key

[root@k6 ~]# vim /etc/httpd/conf.d/ssl.conf

改:100  SSLCertificateFile /etc/pki/tls/certs/localhost.crt

为:100  SSLCertificateFile  /etc/httpd/conf.d/server.crt

改:107  SSLCertificateKeyFile /etc/pki/tls/private/localhost.key

为:107  SSLCertificateKeyFile /etc/httpd/conf.d/server.key

3、启动服务:

[root@k6 ~]# systemctl restart httpd

Enter SSL pass phrase for k6.cn:443 (RSA) : 123456    #httpd私钥密码

4、测试https,查看端口

[root@k6 ~]# netstat -antup | grep 443

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzyfjy.html