实现HTTPS

来源:互联网 发布:林智妍整容 知乎 编辑:程序博客网 时间:2024/06/06 03:38

一、步骤

前提:https是http和ssl的结合,ssl在互联网中传输需要CA验证

1.https传输前的准备

Created with Raphaël 2.1.0客户端A客户端A服务器B服务器BCACA你是我想要找的B吗?让CA给你个认证吧!申请证书S-CA(CA的私钥):CA私钥加密的证书S-CA(P-B)CA私钥加密的B的公钥我用CA的公钥能解开,是CA给你颁发的证书,好!生成对称密钥keyP-B(key):用B公钥加密的对称密钥后面与服务器B的传输都用key加密后面与客户端A的传输都用key加密

2.配置步骤

只搭建一个CA服务器

#有关CA1.搭建CA2.CA自签名:    一般主机中都安装好了比较权威的根CA证书(CA)3.为服务器申请数字证书4.配置httpd支持使用ssl,及使用的证书5.测试基于https访问相应的主机  

二、实现过程

1.搭建CA

创建需要的文件

#创建数据库文件touch /etc/pki/CA/index.txt#创建证书序列号文件echo "01" >> /etc/pki/CA/serial

生成私钥

#命令执行过程中会交互式的键入私钥口令(umask 066 ; openssl genrsa -out /etc/pki/CA/private/cakey.pem -des3 2048)

2.CA自签名证书

#根据/etc/pki/CA/private/cakey.pem生成证书cacert.pemopenssl req  -new -x509 -key  /etc/pki/CA/private/cakey.pem  -out cacert.pem -days 3650

3.为服务器申请数字证书

生成私钥

 mkdir /etc/httpd/conf.d/ssl(umask 066 ; openssl genrsa -out /etc/httpd/conf.d/ssl/http.key -des3 2048) 

使用私钥生成请求证书的文件

openssl req -new -key /etc/httpd/conf.d/ssl/http.key -out  /etc/httpd/conf.d/ssl/http.csr

服务器向CA发送请求证书

scp /etc/httpd/conf.d/ssl/http.csr 172.17.16.173:/etc/pki/CA/    

CA给服务器颁发证书

#在CA上颁发证书openssl ca -in http.csr -out certs/http.crt
#颁发的证书发送给申请者scp certs/http.crt 172.17.16.169:/etc/pki/tls/certs/
#CA将自己的证书也要发给服务器scp cacert.pem 172.17.16.169:/etc/httpd/conf.d/ssl 

4.配置httpd支持使用ssl,及使用的证书

#安装ssl模块yum -y install mod_ssl
#配置文件修改 vim /etc/httpd/conf.d/ssl.conf      SSLCertificateFile /etc/httpd/conf.d/ssl/http.crt     SSLCertificateKeyFile /etc/httpd/conf.d/ssl/http.key

5.重新读取配置文件

service httpd reload

三、测试

这里写图片描述
安装CA到受信任的CA证书

原创粉丝点击