httpd(apache)--知识总结(3)--https
来源:互联网 发布:基础建筑学软件 编辑:程序博客网 时间:2024/05/22 07:01
SSL会话的简化过程
(1) 客户端发送可供选择的加密方式,并向服务器请求证书;(2) 服务器端发送证书以及选定的加密方式给客户端;(3) 客户端取得证书并进行证书验正: 如果信任给其发证书的CA: (a) 验正证书来源的合法性;用CA的公钥解密证书上数字签名; (b) 验正证书的内容的合法性:完整性验正 (c) 检查证书的有效期限; (d) 检查证书是否被吊销; (e) 证书中拥有者的名字,与访问的目标主机要一致;(4) 客户端生成临时会话密钥(对称密钥),并使用服务器端的公钥加密此数据发送给服务器,完成密钥交换;(5) 服务用此密钥加密用户请求的资源,响应给客户端;注意:SSL会话是基于IP地址创建;所以单IP的主机上,仅可以使用一个https虚拟主机;回顾几个术语:PKI,CA,CRL,X.509 (v1, v2, v3)
http事务 vs https事务
创建私有CA
创建私有CA: openssl的配置文件:/etc/pki/tls/openssl.cnf (1) 创建所需要的文件 # touch index.txt # echo 01 > serial # (2) CA自签证书 # (umask 077; openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048) # openssl req -new -x509 -key /etc/pki/CA/private/cakey.epm -days 7300 -out /etc/pki/CA/cacert.pem -new: 生成新证书签署请求; -x509: 专用于CA生成自签证书; -key: 生成请求时用到的私钥文件; -days n:证书的有效期限; -out /PATH/TO/SOMECERTFILE: 证书的保存路径; (3) 发证 (a) 用到证书的主机生成证书请求; # (umask 077; openssl genrsa -out /etc/httpd/ssl/httpd.key 2048) # openssl req -new -key /etc/httpd/ssl/httpd.key -days 365 -out /etc/httpd/ssl/httpd.csr (b) 把请求文件httpd.csr传输给CA; (c) CA签署证书,并将证书发还给请求者; # openssl ca -in /tmp/httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 365 查看证书中的信息: openssl x509 -in /PATH/FROM/CERT_FILE -noout -text|-subject|-serial (4) 吊销证书 (a) 客户端获取要吊销的证书的serial # openssl x509 -in /PATH/FROM/CERT_FILE -noout -serial -subject (b) CA 先根据客户提交的serial与subject信息,对比检验是否与index.txt文件中的信息一致; 吊销证书: # openssl ca -revoke /etc/pki/CA/newcerts/SERIAL.pem (c) 生成吊销证书的编号(第一次吊销一个证书) # echo 01 > /etc/pki/CA/crlnumber (d) 更新证书吊销列表 # openssl ca -gencrl -out thisca.crl 查看crl文件: # openssl crl -in /PATH/FROM/CRL_FILE.crl -noout -text
配置httpd支持https:
(1) 为服务器申请数字证书; 测试:通过私建CA发证书 (a) 创建私有CA (b) 在服务器创建证书签署请求 (c) CA签证 (2) 配置httpd支持使用ssl,及使用的证书; # yum -y install mod_ssl 配置文件:/etc/httpd/conf.d/ssl.conf DocumentRoot ServerName SSLCertificateFile SSLCertificateKeyFile (3) 测试基于https访问相应的主机; # openssl s_client [-connect host:port] [-cert filename] [-CApath directory] [-CAfile filename]
阅读全文
0 0
- httpd(apache)--知识总结(3)--https
- httpd(apache)服务器--知识总结(1)
- httpd(apache)服务器--知识总结(2)
- 使用 Apache httpd 搭建 HTTP/HTTPS/FTP (正向)代理服务器
- 使用 Apache httpd 搭建 HTTP/HTTPS (正向)代理服务器
- 25--- HTTPD(apache)
- 安装Apache(httpd)
- Redhat安装httpd(apache)
- Apache httpd设置HTTPS双向认证
- apache httpd httpd.conf php php.ini url http https
- Apache配置(httpd.conf文件)
- apache tomcat(httpd)安装-windows&liunx
- https 相关知识 (openssl)
- HTTPS知识整理(上)
- https-ssl-nginx-apache-httpd-tomat申请ssl证书小结
- Apache Httpd 2.2 配置CA证书,实现Https加密通讯
- Apache Httpd 2.2配置CA证书,实现Https加密通讯
- linux下安装apache(httpd-2.4.3版本)各种坑
- Linux 下Java 进程启动停止shell脚本
- 对于json中的map中为对象的解析
- bzoj 2716 天使玩偶 CDQ分治
- PAT乙级 1018. 锤子剪刀布 (20)
- arcgis添加瓦片图层解决图层加载缓慢问题
- httpd(apache)--知识总结(3)--https
- android-apt切换为官方annotationProcessor
- 为什么子类的构造方法一定会调用父类的某个构造方法
- not exists 的用法
- C++文件读写与getline()
- 关于本地调用和远程调用的那点事------这里的“程”, 与其理解为路程, 不如理解为进程
- PAT乙级 1019. 数字黑洞 (20)
- Android Crash日志收集
- epoll vs select———— epoll内核源码理解