现在的位置: 首页 > 综合 > 正文

数字证书简介

2012年11月02日 ⁄ 综合 ⁄ 共 1765字 ⁄ 字号 评论关闭

 数字证书(以下简称"证书")将公钥和实体的一些信息(如个人、组织、帐号或者地点)绑定并且要跟它相关的私钥联合使用,这时这个被绑定的实体被称为证书的主体。公钥的分发是通过证书进行。这种完整性机制保证公钥及相关的信息不被偷偷的篡改而且保证公钥属于该用户。这种绑定机制使得依托方(即RFC2527中定义的声称者绑定的机制)能得到以下的保证:将公钥(及相关的信息)的完整性得到保证;公钥(及相关的信息)以一种可信的方式和它的声称所有者绑定在一起。下面简要介绍数字证书的各个组成部分。
一,数字证书的组成部分
1,版本    这个字段描绘编码证书的版本,当使用扩展的时候,建议使用X.509版本3(值为2)。如果没有扩展项,这时使用版本2,如果仅仅存在基本字段,使用版本1。
2,序列号    序列号是CA给每一个证书分配的一个整数。它是特定CA签发的证书唯一代码(即发行者名字和序列号唯一识别一张证书)序列号没有必要限制为32位,建议CA软件实现中采用字节编码方式来处理序列号,这种情况下,它是大证书编码,但不要忘记编码时最告慰是符号位,一定要设置为零,避免生成负数的序列号。
3,签名算法    它含有算法标识符,这个算法是CA在证书上签名使用的算法,这个字段还含有与序列Certificate中signatureAlgorithm字段同样的算法标识符。它的主要作用是通过检查签名算法标识来判断CA对证书的签名是否符合所声明的算法。这样可以防止某些可能出现的攻击行为。例如某人伪造证书签名,他可以将签名算法A生成的签名值用签名算法B通过精心选择来替代,而同时可以随意地改变证书体外传送的没有保护的算法标志(例如将算法A改为算法B)。
4,发行者    发行者字段用来标志在证书上签名和发行的实体。发行者字段含有一非空的能辨别出的名字(DN)。证书编码中可能有如下一些内容:countryName,localityName,stateOrProvinceName,organization,organizationUnitName,commonName,emailAddress.证书的DN可以根据需要将上面几项或者某项为空,但是一般CA证书必须包含签发者DN,这已经成为大家遵循的标准。国家(countryName)编码字段采用标准ISO3166的Internet编码方式,例如美国是US,中国是CN等。
5,有效期    证书有效期是时间间隔,在这期间CA保证它讲保持关于证书的状况的信息,把字段描绘为级联的两个日期:日期证书有效期开始(notBefore)和日期证书有效期结束(notAfter),它们可以作为UTCTime或者GeneralizedTime类型编码。
6,主题    主题实际上是对证书申请者的直译,主题字段标志与存储在主题公开字段中相关联的密钥实体主题名字在subjectAltName扩展中被附带。
7,主题公开密钥信息    使用这个字段携带公开密钥和密钥使用算法的标志符。该字段包含公钥,它实际上是大整数的序列。因为ASN.1编码的整数是有符号的,因此在编码证书前,必须设置最高位符号位。可以在编码整数前增加一个值为零的字节,来表示忽略最高位作为符号位的含义。这样当最高位(符号位)被设置为1时,在其签名一定有一个值为0的字节。如果系统内部表示的数据在编码前就已经有值为0的字节,就必须跳过,从值不为0的字节开始编码
8,唯一标识符    这个字段可能仅出现在版本2或者版本3中。主题和发行者唯一标识符存在于证书中,处理在超出(有效)时间的主题和/或发行者名字的再使用的可能性
9,扩展
     i. 证书扩展项,在X.509 v3证书扩展定义中为用户提供公开密钥和证书管理登记制度相结合的附加属性的方法。证书扩展项可以分为两类,一是约束和限制型扩展项,用来限制证书中的密钥(和对应的私钥)用途和证书自身用途。二是附带额外同志信息的扩展项,CA必须支持密钥标志符、基本约束、密钥应用和证书策略扩展。                      
     ii. 标准扩展     
     iii.私有Internet扩展
因为扩展是个大的专题,这里只是简单介绍,以后将对这一专题具体讨论一下。

参考文献:《PKI原理与技术》, 谢冬青 冷健 编著  清华大学出版社

抱歉!评论已关闭.