在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位的密钥。
用私钥server.key 文件生成证书签署请求CSR
用前面生成的密钥mytkey.pem文件生成一个证书请求(server.csr),即一个证书请求文件,你可以拿着这个文件去数字证书颁发机构(即CA)申请一个数字证书。
生成证书CRT文件
这里我们使用自签证书,使用以下命令来生成证书:
这个命令将用上面生成的密钥server.key和请求文件server.csr,生成一个数字证书server.crt,将这两个文件放在一个安全的地方,比如:/etc/pki/tls 目录下。
修改/etc/httpd/conf.d/ssl.conf配置文件 ,将文件中这二行信息修改为:
重启httpd服务器
OK,程序应该开启443端口提供服务了。
加密算法有两种类别: 常规和公共密钥,常规加密需要通讯双方共享一个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端口提供服务了。
相关文章推荐
- Centos6 编译安装Python
- 硬盘安装CentOS 6.2以及添加GRUB启动菜单
- CentOS 6.2实战部署Nginx+MySQL+PHP
- CentOS 7系统配置上的变化解析
- CentOS下DB2数据库安装过程详解
- CentOS 6.3下编译安装Ruby 2.0笔记
- 在Centos 5.5 上编译安装mysql 5.5.9
- 在阿里云的CentOS环境中安装配置MySQL的教程
- CentOS 6.5源码安装Erlang教程
- 在CenOS系统下安装和配置Redis数据库的教程
- centos 5.6 升级php到5.3的方法
- CentOS mysql安装系统方法
- centos下安装mysql服务器的方法
- CentOS 5.1 4.6最新官方下载地址列表
- Centos搭建GTK+Codeblock完整版
- CentOS 5.1下跑Mono和Asp.net的实现方法
- centos 安装免费控制面板kloxo步骤
- CentOS服务器+监控宝SNMP监控全攻略分享