1、密钥对,在非对称加密技术中,有两种密钥,分为私钥和公钥,私钥是密钥对所有者持有,不可公布,公钥是密钥对持有者公布给他人的。

2、公钥,公钥用来给数据加密,用公钥加密的数据只能使用私钥解密。

3、私钥,如上,用来解密公钥加密的数据。

4、摘要,对需要传输的文本,做一个HASH计算,一般采用SHA1,SHA2来获得。

5、签名,使用私钥对需要传输的文本的摘要进行加密,得到的密文即被称为该次传输过程的签名。

6、 签名验证,数据接收端,拿到传输文本,但是需要确认该文本是否就是发送发出的内容,中途是否曾经被篡改。因此拿自己持有的公钥对签名进行解密(密钥对中的 一种密钥加密的数据必定能使用另一种密钥解密。),得到了文本的摘要,然后使用与发送方同样的HASH算法计算摘要值,再与解密得到的摘要做对比,发现二 者完全一致,则说明文本没有被篡改过。

上面实际上介绍了加密解密和数字签名两个概念和实现过程,二者的过程正好是相反的。

在 签名的过程中,有一点很关键,收到数据的一方,需要自己保管好公钥,但是要知道每一个发送方都有一个公钥,那么接收数据的人需要保存非常多的公钥,这根本 就管理不过来。并且本地保存的公钥有可能被篡改替换,无从发现。怎么解决这一问题了?由一个统一的证书管理机构来管理所有需要发送数据方的公钥,对公钥进 行认证和加密。这个机构也就是我们常说的CA。认证加密后的公钥,即是证书,又称为CA证书,证书中包含了很多信息,最重要的是申请者的公钥。

CA 机构在给公钥加密时,用的是一个统一的密钥对,在加密公钥时,用的是其中的私钥。这样,申请者拿到证书后,在发送数据时,用自己的私钥生成签名,将签名、 证书和发送内容一起发给对方,对方拿到了证书后,需要对证书解密以获取到证书中的公钥,解密需要用到CA机构的”统一密钥对“中的公钥,这个公钥也就是我 们常说的CA根证书,通常需要我们到证书颁发机构去下载并安装到相应的收取数据的客户端,如浏览器上面。这个公钥只需要安装一次。有了这个公钥之后,就可 以解密证书,拿到发送方的公钥,然后解密发送方发过来的签名,获取摘要,重新计算摘要,作对比,以验证数据内容的完整性。

HTTPS是综合用了加密解密和数字签名的实例,理解了上述概念和过程,结合密钥对交换的过程就不难理解HTTPS。

ca机构在公私钥体系中承担了公钥合法性的检验工作。

转载于:https://www.cnblogs.com/minikobe/p/9767024.html

公私钥,数字证书,https相关推荐

  1. KeyStore加载PublicKey/PrivateKey(公/私钥)证书

    开发过程中,对于签名和验签的问题,相信大家没少见过.很多时候,我们只是拿来就用,根本没留意里面的逻辑: 要么就是项目现有的签名和验签逻辑,要么就是拿demo里面的代码然后集成到项目中去,直接使用. 很 ...

  2. 国密SM2签名之公私钥及证书生成

    一.生成公私钥及证书 1.下载gmssl.jar 2.创建CA密钥 gmssl ecparam -genkey -name sm2p256v1 -out .\ca\CARoot.key 注:若提示 o ...

  3. 关于数字证书,数字签名,CA证书,Https都在这里了

    Http协议大家都不陌生了,但是http的请求内容都是明文的内容,如果被拦截了请求,就能看到你的请求内容,比如账号密码之类的,这样的话就是不安全的, 然后就有了http+SSL/TLS =https ...

  4. JAVA SM2 数字证书生成

    文章目录 Before Start Build with Maven QuickStart 生成自签名公私钥对 证书签名算法算法提供者 设置证书信息 标识信息构造(DN) 获取扩展密钥用途构造(可选) ...

  5. 数字签名、数字证书、对称加密算法、非对称加密算法、单向加密(散列算法)...

    2019独角兽企业重金招聘Python工程师标准>>> 数字签名是什么? 1. 鲍勃有两把钥匙,一把是公钥,另一把是私钥. 2. 鲍勃把公钥送给他的朋友们----帕蒂.道格.苏珊-- ...

  6. 数字签名、数字证书、对称加密算法、非对称加密算法、单向加密(散列算法)

    数字签名是什么? 1. 鲍勃有两把钥匙,一把是公钥,另一把是私钥. 2. 鲍勃把公钥送给他的朋友们--帕蒂.道格.苏珊--每人一把. 3. 苏珊给鲍勃写信,写完后用鲍勃的公钥加密,达到保密的效果. 4 ...

  7. 数字签名、数字证书、对称加密算法、非对称加密算法、单向加密(散列算法)——Web网络系列学习笔记

    数字签名是什么? 1. 鲍勃有两把钥匙,一把是公钥,另一把是私钥. 2. 鲍勃把公钥送给他的朋友们--帕蒂.道格.苏珊--每人一把. 3. 苏珊给鲍勃写信,写完后用鲍勃的公钥加密,达到保密的效果. 4 ...

  8. 英文文档: 如何使用 OpenSSL 创建与吊销数字证书

    推荐一篇文档, 讲解如何使用 OpenSSL 创建与吊销数字证书: https://www.linux.com/BLOG/PKI-IMPLEMENTATION-LINUX-ADMIN

  9. 公钥、私钥、数字签名、数字证书、对称与非对称算法、HTTPS

    2019独角兽企业重金招聘Python工程师标准>>> 对公钥和私钥有点稀里糊涂的,搜索了一些资料,作一些整理吧,先看这个: 加密--公钥 解密--私钥 签名--私钥 验证--公钥 ...

最新文章

  1. An internal error occurred during: Launching xxx on WebLogic10.x.
  2. 第一章、FastDFS简介
  3. SQLServer 存储过程
  4. phppage类封装分页功能_封装page分页类
  5. CF183D T-shirt
  6. Discuz!NT论坛代码小分析
  7. 公钥密码-非对称加密算法
  8. suparc服务器没信号,[SupARC平台常见问题帮助](2012-09-19更新)
  9. arm7 mysql 编译安装_uboot的readme导读(转)
  10. MySQL 性能优化的最佳20多条经验分享
  11. python nodemcu_python开发nodemcu(一)
  12. oracle 11g 延迟验证,取消 11G延迟密码验证
  13. oracle 11g 完美卸载,oracle 11g完美卸载
  14. 4.1 选择IDC机房 4.2 硬件服务器选型 4.3 上架服务器 4.4/4.5 装系统
  15. Python 科学计算
  16. 乔布斯斯坦福大学演讲英文原文
  17. 移动端轮播图——网易云音乐手机端样式
  18. PAT题目详解-----愿天下有情人都是失散多年的兄妹
  19. 记录一次实战GetShell
  20. TCP/IP之大明王朝邮差

热门文章

  1. JAVA实现1到100的平方根之和_手算平方根和基于 Java BigInteger 的大整数平方根的实现...
  2. 超经典两万字,MySQL数据库快速入门。
  3. Python基础(函数)
  4. 误差反向传播法(二)【神经网络以层的方式实现】
  5. 头发制作_【绘画教程】动漫人物的头发该怎么画?
  6. 后端开发工具:反编译工具、VS插件、.NET Framework源码地址
  7. Openlayer4 - 最好最强大的开源地图引擎
  8. redis关闭/重启服务器
  9. Adobe Photoshop CC 打开时报错~配置错误:请卸载并重新安装该产品
  10. pgAdminIII使用图解