文档章节

数字证书&数字签名 详解

a
 ancle
发布于 2015/11/11 17:12
字数 1113
阅读 23
收藏 0

首先明确几个基本概念:

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

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

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

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

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

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

7、数字签名,是非对称加密技术和数字摘要技术的应用。使用Hash函数获取数据/报文的摘要,然后再利用私钥对摘要进行加密,即可获得数字签名。数据接收者使用发送者的公钥进行解密,获得数据的摘要,以确定信息发送者。(报文的发送者利用hash函数生成报文的散列值/报文摘要,发送方再使用自己的私钥对这个散列值/报文摘要进行加密,形成数字签名。然后,这个数字签名作为报文的附件和报文一并发送给报文的接收方。接收者根据接收到地原始报文计算出散列值/报文摘要,再利用发送方的公钥对数字签名进行解密,然后对两个散列值进行对比,以确认信息的可靠性

8、数字证书,CA中心对发送者/申请者的公钥和其他相关信息进行加密,生成数字证书。以后发送数据时,发送者连同数字签名、数字证书一并发送;接收者使用CA的公钥(根证书获取)解开数字证书,即可获得发送者的公钥,然后就能证明数字签名是否来自真正的发送者

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

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

 

 

© 著作权归作者所有

a
粉丝 1
博文 54
码字总数 43568
作品 0
太原
私信 提问
CA数字证书怎么用 CA数字证书收费标准

  CA数字证书也就是权威的CA机构颁发的SSL证书,可保护网站数据安全不被窃取、泄露,而且有利于SEO关键词优化,是网站安全解决方案之一。      一、CA数字证书怎么用      CA (Cer...

安信SSL证书
08/27
0
0
(转) 详解公钥、私钥、数字证书的概念

加密和认证   首先我们需要区分加密和认证这两个基本概念。   加密是将数据资料加密,使得非法用户即使取得加密过的资料,也无法获取正确的资料内容,所以数据加密可以保护数据,防止监听...

m2012
2013/01/26
77
0
数字证书KeyTool使用(第二篇)

J2SDK提供了keytool命令行工具,可以根据指定的参数来创建数字证书。生成的证书或证书库默认保存在命令行当前目录下。 1. 创建数字证书 keytool -genkey -v -alias scent -dname "CN=John,OU...

小骏骏
2014/11/14
5.5K
1
加密、解密及OpenSSL 详解

数据传输分类 在互联网上数据传输有两种:明文传输和加密传输。明文传输的协议有:ftp、http、smtp、telnet。但是为了数据的完整性和安全性,所以后来引用了加密等相关手段来保证数据的安全和...

五大三粗
2015/01/28
3.9K
1
详解公钥、私钥、数字证书的概念

加密和认证   首先我们需要区分加密和认证这两个基本概念。    加密是将数据资料加密,使得非法用户即使取得加密过的资料,也无法获取正确的资料内容,所以数据加密可以保护数据,防止监...

JORDANSG
2012/08/01
229
1

没有更多内容

加载失败,请刷新页面

加载更多

2684亿!阿里CTO张建锋:不是任何一朵云都撑得住双11

“不是任何一朵云都能撑住这个流量。中国有两朵云,一朵是阿里云,一朵叫其他云。”11月11日晚,阿里巴巴集团CTO张建锋表示,“阿里云不一样,10年前我们从第一行代码写起,构建了中国唯一自...

阿里云官方博客
21分钟前
4
0
Spark自定义外部数据源

背景:有时候我们需要定义一个外部数据源,然后用spark sql的方式来处理。这样的好处有2点: (1)定义了外部数据源后,用起来很简洁,软件架构清晰,通过sql方式直接使用。 (2)容易分层分...

守望者之父
24分钟前
5
0
电磁兼容不应空论 越实践越知深浅

在电子行业中,电子工程师极为熟悉的就是EMC电磁兼容性测试的各项规范。其实大多工程师所了解的电磁兼容性一般来说就是:设备或系统在其电磁环境中能正常工作,且不对该环境中任何事物构成不...

demyar
25分钟前
3
0
16、SpringMVC拦截器

拦截定义 定义拦截器,实现HandlerInterceptor接口。接口中提供三个方法。 public class HandlerInterceptor1 implements HandlerInterceptor{ public boolean preHandle(HttpServletR......

快乐的瓶子
25分钟前
4
0
顺时针打印矩阵

public class Code_06_PrintMatrixSpiralOrder {public static void spiralOrderPrint(int[][] matrix) {int tR = 0; //左上角的行int tC = 0; //左上角的列int dR = ma......

Garphy
26分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部