HTTPS基本原理与应用

HTTP存在的问题

1、无法保证访问到受信网站
当我们要访问一个网站时,如何才能保证这个网站就是我们要的?假设场景如下:

2、无法保证数据私密性和完整性
HTTP协议的数据在传输过程中使用明文传输,很容易被抓取和篡改,可使用tcpdump工具进行验证。

HTTPS的解决思路

1、网站受信鉴权
引入第三方授信服务商,由授信服务商提供网站证书签名,保证网站可信。

2、数据私密性和完整性
HTTPS协议利用网站证书签名来生成相应的公钥和密钥,对数据报文进行加解密处理。

HTTPS的流程和原理

以app<- - - ->server为例

前提
向第三方授信服务商购买证书,或在服务器生成本地证书,并将证书放到网站服务器的指定路径下,同时将证书发给客户端app保存在本地。

https的工作流程
1、校验服务器:客户端向CA机构认证服务器信息
2、协商会话密钥:客户端和服务器协商会话加密密钥
3、加密通讯:客户端和服务器使用会话密钥加密数据报文

注:由于非对称加密的算法复杂,占用较多CPU资源,实际使用时会放弃第7、8两步。

HTTPS的配置
以本地自签名证书为例

证书生成
由于没有向第三方申请证书,我们使用openssl生成本地证书来演示https的配置。

nginx配置https端口转发
1、nginx需要安装支持ssl的模块。
2、在nginx配置文件中新增https端口转发配置

证书生成

1、制作证书私钥:
>openssl genrsa -des3 -out test_yunqixin_service.crt 1024

2、使用证书私钥制作解密后的证书私钥:
>openssl rsa -in test_yunqixin_service.crt  -out test_yunqixin_service_nopass.key

3、使用证书私钥生成证书签名:
>openssl req -new -key test_yunqixin_service.crt -out test_yunqixin_service.csr
提示输入证书信息:Common Name (eg, your name or your server‘s hostname) []:
此处我们输入网站域名:test.yunqixin.site,这很重要,必须输入证书绑定的域名

4、使用证书私钥和签名生成证书crt文件:
>openssl x509 -req -days 10000 -in test_yunqixin_service.csr -signkey test_yunqixin_service_nopass.key -out test_yunqixin_service.crt

证书生成
经过上面四个步骤,得到.crt文件和.key文件,内容如下。
这两个文件也是需要配置到nginx的配置文件里面。

nginx配置https端口转发
1、ssl配置:端口(默认443)、ssl协议及版本、ssl加密方式、证书路径
2、nginx转发配置:与http转发配置一致

https效果

时间: 2024-10-13 22:48:16

HTTPS基本原理与应用的相关文章

HTTPS基本原理

HTTPS基本原理 Xcode7上,默认采用的传输协议就是HTTPS,大家都知道HTTPS = HTTP + SSL,利用HTTPS协议传输的数据是加密的,更加安全.在此对概念性知识不再介绍.直接介绍HTTPS工作的握手原理. 在网上找到了一个网友关于HTTPS工作的流程图,感觉不错,分享该大家.如下图: 接下来,笔者将对上图7个步骤逐一解释. 第一步:客户端的浏览器向服务器发送一个HTTPS请求,这个请求是连接到服务器的443端口,因为https默认采用的端口号是443.这一步客户端的客户端向

深入浅出HTTPS基本原理

基础知识准备:在了解HTTPS的基本原理之前,需要先了解如下的基本知识. 一.什么是HTTPS,TLS,SSL HTTPS,也称作HTTP over TLS.TLS的前身是SSL,TLS 1.0通常被标示为SSL 3.1,TLS 1.1为SSL 3.2,TLS 1.2为SSL 3.3.下图描述了在TCP/IP协议栈中TLS(各子协议)和HTTP的关系. 二.HTTP和HTTPS协议的区别     1.https协议需要到证书颁发机构(Certificate Authority,简称CA)申请证书

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 服务器的证书请求 进行数字

基于ejbca community 6.3.1.1构建独立ca系统管理数字证书

"数字证书"这个名词相信很多人听过,但并不了解,"ejbca"可能很多人都没有听过 数字证书(Certificate),就是互联网通信过程中标志通信各方身份的一个文件,可以理解为"网络身份证",主要目的是验证身份 ejbca,是一个CA(Certificate Authority)系统软件,CA是数字证书认证中心的简称,主要功能是管理数字证书,包括证书的颁发.销毁.更新等,ejbca实现了CA规范,因此可以用来管理数字证书 接下来,笔者将按照ej

扫盲系列之

网络分层: 位码 建立连接 –> TCP/IP 三次握手 HTTP 请求 – 应答 –> HTTP的报文 关闭连接 –> TCP四次挥手 TCP UDP区别 Socket 建立Socket链接 HTTP与Socket HTTPS 网络分层: 从底往上依次是: 物理层->数据链路层->网络层->传输层->会话层->表示层->应用层 名称 协议 作用 物理层 RJ45.CLOCK.IEEE802.3 (中继器,集线器) 通过媒介传输比特,确定机械及电气规范

屏谖畔涨善ab63gro0l16rstpb58

中新社首尔4月13日电 (记者 吴旭)韩国第20届国会议员选举于当地时间13日18时结束投票.据韩国中央选举管理委员会公布的初步统计数据显示,本届国会议员选举投票率为58%,较上一届高出3.8个百分点.最终确定投票结果将于14日上午予以公布.从选区来看,全罗南道.全罗北道投票率领先,均突破60%,而大邱.釜山.京畿道及仁川地区投票率则低于平均值.在选举"主战场"首都圈地区,首尔以59.8%的投票率超出均值.根据目前初步统计结果,本届选举的投票率虽然没有超过事前预测的60%,但较第18届

噬鸵叟客切q08c365s

新华社瓦莱塔4月10日电(记者李拯宇 李佳)全国政协主席俞正声10日在前往非洲三国进行正式友好访问途中过境马耳他,在瓦莱塔会见马耳他议长法鲁贾. 俞正声说,中马保持长期友好关系,政治上相互信任,经济上密切合作,人文交流不断深化.中方感谢马方在中国撤侨行动中给予的支持和帮助.中方愿同马方一道,落实两国领导人达成的共识,弘扬中马传统友好,拓展在科技.渔业.旅游等领域互利合作,打造合作新亮点.中国全国政协愿与马耳他议会和社会各界保持密切交往,加强治国理政经验交流,为两国扩大务实合作营造良好环境,共同促

蚜戮苛裂退q47uc785b3

新华社瓦莱塔4月10日电(记者李拯宇 李佳)全国政协主席俞正声10日在前往非洲三国进行正式友好访问途中过境马耳他,在瓦莱塔会见马耳他议长法鲁贾. 俞正声说,中马保持长期友好关系,政治上相互信任,经济上密切合作,人文交流不断深化.中方感谢马方在中国撤侨行动中给予的支持和帮助.中方愿同马方一道,落实两国领导人达成的共识,弘扬中马传统友好,拓展在科技.渔业.旅游等领域互利合作,打造合作新亮点.中国全国政协愿与马耳他议会和社会各界保持密切交往,加强治国理政经验交流,为两国扩大务实合作营造良好环境,共同促

中三他身东取必信史规不

对啊我恍然大悟凌月果然心细如尘啊 但是凌月的雪却隐藏着绝强的杀伤力下一刻突然一大片冰雪在血饮的人群中爆开顿时傲世狂人和傲世嗜血均是大惊失色忍不住道居然那么高的防御 但是级别却只有级而已不过这已经足以傲视群雄了因为我的等级已经一下子窜到了中国排名的第位只要再努力一把完全可以在等级榜上崭露头角了顿时傲世狂风和傲世狂剑两个大惊失色注已经全部被吸引了过去不客气就不客气谁怕谁啊但是这一切也只是为了杀最后的而清理路障而已那个食人魔首领才是我们真正此行的目的嗯出去吃夜宵吧秦韵亲手做的 嗯那好吧凌雪又叮嘱了我一