您的位置:首页 > 理论基础 > 计算机网络

在CentOS7中开启httpd的mod_ssl 模块及配置

2016-01-07 10:20 471 查看
  在配置前我们先来了解SSL相关的技术,主要涉及:加密算法(cryptographic algorithms)、消息摘要函数(message digest functions)、数字签名(digital signatures)。

  加密算法有两种类别: 常规和公共密钥,常规加密需要通讯双方共享一个KEY,因此key的管理是一个问题;公共密钥加密也称为非对称加密技术,解决了密钥交换问题,通过定义一种算法,生成两个密钥(一私一共),一个密钥用来加密信息,别一个密钥用来解密信息,从而保证通讯的秘密性。

   消息摘要 利用函数生成消息的简明摘要,再将它发送给接收方,接收方使用消息函数重新生成一个简明摘要,对比两个摘要,如果一致则可确认消息的真实性,消息摘要内容的安全性由数字签名来确保。

  数据签名 使用私钥对消息、摘要和其他相关信息进行签名,任何接收方可以使用共钥解密签名,因为私钥只有发送人自己拥有,确保消息的完整性,数据签名还包含一个独特的序列号,以防止非法重用。

  证书(Certificates)由受信任的机构颁发,实现对方身份的验证。

  SSL的握手过程



系统环境

操作系统:CentOS Linux release 7.2.1511 (Core)

WEB服务: Apache/2.4.6 (CentOS)

生成证书:

创建私钥

这个命令会生成一个2048位的密钥。

[centos@web-server]$ openssl genrsa -out server.key 2048


用私钥server.key 文件生成证书签署请求CSR

[centos@web-server]$ openssl req -new -key server.key -out server.csr


用前面生成的密钥mytkey.pem文件生成一个证书请求(server.csr),即一个证书请求文件,你可以拿着这个文件去数字证书颁发机构(即CA)申请一个数字证书。

生成证书CRT文件

这里我们使用自签证书,使用以下命令来生成证书:

[centos@web-server]$ openssl x509 -days 3650 -req in server.csr -signkey server.key -out server.crt


这个命令将用上面生成的密钥server.key和请求文件server.csr,生成一个数字证书server.crt,将这两个文件放在一个安全的地方,比如:/etc/pki/tls 目录下。

[centos@web-server]$  sudo mv server.* /etc/pki/tls


修改/etc/httpd/conf.d/ssl.conf配置文件 ,将文件中这二行信息修改为:

SSLCertificateFile /etc/pki/tls/server.crt
SSLCertificateKeyFile /etc/pki/tls/server.key


重启httpd服务器

[centos@web-server]$ sudo systemctl restart httpd


OK,程序应该开启443端口提供服务了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  httpd centos