HTTPS原理、应用

HTTPS基本原理

                                           CA验证中心(颁发/吊销证书)
                                             /                    \ \
                         CA 证书(CA公钥)    /            CA下发     \ \ WEB证书请求
                                           /                  证书   \                                     client <--------数字证书------ WEB                             (CA私钥(签名))、WEB身份信息、WEB公钥)                                        
1.web服务器,生成非对称加密密钥对(web公钥,web私钥)
2.web服务器使用 web身份信息+web公钥 生成 web服务器的证书请求 ,并将证书请求发给CA服务器
3.CA服务器使用 CA的私钥 对 web 服务器的证书请求 进行数字签名,得到web服务器的数字证书,并将web服务器的数字证书颁发给web服务器。
4.client访问web服务器,请求https连接,下载web数字证书
5.client下载 CA数字证书(CA身份信息+CA公钥,由上一级CA颁发,也可自签名颁发),验证 web数字证书(CA数字证书中有CA公钥,web数字证书是使用CA私钥签名的)
6.client与web协商对称加密算法,client生成对称加密密钥并使用web公钥加密,发送给web服务器,web服务器使用web私钥解密
7.使用对称加密密钥传输数据,并校验数据的完整性

我们来模拟client与server之间的这种认证模式;

实验前的准备:我们用两台虚拟机来进行试验;CA服务器与server为一台;client;

先来对CA+server进行配置;

1.配置CA,生成CA自己的公钥、私钥;CA都对自己进行证书签名

[[email protected] ~]# vim /etc/pki/tls/openssl.cnf

2.生成自签名证书

[[email protected] ~]# /etc/pki/tls/misc/CA -newca

/etc/pki/CA/private/cakey.pem  CA私钥

/etc/pki/CA/cacert.pem       CA自签数字证书

/etc/pki/CA/careq.pem       CA证书请求

3.配置WEB服务器

[[email protected]1 httpd]# openssl genrsa -des3 -out /etc/httpd/conf.d/server.key
Generating RSA private key, 2048 bit long modulus
........................+++
.......+++
e is 65537 (0x10001)
Enter pass phrase for /etc/httpd/conf.d/server.key:
Verifying - Enter pass phrase for /etc/httpd/conf.d/server.key:

4.生成证书请求(使用身份表示+公钥)

[[email protected] ~]# openssl req -new -key /etc/httpd/conf.d/server.key -out /etc/httpd/conf.d/server.csr

5.将证书请求发给CA(这里我们用的私同一台虚拟机),CA服务器对证书进行数字签名;将签字后数字证书颁发给WEB

[[email protected] ~]# openssl ca -keyfile /etc/pki/CA/private/cakey.pem -cert /etc/pki/CA/cacert.pem -in /etc/httpd/conf.d/server.csr -out /etc/httpd/conf.d/server.crt

6.配置WEB支持ssl实现https

[[email protected] ~]# yum install mod_ssl
[[email protected] ~]# vim /etc/httpd/conf.d/ssl.conf

7.重启服务

[[email protected]1 CA]# systemctl restart httpd
Enter SSL pass phrase for fe80::20c:29ff:fe88:9d40:443 (RSA) : ******
[[email protected]1 CA]# ss -anplt | grep 443
LISTEN     0      128         :::443                     :::*                   users:(("httpd",pid=20066,fd=6),("httpd",pid=20065,fd=6),("httpd",pid=20064,fd=6),("httpd",pid=20063,fd=6),("httpd",pid=20062,fd=6),("httpd",pid=20060,fd=6))

8.client下载CA证书并导入到浏览器,然后访问www服务器;

原文地址:https://www.cnblogs.com/loganSxb/p/11266083.html

时间: 2024-10-11 04:28:18

HTTPS原理、应用的相关文章

HTTPS 原理剖析与项目场景

最近手头有两个项目,XX导航和XX产业平台,都需要使用HTTPS协议,因此,这次对HTTPS协议做一次整理与分享. 为什么使用HTTPS HTTP 协议,本身是明文传输的,没有经过任何安全处理.那么这个时候就很容易在传输过程中被中间者窃听.篡改.冒充等风险.这里提到的中间者主要指一些网络节点,是用户数据在浏览器和服务器中间传输必须要经过的节点,比如 WIFI 热点,路由器,防火墙,反向代理,缓存服务器等. HTTP 协议,中间者可以窃听隐私,使用户的敏感数据暴露无遗:篡改网页,例如往页面插的广告

HTTPS原理

(美团2016研发工程师模拟笔试题 )8.浏览器和服务器在基于https进行请求链接到数据传输过程中,用到了如下哪些技术:(ABCD) A.非对称加密技术 B.对称加密技术 C.散列(哈希)算法 D.数字证书 解析:HTTPS原理(原文链接:http://www.guokr.com/post/114121/) 谣言粉碎机前些日子发布的<用公共WiFi上网会危害银行账户安全吗?>,文中介绍了在使用HTTPS进行网络加密传输的一些情况,从回复来看,争议还是有的.随着网络越来越普及,应用越来越广泛,

HTTPS 原理解析

一 前言 在说HTTPS之前先说说什么是HTTP,HTTP就是我们平时浏览网页时候使用的一种协议.HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全.为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS.SSL目前的版本是3.0,被IETF(Internet Engineering Task Force)定义在RFC 6101中,之后IETF对

[转]HTTPS那些事(一)HTTPS原理

[转]HTTPS那些事(一)HTTPS原理 http://www.guokr.com/post/114121/ 楔子谣言粉碎机前些日子发布的<用公共WiFi上网会危害银行账户安全吗?>, 文中介绍了在使用HTTPS进行网络加密传输的一些情况,从回复来看,争议还是有的.随着网络越来越普及,应用越来越广泛,一些网络安全问题也会越来越引 起网民的关注,在这里和大家一起聊聊TLS/SSL也就是我们常说的HTTPS,从原理到实际应用看清它到底是怎么一回事,以及在使用HTTPS要注意哪 些问题以及相关的安

OpenSSL和https原理

https原理: 浏览器请求服务端的公钥证书,服务器将注册的证书发送给客户端.客户端向办法机构验证证书的合法性,证书 包括公钥,服务器网址及一些信息.验证完毕,客户端生成一串随即码,用公钥加密发送给服务器端作为对称加密 密钥. Openssl工具生成根证书,公私钥对(key.cer key.pam),证书请求文件(key-req.csr).公钥以.cer结尾的文件,私钥为.pam结尾的文件,证书请求文件是用来颁给请求公私钥对的个人或公司.通过根证书的签名来为个人或公司生成公钥, 根的公私钥对由o

HTTPS原理解析-转

这篇文章关于Https的讲解真的是太透彻了,转过来备忘. 来源:腾讯bugly 基于此文章的学习总结:下一篇文章 1.HTTPS 基础 HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议 它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息.它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版,是使用 TLS/SSL 加密的 HTTP 协议. HTTP 协议采用明文传输信息,存在信息窃听.信息篡改和信息

Https原理及实现 //to be continued

目录 1. Https原理及过程 2. Https服务端 3. Https客户端 1. Https原理及过程 ... 2. Https服务端 3. Https客户端 3.1 客户端请求的java实现 原文地址:https://www.cnblogs.com/eaglediao/p/9465537.html

网络知识杂谈 - https - 原理简述

概述 简单描述 https 尽量介绍它的原理 实际的机制, 可能会更加复杂一些... 背景 这玩意, 困扰我好多年了 今天开始, 想做个了断 之前工作也接触过, 但从我的角度来说, 认识很浅 会配置 给个证书, 放好位置, 调一下选项 会抓包 开个 charles, 配置几下, 手机挂代理, 安装证书 具体干啥 只知道是个 加密的体系 因为抓包知道, 这不是明文 机制的理解和思考 看过 图解http, 没理解就放过去了... 最后, 将这个东西的时候, 如果你忍无可忍想说一句, 禁止套娃...

https原理总结

博客搬家: https原理总结 最近在公司项目的服务器上做一些内部接口,要求使用https,于是花时间研究了一波.我们熟知的http在传输时未对数据进行加密,在传输一些敏感信息时存在着不小的安全隐患.因此,https在http的基础上加上了SSL(Secure Sockets Layer)加密,以保障数据的安全传输.如今使用的TLS实际上是SSL的升级版本.具体有关https的概念可参考百科 https介绍 1.https原理探究 https的保障信息安全的机制,其实用一句话就能概括:clien

https原理是什么

很多人不知道这个https原理的,主要是这个东西有点抽象.所以我们一开始琢磨不透这个https原理,但是只要我们仔细地去思考,去领悟我们就会很容易知道这个东西.下面我们来仔细看这个https原理.https原理 说起来https原理就是这个https协议的作用.这个协议是为了与网站所在的服务器进行数据交互的.还有的话就是一些普通的https证书的获取,这个点也是有必要知道一下的.这个https就是一个网站为了保密,这个其实就是数字证书的一种,主要是经过了CA认证中心的认证之后就是可以使用的了.这