X.509工作原理


X.509证书结构

X.509标准定义了证书中应该包含哪些信息,并描述了这些信息是如何编码的(即数据格式),所有的X.509证书包含以下数据: 

(1)、X.509版本号:指出该证书使用了哪种版本的X.509标准,版本号会影响证书中的一些特定信息。 目前的版本是3。

(2)、证书持有人的公钥:包括证书持有人的公钥、算法(指明密钥属于哪种密码系统)的标识符和其 他相关的密钥参数。

 (3)、证书的序列号:由CA给予每一个证书分配的唯一的数字型编号。

当证书被取消时,实际上是将此证书序列号放入由CA签发的CRL    (Certificate Revocation List证书作废表,或证书黑名单表)中。这也是序列号唯一的原因。

(4)、主题信息:证书持有人唯一的标识符(或称DN-distinguished name)这个名字在Internet上应   该是唯一的。DN由许多部分组成,例如这样:

  CN = Bob Allen,

OU = Total Network Security Division

O = Network Associates, Inc.

 C = US

 这些信息指出该科目的通用名、组织单位、组织和国家或者证书持有人的姓名、服 务处所等信息。

(5)、证书的有效期:证书起始日期和时间以及终止日期和时间;指明证书在这两个时间内有效。 

(6)、认证机构:证书发布者,是签发该证书的实体唯一的CA的X.500名字。

使用该证书意味着信任签发证书的实体。

 (7)、发布者的数字签名: 这是使用发布者私钥生成的签名,以确保这个证书在发放之后没有被撰改 过。

 (8)、签名算法标识符:用来指定CA签署证书时所使用的签名算法。算法标识符用来指定CA签发证 书时所使用的公开密钥算法和HASH算法。

H--Hash计算

 E--加密计算

D--解密计算

 在签发者处,首先求出传递消息Info的HASH值,然后用私钥Private Key 对Hash值做加密,然后将传递消息原文Info和经过加密的HASH值一起发给接 受者,接受者首先用签发者的公钥揭开密码,然后对收到的Info原文计算HASH 值,然后比对是否相对,如果相同,则认证成功。

 

 

证书实例

RSA证书,非CA证书 (来源于wiki

 

$ openssl x509 -in freesoft-certificate.pem -noout -text

Certificate:

   Data:

       Version: 1 (0x0)  // 该证书版本号是 1

       Serial Number: 7829 (0x1e95) // 序列号

       Signature Algorithm: md5WithRSAEncryption //该证书使用RSAMD5算法签名

//证书发行者信息

       Issuer: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting cc, 

               OU=Certification Services Division,

               CN=Thawte Server  //证书发行者名字

 

CA/[email protected] // CA的联系方式

       Validity   // 有效期  1998/7/9  - 1999/7/9

           Not Before: Jul  9 16:04:02 1998 GMT

           Not After : Jul  9 16:04:02 1999 GMT

//证书主体信息

       Subject: C=US, ST=Maryland, L=Pasadena, O=Brent Baccala,

                OU=FreeSoft, //证书主体名字CN=www.freesoft.org/[email protected] // 证书主体的联系方式

       Subject Public Key Info:

           Public Key Algorithm: rsaEncryption  //公钥使用RSA算法

           RSA Public Key: (1024 bit) // 1024位的RSA公钥

               Modulus (1024 bit):

                   00:b4:31:98:0a:c4:bc:62:c1:88:aa:dc:b0:c8:bb:

                   33:35:19:d5:0c:64:b9:3d:41:b2:96:fc:f3:31:e1:

                   66:36:d0:8e:56:12:44:ba:75:eb:e8:1c:9c:5b:66:

                   70:33:52:14:c9:ec:4f:91:51:70:39:de:53:85:17:

                   16:94:6e:ee:f4:d5:6f:d5:ca:b3:47:5e:1b:0c:7b:

                   c5:cc:2b:6b:c1:90:c3:16:31:0d:bf:7a:c7:47:77:

                   8f:a0:21:c7:4c:d0:16:65:00:c1:0f:d7:b8:80:e3:

                   d2:75:6b:c1:ea:9e:5c:5c:ea:7d:c1:a1:10:bc:b8:

                   e8:35:1c:9e:27:52:7e:41:8f

               Exponent: 65537 (0x10001)

   Signature Algorithm: md5WithRSAEncryption   //RSA算法加密MD5散列,完成签名

       93:5f:8f:5f:c5:af:bf:0a:ab:a5:6d:fb:24:5f:b6:59:5d:9d:

       92:2e:4a:1b:8b:ac:7d:99:17:5d:cd:19:f6:ad:ef:63:2f:92:

       ab:2f:4b:cf:0a:13:90:ee:2c:0e:43:03:be:f6:ea:8e:9c:67:

       d0:a2:40:03:f7:ef:6a:15:09:79:a9:46:ed:b7:16:1b:41:72:

       0d:19:aa:ad:dd:9a:df:ab:97:50:65:f5:5e:85:a6:ef:19:d1:

       5a:de:9d:ea:63:cd:cb:cc:6d:5d:01:85:b5:6d:c8:f3:d9:f7:

       8f:0e:fc:ba:1f:34:e9:96:6e:6c:cf:f2:ef:9b:bf:de:b5:22:

       68:9f

 

 

 


你可能感兴趣的:(X.509工作原理)