理解证书

首先明确几个基本概念:

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

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

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

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

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

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

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

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

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

时间: 2024-10-01 21:38:39

理解证书的相关文章

签名、加密、证书的基本原理和理解

最近开始接触后端PHP开发,里面涉及到的签名.加密.证书等概念弄得自己头晕眼花,最近查看了相关资料,下面把自己的理解写下来,有不对的地方,还请多指点指点. 数据传输安全的要满足的要求: 消息的发送方能够确定消息只有预期的接收方可以解密(不保证第三方无法获得,但保证第三方无法解密). 消息的接收方可以确定消息是由谁发送的(消息的接收方可以确定消息的发送方). 消息的接收方可以确定消息在途中没有被篡改过(必须确认消息的完整性). 对称加密 网络的数据传输从发送方发出到接收方接收到,要经过数个节点才能

关于数字证书理解的简单整理以及12306网站证书简单分析

首先简单理解一下什么是数字证书.这里是一篇英文文档,描述的很形象.形象的描述了什么是公钥,什么是私钥,如果确保数字证书的可靠性等. 下面,我们看一个应用"数字证书"的实例:https协议.这个协议主要用于网页加密. 一般我们电脑的浏览器中都有一些受信任的证书颁发机构列表, 里边存储的都是一些机构的信息.这些机构都是权威的.当然可以通过安装软件的方式,来增加证书颁发机构,比如中国银行的根证书软件,阿里巴巴的根证书软件.默认我们认为这些软件都是从官网下载的,是绝对的没被篡改的,可靠的.简单

关于苹果证书的一些理解

苹果证书虽然一直在用,但理解上一直比较乱,最近又看了些资料,算是基本搞明白了 首先,证书分为开发和发布,这个不多说了,一般查看开发者中心证书,应该会看到四种Type(①iOS Development②iOS Distribution③APNs Development iOS④APNs Production iOS),其实我们正常开发,如果只是真机调试,发布,没有用到苹果的推送等服务,后两种是不会用到的.下面以①和③为例(②和④基本类似). 你可以看你的证书,iOS Development这个Ty

聊聊数字证书,你所理解的数字证书是什么?

谈谈我对数字证书的理解吧: 有一个朋友想做微信H5支付,腾讯强制安装HTTPS协议,所以第一次接触到了SSL证书.他有做过IOS发布,但是证书是别人去弄的,他一般是有人去弄,他就不去深想了.但是这次自己做微信支付,服务器并没有使用什么webserver框架,而是完全自己开发,所以对于证书的使用必须完全靠他从头开始一步步来,所以只好花费很久时间来研究了. 数字证书就是互联网通讯中标志通讯各方身份信息的一串数字,提供了一种在Internet上验证通信实体身份的方式,数字证书不是数字×××,而是身份认

关于公钥私钥是否可以互相加解密的理解(附苹果开发者证书配置时非对称加密算法的应用)

查资料的时候发现很多人有疑惑,公钥和私钥到底哪个是用来加密,哪个是用来解密的,是否可以公钥加密私钥解密,同时也可以私钥加密公钥解密呢?针对这一问题,说下自己的理解. 首先要明确两个问题:(1)既可以公钥加密私钥解密,也可以私钥加密公钥解密:(2)加密解密和签名验证是两个不同的概念. (一)先来说加密解密:需要同时使用公钥和私钥的加密算法是非对称加密,最常见的便是RSA.举例说明非对称加密:如果A想要给B秘密的发一条信息,只需要B创建一套公钥(盒子)和私钥(钥匙),盒子可以随意分发,但是钥匙只能B

我理解的数字证书-1-公钥,私钥和数字证书

英文原文地址: http://www.youdzone.com/signature.html 若下文有任何错误,请告知我,谢谢.[email protected] 主角介绍:Bob and Alice 提起RSA加密算法,公钥和私钥,多数文章都要使用Bob和Alice这两位人物.他们的创造者名叫Rivest,是RSA之父.他为了在避免在描述中使用A和B,就以这两个字母开头,创建一男一女两个角色,就是我们在任何文章上都能看到的Alice和Bob了.这是一些题外话,下面就来进入我们的数字证书入门学习

关于开发者证书,自己的理解

code signing identity 里面太多证书,想清理怎么办在钥匙串找到多余的删除掉即可. provisioning Profile 里面的描述文件太多怎么办,关掉xcode.文件夹目录    /user/你的用户名/Library/MobileDevice/Provisioning Profiles      //Library/MobileDevice/Provisioning Profiles 证书的类型 , 调试证书,发布证书   .cer文件 发布生成的          

数字签名,数字证书,CA认证等概念理解

本文将介绍数字签名,数字证书以及CA相关知识. 加密相关知识可见我的上一篇博文:http://watchmen.blog.51cto.com/6091957/1923426 本文参考文献引用链接: 1.https://www.zhihu.com/question/25912483 2.https://blog.jorisvisscher.com/2015/07/22/create-a-simple-https-server-with-openssl-s_server/ 3.https://zh.

HP通过OpenSSL生成证书、密钥并且加密解密数据,以及公钥,私钥和数字签名的理解

一.公钥加密 假设一下,我找了两个数字,一个是1,一个是2.我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥. 我有一个文件,不能让别人看,我就用1加密了.别人找到了这个文件,但是他不知道2就是解密的私钥啊,所以他解不开,只有我可以用数字2,就是我的私钥,来解密.这样我就可以保护数据了. 我的好朋友x用我的公钥1加密了字符a,加密后成了b,放在网上.别人偷到了这个文件,但是别人解不开,因为别人不知道2就是我的私钥,只有我才能解密,解密后就得到a.这样,我们就可以传送