对称加密  客户端和服务器使用同一把钥匙,加密算法公开

非对称加密  不同钥匙,公钥加密的私钥可以打开 私钥加密的公钥可以打开

HTTPS关键:

1. 要传输的业务数据,使用对称加密。

客户端生成私钥,并传送给服务器。 ☆

客户端用私钥加密后的业务数据,传送给服务器。

服务器再用这个私钥来解密业务数据。

2. 客户端的私钥本身,使用非对称加密。

客户端拿到服务器的公钥后,对私钥进行加密后才传给服务器。☆

服务器用自己的私钥来解密客户端的私钥

流程:

服务器S --> 客户端C  S家公钥                                        第一步

客户端C --> 服务器S  S家公钥加密过的C家私钥

服务器                     用S家私钥解密,获取到原始的C家私钥。

客户端C -->服务器S   C家私钥加密过的业务数据

服务器                    用C家私钥解密业务数据

问题: 第一步黑客可以伪造公钥给客户端来试图获取C家私钥

解决方法: S家的公钥也要有担保人。

全球公认的就100多家公司(CA公司)用于认证。

数字证书。用于客户端来探明公钥网站的合法权威性。

数字证书 = CA家的私钥加密过的S家公钥 + 过期时间 等

设备上装了公认的100多家CA公司的公钥。

如果说,设备上的100多家CA公司的公钥有能够解析数字证书的,说明该证书合法,非客户所为。

参考一下文的总结:

总结:

  1. HTTPS的传输过程涉及到了对称加密和非对称加密,对称加密加密的是实际的数据,非对称加密加密的是对称加密所需要的客户端的密钥。

  2. 为了确保客户端能够确认公钥就是想要访问的网站的公钥,引入了数字证书的概念,由于证书存在一级一级的签发过程,所以就出现了证书链,在证书链中的顶端的就是根CA。

  3. Android客户端不信任服务器证书的原因主要是因为客户端不信任证书链中的根证书CA,我们应该让我们的App去信任该根证书CA,而不是直接信任网站的自身的数字证书,因为网站的数字证书可能会发生变化。

http://blog.csdn.net/iispring/article/details/51615631#rd

https加密的更多相关文章

  1. Nginx采用https加密访问后出现的问题

    线上的一个网站运行了一段时间,应领导要求,将其访问方式更改为https加密方式.更改为https后,网站访问正常,但网站注册功能不能正常使用了! 经过排查,是nginx配置里结合php部分漏洞了一个参 ...

  2. 百度HTTPS加密搜索有什么用?

    前段时间,我曾提到百度支持移动端HTTPS SSL加密搜索,用以保护用户隐私.最近,百度开始支持PC端HTTPS SSL加密搜索,现在可以启用 https://www.baidu.com 搜索.我很少 ...

  3. https加密实现

    author:JevonWei 版权声明:原创作品 在httpd安装完成的基础上实现https加密 安装mod_ssl软件包 yum -y install mod_ssl http -M 显示mod_ ...

  4. HTTPS加密流程超详解(一)前期准备

    0.前言 前一阵子想写一个HTTPS的嗅探工具,之前只是大致了解SSL/TLS协议的加密流程,真正上起手来一步一步分析发现还是有点复杂的,于是我参考了wireshark的源码以及各种RFC,弄清楚了S ...

  5. HTTPS加密那点事-对称、非对称加密、数字证书

    转自:[漫画]https 加密那点事 首先,HTTP协议的缺点:没有对数据进行加密,都是明文传输的.如果要改进这种明文传输的协议,该如何做呢? 对称加密: 在每次发送真实数据之前,服务器先生成一把密钥 ...

  6. 部署自建CA颁发证书实现https加密

    理论忽略:百度上很多 需求:自建证书并实现域名的https加密 部署: 在linux机器上执行以下命令生成私钥 mkdir -p /opt/ssl-cert cd  /opt/ssl-cert 1.# ...

  7. 免费获取SSL证书/一键安装SSL证书/https加密

    因为我用的是恒创的香港服务器 虽然价格相较于大促的阿里云贵一些,但是有一个有点不用备案... 安装步骤: 1.登录云主机控制面板, 在 其他管理 中找到并进入 SSL证书 设置. 注意:如拥有多个域名 ...

  8. https 加密、http2.0、keep-alive

    原文地址:https://ainyi.com/44 HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议 ...

  9. Apache强制WWW跳转以及强制HTTPS加密跳转的方法

    一般我会较多的使用WORDPRESS程序,其在安装的时候我们如果直接用WWW打开,或者在后台设置WWW域名则默认会强制301指向WWW站点域名.而这里有使用ZBLOG或者TYPECHO等其他博客程序则 ...

  10. https加密过程

    https加密完整过程 step1: “客户”向服务端发送一个通信请求 “客户”->“服务器”:你好 step2: “服务器”向客户发送自己的数字证书.证书中有一个公钥用来加密信息,私钥由“服务 ...

随机推荐

  1. yii 标签用法(模板)

    yii模板中的label标签 <?php echo $form->labelEx($model,'name'); ?> 编译后: <label for="Projec ...

  2. PHP文章管理

    功能说明:  文章的基本操作:添加,修改,锁定,解锁,推荐,删除等待  并有强大功能的搜索,评论,推荐给朋友等功能,并对安全性进行着重加强,漂亮的界面人性化的设计.  主要文件列表:  setup.p ...

  3. 002-C语言概览

    C语言 关键字: 32个关键字,全是小写 auto double int struct break else long switch case enum register typedef char e ...

  4. Codeforces 138D World of Darkraft

    有一个n*m 的棋盘,每个点上标记了L,R,X 中的一个每次能选择一个没有被攻击过的点(i,j),从这个点开始发射线,射线形状为:1. 若字符是 L,向左下角和右上角发,遇到被攻击过的点就停下来2. ...

  5. codevs 1217 借教室

    传送门 1217 借教室 2012年NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题解       题目描述 Descripti ...

  6. mongodb 教程三

    mongodb 实际上是保存json的数据的结构.当查询 是修改时 key 是可以用''保存. mongodb  插入语句 db.weixin.insert({name:'zhangfeng',age ...

  7. 温故而知新 C++ 数组与指针

    #include <stdio.h> using namespace std; int main(int argc, _TCHAR* argv[]) { ]; ] = {,,,}; &qu ...

  8. poj1797 - Heavy Transportation(最大边,最短路变形spfa)

    题目大意: 给你以T, 代表T组测试数据,一个n代表有n个点, 一个m代表有m条边, 每条边有三个参数,a,b,c表示从a到b的这条路上最大的承受重量是c, 让你找出一条线路,要求出在这条线路上的最小 ...

  9. Surrounded Regions——LeetCode

    Given a 2D board containing 'X' and 'O', capture all regions surrounded by 'X'. A region is captured ...

  10. 在linux下文件转码

    在linux下转码命令: iconv  -f utf-8 a.txt > b.txt