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,如需转载请自行联系原作者


相关文章
|
9天前
|
Oracle Java 关系型数据库
Linux环境安装配置JDK11
Linux环境安装配置JDK11
35 0
|
4天前
|
存储 关系型数据库 MySQL
linux安装MySQL8.0,密码修改权限配置等常规操作详解
linux安装MySQL8.0,密码修改权限配置等常规操作详解
|
5天前
|
存储 安全 数据管理
【专栏】如何在 Rocky Linux 8 上安装和配置 Elasticsearch
【4月更文挑战第28天】本文指导在Rocky Linux 8上安装配置Elasticsearch,包括添加仓库,运行`yum install elasticsearch`进行安装,修改配置文件如`cluster.name`和`network.host`,启动服务并验证其正常运行。同时,文章提及了内存、文件描述符设置及安全配置,并列出常见问题及解决方法,帮助用户成功搭建Elasticsearch。
|
5天前
|
Linux 网络安全 Docker
【Linux】-docker配置容器并打包成镜像
【Linux】-docker配置容器并打包成镜像
|
6天前
|
网络协议 Linux 开发工具
|
7天前
|
监控 关系型数据库 MySQL
|
8天前
|
安全 应用服务中间件 网络安全
linux_nginx中添加ssl配置(open ssl)
linux_nginx中添加ssl配置(open ssl)
20 1
|
9天前
|
Ubuntu Linux
Linux(Ubuntu)系统临时IP以及静态IP配置(关闭、启动网卡等操作)
请注意,以上步骤是在临时基础上进行配置的。如果要永久保存静态IP地址,通常还需要修改 `/etc/network/interfaces`文件,以便在系统重启后保持配置。同时,确保备份相关配置文件以防止出现问题。
25 1
|
10天前
|
Java Linux 开发工具
Linux 配置 Java/JDK 环境
Linux 配置 Java/JDK 环境
18 0
|
10天前
|
负载均衡 Ubuntu 应用服务中间件
Apache(mod_proxy)+Tomcat负载均衡配置
Apache(mod_proxy)+Tomcat负载均衡配置