什么是数字证书

也许您对"数字证书"这一概念还很陌生,其实,数字证书就是标志网络用户身份信息的一系列数据,用来在网络通讯中识别通讯各方的身份,即要在Internet上解决"我是谁"的问题,就如同现实中我们每一个人都要拥有一张证明个人身份的身份证或驾驶执照一样,以表明我们的身份或某种资格。
    数字证书是由权威公正的第三方机构即CA中心签发的,以数字证书为核心的加密技术可以对网络上传输的信息进行加密和解密、数字签名和签名验证,确保网上传递信息的机密性、完整性,以及交易实体身份的真实性,签名信息的不可否认性,从而保障网络应用的安全性。

数字证书采用公钥密码体制,即利用一对互相匹配的密钥进行加密、解密。每个用户拥有一把仅为本人所掌握的私有密钥(私钥),用它进行解密和签名;同时拥有一把公共密钥(公钥)并可以对外公开,用于加密和验证签名。当发送一份保密文件时,发送方使用接收方的公钥对数据加密,而接收方则使用自己的私钥解密,这样,信息就可以安全无误地到达目的地了,即使被第三方截获,由于没有相应的私钥,也无法进行解密。通过数字的手段保证加密过程是一个不可逆过程,即只有用私有密钥才能解密。在公开密钥密码体制中,常用的一种是RSA体制。

用户也可以采用自己的私钥对信息加以处理,由于密钥仅为本人所有,这样就产生了别人无法生成的文件,也就形成了数字签名。采用数字签名,能够确认以下两点:
(1)保证信息是由签名者自己签名发送的,签名者不能否认或难以否认; 
(2)保证信息自签发后到收到为止未曾作过任何修改,签发的文件是真实文件。

数字证书可用于:发送安全电子邮件、访问安全站点、网上证券、网上招标采购、网上签约、网上办公、网上缴费、网上税务等网上安全电子事务处理和安全电子交易活动。

数字证书的格式一般采用X.509国际标准。目前,数字证书认证中心主要签发安全电子邮件证书、个人和企业身份证书、服务器证书以及代码签名证书等几种类型证书。


数字证书的格式遵循ITUTX.509国际标准。一个标准的X.509数字证书包含以下一些内容:

证书的版本信息; 
证书的序列号,每个证书都有一个唯一的证书序列号;
证书所使用的签名算法,如RSA算法;
证书的发行机构(CA中心)的名称,命名规则一般采用X.500格式;
证书的有效期,现在通用的证书一般采用UTC时间格式,它的计时范围为1950年-2049年;
证书拥有者的名称,命名规则一般采用X.500格式;
证书拥有者的公开密钥;
证书发行机构(CA中心)对证书的数字签名。

X.509数字证书结构 (第三版)

版本号..................证书的版本标识符(例如,版本3)
序列号 .................标识证书的唯一整数
签名....................用于签证书的算法标识
颁发者 .................证书颁发者的唯一识别名
有效期 .................证书有效时间段
主体....................证书拥有者的唯一识别名
主体公钥信息 ...........证书拥有者的公钥(和算法标识符)
颁发者唯一标识符........颁发者的可选唯一标识符
主体唯一标识符 .........主体的唯一识别符
扩展部分 ...............可选的扩展

字段说明:
  ①版本号—标识证书的版本(版本1、版本2或是版本3)。
  ②序列号—由证书颁发者分配的本证书的唯一标识符。
  ③签名 —签名算法标识符,由对象标识符加上相关的参数组成,用于说明本证书所用的数字签名算法。例如,SHA-1和RSA的对象标识符 就用来说明该数字签名是利用RSA对SHA-1杂凑加密。
  ④颁发者—证书颁发者的可识别名(DN),这是必须说明。
  ⑤有效期—证书有效期的时间段。本字段由”Not Before”和”Not After”两项组成,它们分别由UTC时间或一般的时间表示(在RFC2459中有详细的时间表示规则)。
  ⑥主体 —证书拥有者的可识别名,这个字段必须是非空的,除非你在证书扩展中有别名。
  ⑦主体公钥信息—主体的公钥(以及算法标识符),这一项必须说明。
  ⑧颁发者唯一标识符—证书颁发者的唯一标识符,仅在版本2和版本3中有要求,属于可选项。
  ⑨主体唯 一标识符—证书拥有者的唯一标识符,仅在版本2和版本3中有要求,属于可选项。
  ⑩扩展 —可选的标准和专用的扩展(仅在版本2和版本3中使用),它们包括:
   ◆Authority密钥标识符—证书所含密钥的唯一标识符,用来区分同一证书拥有者的多对密钥。
   ◆密钥使用—一个比特串,指明(限定)证书的公钥可以完成的功能或服务,如:证书签名、数据加密等。
   ◆扩展密钥使用—由一个或多个对象标识符(OIDs)组成,可以说明证书密钥的特殊用途。有Internet策略限定,存取描述符限定[3]等,请参见RFC2459。
   ◆CRL分布点—指明CRL的分布地点。
   ◆私钥的使用期—指明证书中与公钥相联系的私钥的使用期限,它也有Not Before和Not After组成。若此项不存在时,公私钥的使用期是一样的。
   ◆证书策略—由对象标识符和限定符组成,这些对象标识符说明证书的颁发和使用策略有关。
   ◆策略映射—表明两个CA域之间的一个或多个策略对象标识符的等价关系,仅在CA证书里存在。
   ◆主体别名—指出证书拥有者的别名,如电子邮件地址、IP地址等,别名是和DN绑定在一起的。
   ◆颁发者别名--指出证书颁发者的别名,如电子邮件地址、IP地址等,但颁发者的DN必须出现在证书的颁发者字段。
   ◆主体目录属性—指出证书拥有者的一系列属性。可以使用这一项来传递访问控制信息。s

时间: 2024-10-03 15:15:52

什么是数字证书的相关文章

https 单向双向认证说明_数字证书, 数字签名, SSL(TLS) , SASL

转自:https 单向双向认证说明_数字证书, 数字签名, SSL(TLS) , SASL 因为项目中要用到TLS + SASL 来做安全认证层. 所以看了一些网上的资料, 这里做一个总结. 1. 首先推荐几个文章: 数字证书: http://www.cnblogs.com/hyddd/archive/2009/01/07/1371292.html 数字证书和SSL: http://www.2cto.com/Article/201203/121534.html 数字签名: http://www.

数字签名和数字证书到底是个神马玩意?

数字签名和数字证书到底是个神马玩意?通过以下图文有了更深的理解啊, (感谢阮一峰的翻译,转载了一篇好文章啊,感谢.) 1. 鲍勃有两把钥匙,一把是公钥,另一把是私钥. 2. 鲍勃把公钥送给他的朋友们----帕蒂.道格.苏珊----每人一把. 3. 苏珊要给鲍勃写一封保密的信.她写完后用鲍勃的公钥加密,就可以达到保密的效果. 4. 鲍勃收信后,用私钥解密,就看到了信件内容.这里要强调的是,只要鲍勃的私钥不泄露,这封信就是安全的,即使落在别人手里,也无法解密. 5. 鲍勃给苏珊回信,决定采用"数字签

数字证书

1.简介: 数字证书(certs)又称因特网上的“ID卡”,它包含了由某个受信任组织担保的用户或公司的相关信息. 2.证书的主要内容 数字证书中还包含一组信息,所有这些信息都是由一个官方的证书颁发机构(CA,负责证明用户.计算机和组织的身份)以数字方式签发的,比如对象名称(服务器.组织等).过期时间.证书发布者.来自证书发布者的数字签名.另外,数字证书通常还包括对象的公开密钥,以及对象和所用签名算法的描述性信息. 任何人都可以创建数字证书,但并不是所有人都能够获得受人尊敬的签发权,从而为证书信息

C#编程总结(十一)数字证书

C#编程总结(十一)数字证书 之前已经通过文章介绍了数字证书的基础知识,包括加密和数字签名. 具体可见: 1.C#编程总结(七)数据加密——附源码 2.C#编程总结(八)数字签名 这里来讲述数字证书的概念.作用.工作原理以及具体应用.希望能够给大家一个清晰的认识. 一.概念 数字证书就是互联网通讯中标志通讯各方身份信息的一串数字,提供了一种在Internet上验证通信实体身份的方式,其作用类似于司机的驾驶执照或日常生活中的身份证.它是由一个由权威机构-----CA机构,又称为证书授权(Certi

数字证书原理【转】

转自http://www.cnblogs.com/JeffreySun/archive/2010/06/24/1627247.html 文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现所起的作用.接着对数字证书做一个详细的解释,并讨论一下windows中数字证书的管理,最后演示使用makecert生成数字证书.如果发现文中有错误的地方,或者有什么地方说得不够清楚,欢迎指出! 1.基础知识 这部分内容主要解释一些概念和术语,最好是先

基于数字证书认证的 IPSec VPN 配置

一.数字证书的相关术语 1.数字签名 数字签名基于哈希算法和公钥加密算法,对明文报文先用哈希算法计算摘要,然后用私钥对摘要进行加密,得到的一段数字串就是原文的数字签名数字签名与原文一起传送给接收者.接收者只有用发送者的公钥才能解密被加密的摘要信息,然后用HASH函数对收到的原文产生一个摘要信息,与解密的摘要信息对比.如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过,因此数字签名能够验证信息的完整性. 2.数字证书 数字证书是由权威机构发行的,用来证明自己的身份和验

【转】什么是非对称加密、数字签名、数字证书

被苹果的开发者账号.证书.p12文件.描述信息折磨的够呛……为了搞懂啥是代码签名,又看了一遍非对称加密,总是忘……看到啦下面的一篇通俗易懂的文章,mark一下在此. 转自:http://justjavac.iteye.com/blog/1144151 今天,我读到一篇好文章. 它用图片通俗易懂地解释了,"数字签名"(digital signature)和"数字证书"(digital certificate)到底是什么. 我对这些问题的理解,一直是模模糊糊的,很多细节

详解公钥、私钥、数字证书的概念

详解公钥.私钥.数字证书的概念 加密和认证 首先我们需要区分加密和认证这两个基本概念. 加密是将数据资料加密,使得非法用户即使取得加密过的资料,也无法获取正确的资料内容,所以数据加密可以保护数据,防止监听攻击.其重点在于数据的安全 性.身份认证是用来判断某个身份的真实性,确认身份后,系统才可以依不同的身份给予不同的权限.其重点在于用户的真实性.两者的侧重点是不同的. 公钥和私钥      公钥和私钥就是俗称的不对称加密方式,是从以前的对称加密(使用用户名与密码)方式的提高. 在现代密码体制中加密

数字证书应用改造需求调研-2015-10-19

今天下午3点,到客户现场进行需求调研,一个商务,两个技术,用户需要实现的目标是 对目前的一个应用系统实现数字证书的身份识别登录,替换目前的用户名和密码的方式. 如何在原应用基础上的账号关联到数字证书呢?对于单位用户,我们使用的是企业编码, 数字证书通过扩展项,写入企业编码,应用登录,读取客户端的证书扩展项,匹配后通过. 技术上,使用公司自带的中间件,实现证书读取,签名.

[转载] 创建为ClickOnce清单签名的.pfx格式数字证书

使用vs2013自动创建的.pfx数字证书默认有效期只有一年,并且“颁发者”.“颁发给”均为当前机器名和当前登陆用户名的组合,其实我们完全可以创建更友好的.pfx数字证书. 打开Microsoft .NET Framework 的SDK命令提示,按以下步骤操作: 1.创建一个自我签署的X.509证书(.cer)和一个.pvk私钥文件,用到makecert工具,命令如下: makecert -r -n "CN= sndnvaps " -b 08/31/2015 -e 08/31/2030