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

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

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. win10 64bit 安装scrapy-1.1

    0.环境说明 win10 64bit,电脑也是64bit的处理器,电脑装有vs2010 64bit,但是为了保险起见,只试验了32位的安装,等有时间了,再试下64位的安装.如无特殊说明,一切操作都是在 ...

  2. 文成小盆友python-num7 -常用模块补充 ,python 牛逼的面相对象

    本篇内容: 常用模块的补充 python面相对象 一.常用模块补充 1.configparser模块 configparser 用于处理特定格式的文件,起内部是调用open()来实现的,他的使用场景是 ...

  3. xcode5 自定义模板

    经过一番周折,终于在xcode5上实现了一个简单的自定义模板,在项目中集成NSLogger库(增强NSLog的功能,https://github.com/fpillet/NSLogger)——新建项目 ...

  4. C语言学习--链表

    #include "node.h" #include<stdio.h> #include<stdlib.h> //typedef struct _node ...

  5. MSSQL BACKUP WEBSHELL

    Title:MSSQL BACKUP WEBSHELL -- Long Long Ago. Version:MSSQL 2005 && + ';alter/**/database/** ...

  6. Ansible好像很好玩的样子哟

    这个比SALTSTACK轻量,,不知道速度如何..... 参考文档: http://linux.cn/article-4215-1.html wget http://download.fedorapr ...

  7. 使用JQUERY实现局部页面定时刷新

    没办法,运维会一点点前端,还是有好处的.. 说不定,BOOTSTRAP也得会一点点.. 本想用流式输出的搞定的,但没搞定,就取巧了... 代理简单: <script src="//cd ...

  8. BZOJ1596: [Usaco2008 Jan]电话网络

    1596: [Usaco2008 Jan]电话网络 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 513  Solved: 232[Submit][S ...

  9. vim 插件

    自动补全插件更换:youcompleteme github:https://github.com/Valloric/YouCompleteMe

  10. Java学习日记-4 StringBuffer类和数组

    一.StringBuffer类 StringBuffer是一个可变字符序列. 1.1 构造函数 StringBuffer() 构造一个不带字符的字符缓冲区,初始容量为16个字符. StringBuff ...