ssl配置
Apache SSL配置
网址: http://weizhifeng.net/apache-ssl.html
概念
开始之前介绍几个SSL相关的概念:
- CA(Certification Authority,认证中心)
- SSL (Secure Sockets Layer,安全套接层协议)
- TLS(Transport Layer Security,传输层安全)
- CSR (Certificate Signing Request,证书签名请求)
流程
需要启用SSL的服务器自己生成CSR,然后让权威的CA进行签名认证或者 自己创建一个CA证书,然后给自己的CSR签名,不过这样的证书不会被浏览器认可。 以下步骤确保已经安装了openssl,windows版本的在这。
创建一个自签名的CA证书:
openssl req -x509 -newkey rsa:1024 -keyout ca.key -out ca.crt
生成服务器CSR:
openssl req -newkey rsa:1024 -keyout server.key -out server.csr
如果不使需要CA证书签名的话,进行如下操作:
openssl req -x509 -days 1024 -key server.key -in server.csr > server.crt
如果需要用CA证书签名:
openssl x509 -req -in server.csr -out server.crt -CA ca.crt -CAkey ca.key -CAcreateserial
查看证书:
openssl x509 -noout -text -in server.crt
验证证书:
openssl verify -CAfile ca.crt server.crt
生成客户端CSR:
openssl req -newkey rsa:1024 -keyout client.key -out client.csr
用CA证书签名:
openssl x509 -req -in client.csr -out client.crt -CA caca.crt -CAkey caca.key -CAcreateserial
转换,使证书可以安装到浏览器:
openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.pfx
修改配置文件httpd-ssl.conf:
SSLCertificateFile conf/ssl.crt/server.crt #服务器证书
SSLCertificateKeyFile conf/ssl.key/server.key #服务器私钥
SSLCACertificateFile conf/ssl.crt/ca/ca.crt #CA证书
SSLVerifyClient require #强制浏览器必须安装了证书才能访问
证书链介绍
生成Root CA私钥与证书: 生成RootCA私钥 —> 使用私钥生成CSR —> 生成自签名根证书(用来给二级CA证书签名)。
生成二级CA 私钥与证书:(假如有两个二级CA, 分别负责管理服务器端和客户端证书)
2.1 生成ServerCA私钥 —> 使用私钥生成CSR —> 使用根证书签名生成二级证书(ServerCA证书用来给服务器证书签名)。
2.2 先生成ClientCA私钥 —> 使用私钥生成 CSR—> 使用根证书签名生成二级证书(ClientCA证书用来给客户端证书签名)。生成服务器端与客户端的私钥与证书:
3.1 生成ServerA私钥 —> 使用私钥生成CSR —> 使用ServerCA证书签名生成三级证书(ServerA证书)。
3.2 生成ClientA私钥 —> 使用私钥生成 CSR—> 使用ClientCA证书签名生成三级证书(ClientA证书)。
3.3 先生成ClientB私钥 —> 使用私钥生成 CSR—> 使用ClientCA证书签名生成三级证书(ClientB证书)。
...可以生成N个客户端证书
证书结构:
RootCA
|
|-------ServerCA
| |
| |--------ServerA
|
|-------ClientCA
|
|------- ClientA
|------- ClientB
|......
参考:
http://www.shenmiguo.com/archives/2009/284_linux-apache-ssl-guide.html
ssl配置的更多相关文章
- 百度CDN 网站SSL 配置
百度CDN SSL配置步骤 一般从SSL提供商购买到的证书是CRT二进制格式的. 1. 将 CRT 导入到IIS中, 然后从IIS中导出为PFX格式 2. 下载openssl,执行下面命令 提取用户证 ...
- Nginx SSL配置过程
1. 在godaddy购买了UCC SSL(最多5个域名)的SSL证书 2. 设置证书 -- 管理 -- 3. 需要制作证书申请CSR文件(在线工具制作或者openssl命令制作),保存CSR和key ...
- SSL 通信原理及Tomcat SSL 配置
SSL 通信原理及Tomcat SSL 双向配置 目录1 参考资料 .................................................................. ...
- nginx反向代理cas server之1:多个cas server负载均衡配置以及ssl配置
系统环境采用centOS7 由于cas server不支持session持久化方式的共享,所以请用其他方式代替,例如:组播复制. 为什么不支持session持久化:http://blog.csdn.n ...
- centos7邮件服务器SSL配置
在上篇文章centos7搭建postfix邮件服务器的搭建中我们没有配置SSL,接下来我们在这篇文章中讲讲centos7邮件服务器SSL配置. 1. 创建SSL证书 [root@www ~]# cd ...
- Sahi (2) —— https/SSL配置(102 Tutorial)
Sahi (2) -- https/SSL配置(102 Tutorial) jvm版本: 1.8.0_65 sahi版本: Sahi Pro 6.1.0 参考来源: Sahi官网 Sahi Quick ...
- Nginx SSL配置
一.SSL 原理 ① 客户端( 浏览器 )发送一个 https 请求给服务器② 服务器要有一套证书,其实就是公钥和私钥,这套证书可以自己生成,也可以向组织申请,服务器会把公钥传输给客户端③ 客户端收到 ...
- Tomcat服务器配置https协议(Tomcat HTTPS/SSL 配置)
通常商用服务器使用https协议需要申请SSL证书,证书都是收费的,价格有贵的有便宜的.它们的区别是发行证书的机构不同,贵的证书机构更权威,证书被浏览器否决的几率更小. 非商业版本可以通过keytoo ...
- Mosquitto 单向SSL配置
Mosquitto 单向SSL配置 摘自:https://blog.csdn.net/a_bcd_123/article/details/70167833 2017年04月14日 06:56:06 s ...
随机推荐
- WebService 出现因 URL 意外地以“/HelloWorld”结束,请求格式无法识别。
要在webservice的web.config文件中的 <system.web> 节点下加入: <webServices> <protocols> ...
- 【转载】两个Web.config中连接字符串中特殊字符解决方案
userid = test password = aps'"; 那么连接字符串的写法为: Provider=SQLOLEDB.1;Password="aps'"&quo ...
- How to Download APK Files from Google Play Store
Evozi, an Android app developer, offers a one-click online APK download app that lets you download t ...
- 常用sql命令
--1) 创建一张学生表,包含以下信息,学号,姓名,年龄,性别,家庭住址,联系电话 CREATE TABLE student ( [id] [int] IDENTITY(1,1) NOT NU ...
- 向Window BCD 文件添加VHD开机启动项的相关笔记
******************************************************************************** * BCD_YE_MIN文件说明:(精 ...
- 【原】Storm分布式RPC
5. Storm高级篇 序列化 分布式RPC High level overview LinearDRPCTopologyBuilder Local mode DRPC Remote mode DRP ...
- OnItemClickListener 的参数详解(转)
转载地址:http://blog.iamzsx.me/show.html?id=147001 我们在使用ListView的时候,一般都会为ListView添加一个响应事件android.widget. ...
- CreateThread函数&&CString::GetBuffer函数
对这个两个常见的windows下的函数学习了一下: //最简单的创建多线程实例 #include <stdio.h> #include <windows.h> //子线程函数 ...
- Tkinter教程之Scale篇
本文转载自:http://blog.csdn.net/jcodeer/article/details/1811313 '''Tkinter教程之Scale篇'''#Scale为输出限定范围的数字区间, ...
- Windows Server 2003下ASP.NET无法识别IE11的解决方法【转】
http://www.iefans.net/windows-server-2003-asp-net-ie11-shibie/ 由于IE11对User-Agent字符串进行了比较大的改动,所以导致很多通 ...