Java爬虫(八)-- httpClient进阶:HTTPS和证书认证(原理总结篇)

一、前言本篇文章承接上一篇,对应讲述一些我在接触SSL协议、证书认证时学到的一些原理性知识。因为本身不是科班出身,网络方面很多对我来说都是新知识,特在此记录一下。二、HTTPSHTTPS = HTTP + SSL/TLS 协议,即加密过后的HTTP通信。它其实还是HTTP协议,只是在外面加了一层,SSL 是一种加密安全协议,引入SSL的目的是为了解决HTTP协议在不可信网络中使用明...
摘要由CSDN通过智能技术生成

一、前言

本篇文章承接上一篇,对应讲述一些我在接触SSL协议、证书认证时学到的一些原理性知识。因为本身不是科班出身,网络方面很多对我来说都是新知识,特在此记录一下。

二、HTTPS

HTTPS = HTTP + SSL/TLS 协议,即加密过后的HTTP通信。它其实还是HTTP协议,只是在外面加了一层,SSL 是一种加密安全协议,引入SSL的目的是为了解决HTTP协议在不可信网络中使用明文传输数据导致的安全性问题。可以说,整个互联网的通信安全,都是建立在 SSL/TLS 的安全性之上的。

Protocol Year RFC Description
SSL1.0 1994 NetScape公司设计1.0版 但是未发布
SSL2.0 1995.02 NetScape公司发布SSL 2.0版
SSL3.0 1996 RFC 6101 NetScape公司发布SSL 3.0版
TLS 1.0 1999 RFC 2246 互联网标准化组织ISOC接替NetScape公司,发布了SSL的升级版TLS 1.0版。
TLS 1.1 2006.04 RFC 4346 发布TLS1.1版
TLS 1.2 2008.08 RFC 5246 发布TLS1.2版

2.1 SSL/TLS 协议及其握手过程

SSL/TLS 的基本运行过程如下:

  1. 客户端向服务端索要公钥并且进行验证
  2. 双方协商生成“对话密钥”
  3. 双方采用“对话密钥”进行加密通信

第一步中的这个公钥就是放在证书中的,防止篡改,只要证书是可信的,那么公钥也是可信的。

这里先说下,SSL/TLS协议是采用了非对称加密的加密思路,也就是说客户端通过用服务端传过来的公钥进行加密,然后服务端收到密文之后用自己的私钥进行解密。

那么第2步的“对话密钥”是什么呢,这里就涉及对称加密的思路了。因为非对称加密的缺点就是速度慢,所以在每次session中,客户端和服务端之间都会生成一个“对话密钥”(session key),用它来加密信息。因为对称加密的优点就是速度快,而服务器发来的公钥就只是用来加密“对话密钥”而已。

所以说SSL/TLS协议的设计中运用了大量的密码学原理和思想。

在这里顺便科普一下常见的加密算法:

  • 哈希&#
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值