Linux下导入SSL证书(配置用于Apache)

简介:
+关注继续查看

三、部署证书

如果使用双向认证,就会有三个私钥和三个证书。分别是 ca.key, ca.crt, server.key, server.crt, client.key, client.crt ,以及给浏览器的 client.pfx 。
如果使用有 CA 证书的单向认证,证书和私钥就是 ca.key, ca.crt, server.key, server.crt 。
如果使用无 CA 证书的单向认证,证书和私钥就是 server.key, server.crt 。

1、修改httpd.conf文件

**RPM安装的情况下,不需要修改httpd.conf文件,因为在httpd.conf文件中默认添加了 include conf.d/*.conf。而在rpm安装时,conf.d文件夹中已含有ssl.conf文件。所以只要修改ssl.conf文件就可以了。**

**RPM安装的Apahce时,可能一开始没有mod-ssl,需要安装。方法为:yum install mod_ssl 或者用rpm包安装,需要mod_ssl arp_util distcache httpd postgresql-libs等伊来关系。**

需要修改时可在httpd.conf文件中加上include conf.d/ssl.conf(用于ssl模块使用的conf文件的路径即可)。

2、修改ssl.conf文件

[root@localhost conf.d]#cp -p ssl.conf ssl.conf.bk

[root@localhost conf.d]#vi ssl.conf

---------------------------------------

Listen 443 //可以改成其他端口
SSLPassPhraseDialog builtin //每次重启Apache时需要输入密码
SSLSessionCache shmcb:/var/cache/mod_ssl/scache(512000)
SSLSessionCacheTimeout 300
SSLMutex default
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin

<VirtualHost _default_:443>
SSLEngine on
SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl.crt/server.key

SSLCACertificateFile /etc/httpd/conf/ssl.crt/ca.crt //双向时使用
SSLVerifyClient require //双向时使用,强制客户必须持有SSL证书请求
SSLVerifyDepth 10 //双向时使用
</VirtualHost>

---------------------------------------

可以按照如下方式重新导入KEY文件,则可以不用每次重启Apache都需要输入KEY文件密码

[root@localhost ssl.crt]#openssl rsa -in server.key -out server2.key
[root@localhost ssl.crt]#mv server.key server.key.originalkey
[root@localhost ssl.crt]#mv server2.key server.key

3、重启Apache

[root@localhost ssl.crt]#service httpd restart

如果端口号为非默认的443(假如为446),则可能会会出现如下错误:

Starting httpd: (13)Permission denied: make_sock: could not bind to address [::]:446
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:446
no listening sockets available, shutting down
Unable to open logs
[FAILED]

则可以使用semanagement工具来添加Apache的侦听端口

[root@localhost ssl.crt]#semanage port -l|grep http
[root@localhost ssl.crt]#semanage port -a -t http_port_t -p tcp 446

再次重启Apache应该就可以使用了。

4、开启防火墙端口

[root@localhost conf]#cd /etc/sysconfig/
[root@localhost conf]#vi iptables
-------------------------------------
添加
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 446 -j ACCEPT
-------------------------------------
[root@localhost sysconfig]# /etc/init.d/iptables restart

配置完之后,如果客户端没有安装证书,则不能用446端口访问服务器了。

5、客户端安装证书

IE为例:
【工具】--》【internet选项】--》【内容】--》【证书】--》【受信任的根证书颁发机构】--》【导入】,导入ca.crt。
(双向认证时)【工具】--》【internet选项】--》【内容】--》【证书】--》【个人】--》【导入】,导入client.p12,需要输入该文件的密码
可使用https访问网站

*如果使用IE访问时有问题而用其他浏览器比如火狐,谷歌时没有问题,请对IE做以下设置:
【工具】--》【internet选项】--》【高级】--》安全
ssl和tls使用最低版本。比如SSL 勾选【使用SSL 2.0】,其他的ssl版本不勾选
tls勾选【使用TLS 1.0】,其他版本的tsl不勾选
*其他浏览器操作类似,有问题可以百度搜索。






     本文转自yzy121403725 51CTO博客,原文链接:http://blog.51cto.com/lookingdream/1870099,如需转载请自行联系原作者


相关文章
|
1天前
|
Web App开发 Linux Python
Linux下配置并使用Selenium与Python
Linux下配置并使用Selenium与Python
6 0
|
1天前
|
数据可视化 Linux 开发工具
《Linux从练气到飞升》No.04 Linux编辑器:vim的使用和一键配置
《Linux从练气到飞升》No.04 Linux编辑器:vim的使用和一键配置
16 0
|
2天前
|
Ubuntu 安全 Linux
【Linux】安装VMWare虚拟机(安装配置)和配置Windows Server 2012 R2(安装配置连接vm虚拟机)以及环境配置(Windows版详细教程)
【Linux】安装VMWare虚拟机(安装配置)和配置Windows Server 2012 R2(安装配置连接vm虚拟机)以及环境配置(Windows版详细教程)
28 0
|
3天前
|
Linux Shell 开发工具
Git 安装和配置教程:Windows - Mac - Linux 三平台详细图文教程,带你一次性搞 Git 环境
Git是一款免费、开源的分布式版本控制系统,广泛应用于软件开发领域。随着开源和云计算的发展,Git已经成为了开发者必备的工具之一。本文将为大家介绍Git在Windows、Mac和Linux三个平台上的安装和配置方法,带你一次性搞定Git环境
18 0
|
5天前
|
Java Linux iOS开发
Linux下安装并配置Gradle
Linux下安装并配置Gradle
19 0
|
5天前
|
关系型数据库 MySQL Linux
【Linux】安装与配置虚拟机及虚拟机服务器坏境配置与连接
【Linux】安装与配置虚拟机及虚拟机服务器坏境配置与连接
37 0
【Linux】安装与配置虚拟机及虚拟机服务器坏境配置与连接
|
15天前
|
Java Linux
java环境配置 linux
java环境配置 linux
23 0
|
16天前
|
缓存 网络协议 Linux
linux安装apache并配置userid站点
linux安装apache并配置userid站点
32 0
|
16天前
|
运维 Linux Apache
Linux多虚拟主机和配置限制访问与日志
Linux多虚拟主机和配置限制访问与日志
29 1
|
21天前
|
运维 Linux 数据安全/隐私保护
在Linux上配置Spug自动化运维平台,实现公网远程访问
在Linux上配置Spug自动化运维平台,实现公网远程访问
19 1
热门文章
最新文章
推荐文章
更多