青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

S.l.e!ep.¢%

像打了激速一樣,以四倍的速度運轉,開心的工作
簡單、開放、平等的公司文化;尊重個性、自由與個人價值;
posts - 1098, comments - 335, trackbacks - 0, articles - 1
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

X.509 數字證書結構和實例

Posted on 2010-07-08 16:27 S.l.e!ep.¢% 閱讀(3921) 評論(0)  編輯 收藏 引用 所屬分類: OpenSSL
?

一、?X.509數字證書的編碼

X.509證書的結構是用ASN1(Abstract Syntax Notation One)進行描述數據結構,并使用ASN1語法進行編碼。

ASN1采用一個個的數據塊來描述整個數據結構,每個數據塊都有四個部分組成:

1、數據塊數據類型標識(一個字節)

數據類型包括簡單類型和結構類型。

簡單類型是不能再分解類型,如整型(INTERGER)、比特串(BIT STRING)、字節串(OCTET STRING)、對象標示符(OBJECT IDENTIFIER)、日期型(UTCTime)等。

結構類型是由簡單類型和結構類型組合而成的,如順序類型(SEQUENCE, SEQUENCE OF)、選擇類型(CHOICE)、集合類型(SET)等。

l???????? 順序類型的數據塊值由按給定順序成員成員數據塊值按照順序組成,;

l???????? 選擇類型的數據塊值由多個成員數據數據塊類型中選擇一個的數據塊值;

l???????? 集合數據塊類型由成員數據塊類型的一個或多個值構成。

這個標識字節的結構如下:

1.1.??????? Bit8-bit7

用來標示 TAG 類型,共有四種,分別是universal(00)application(01)context-specific(10)private(11)

這兩位為universal00)時,bit5-bit1的值表示不同的universal的值:

標記(TAG)  ?對應類型

[UNIVERSAL 1] BOOLEAN [有兩個值:falsetrue]

[UNIVERSAL 2] INTEGER [整型值]

[UNIVERSAL 3] BIT STRING [0位或多位]

[UNIVERSAL 4] OCTET STRING [0字節或多字節]

[UNIVERSAL 5] NULL

[UNIVERSAL 6] OBJECT IDENTIFIER [相應于一個對象的獨特標識數字]

[UNIVERSAL 7] OBJECT DESCRIPTOR ?[一個對象的簡稱]

[UNIVERSAL 8] EXTERNAL, INSTANCE OF [ASN.1沒有定義的數據類型]

[UNIVERSAL 9] REAL [實數值]

[UNIVERSAL 10] ENUMERATED [數值列表,這些數據每個都有獨特的標識符,作為ASN.1定義數據類型的一部分]

[UNIVERSAL 12] UTF8String

[UNIVERSAL 13] RELATIVE-OID

[UNIVERSAL 16] SEQUENCE, SEQUENCE OF [有序數列,SEQUENCE里面的每個數值都可以是不同類型的,而SEQUENCE OF里是0個或多個類型相同的數據]

[UNIVERSAL 17] SET, SET OF [無序數列,SET里面的每個數值都可以是不同類型的,而SET OF里是0個或多個類型相同的數據]

[UNIVERSAL 18] NumericString [09以及空格]

[UNIVERSAL 19] PrintableString [A-Za-z0-9、空格以及符號'()+,-./:=?]

[UNIVERSAL 20] TeletexString, T61String

[UNIVERSAL 21] VideotexString

[UNIVERSAL 22] IA5String

[UNIVERSAL 23] UTCTime [統一全球時間格式]

[UNIVERSAL 24] GeneralizedTime

[UNIVERSAL 25] GraphicString

[UNIVERSAL 26] VisibleString, ISO646String

[UNIVERSAL 27] GeneralString

[UNIVERSAL 28] UniversalString

[UNIVERSAL 29] CHARACTER STRING

[UNIVERSAL 30] BMPString

[UNIVERSAL 31]... reserved for future use

這兩位為context-specific10)時,bit5-bit1的值表示特殊內容:

[0] –- 表示證書的版本

[1] –- issuerUniqueID,表示證書發行者的唯一id

[2] –- subjectUniqueID,表示證書主體的唯一id

[3] –- 表示證書的擴展字段

1.2.??????? bit6

表示是否為結構類型(1位結構類型)0則表明編碼類型是簡單類型。

1.3.??????? bit5-bit1

是類型的TAG值。根據bit8-bit7的不同值有不同的含義,具體含義見上面的描述。

SEQUENCE 類型數據塊,其TAG類型位UNIVERSAL00,屬于結構類型(1),TAG值為1610000所以其類型標示字段值為(00110000),即為0x30

再如,證書擴展字段類型的數據塊,TAG類型為(10),屬結構類型(1),TAG的值為300011),所以其類型標示字段值為(10100011),即為0xA3

2、數據塊長度(1-128個字節)

長度字段,有兩種編碼格式。

若長度值小于等于127,則用一個字節表示,bit8 = 0, bit7-bit1 存放長度值;

若長度值大于127,則用多個字節表示,可以有2127個字節。第一個字節的第8位為1,其它低7位給出后面該域使用的字節的數量,從該域第二個字節開始給出數據的長度,高位優先。

還有一種特殊情況,這個字節為0x80,表示數據塊長度不定,由數據塊結束標識結束數據塊。

3、數據塊的值

存放數據塊的值,具體編碼隨數據塊類型不同而不同。

4、數據塊結束標識(可選)

結束標示字段,兩個字節(0x0000,只有在長度值為不定時才會出現。

二、?X.509證書的結構

1、X.509證書基本部分

1.1.??????? 版本號.

標識證書的版本(版本1、版本2或是版本3)。

1.2.??????? 序列號

標識證書的唯一整數,由證書頒發者分配的本證書的唯一標識符。

1.3.??????? 簽名

用于簽證書的算法標識,由對象標識符加上相關的參數組成,用于說明本證書所用的數字簽名算法。例如,SHA-1RSA的對象標識符就用來說明該數字簽名是利用RSASHA-1雜湊加密。

1.4.??????? 頒發者

證書頒發者的可識別名(DN)。

1.5.??????? 有效期

證書有效期的時間段。本字段由”Not Before”和”Not After”兩項組成,它們分別由UTC時間或一般的時間表示(在RFC2459中有詳細的時間表示規則)。

1.6.??????? 主體

證書擁有者的可識別名,這個字段必須是非空的,除非你在證書擴展中有別名。

1.7.??????? 主體公鑰信息

主體的公鑰(以及算法標識符)。

1.8.??????? 頒發者唯一標識符

標識符—證書頒發者的唯一標識符,僅在版本2和版本3中有要求,屬于可選項。

1.9.??????? 主體唯一標識符

證書擁有者的唯一標識符,僅在版本2和版本3中有要求,屬于可選項。

2、X.509證書擴展部分

可選的標準和專用的擴展(僅在版本2和版本3中使用),擴展部分的元素都有這樣的結構:

?? Extension?::=?SEQUENCE?{
??????? extnID????? OBJECT IDENTIFIER,
??????? critical??? BOOLEAN DEFAULT FALSE,
??????? extnValue?? OCTET STRING?}

extnID:表示一個擴展元素的OID

critical:表示這個擴展元素是否極重要

extnValue:表示這個擴展元素的值,字符串類型。

擴展部分包括:

2.1.??????? 發行者密鑰標識符

證書所含密鑰的唯一標識符,用來區分同一證書擁有者的多對密鑰。

2.2.??????? 密鑰使用

一個比特串,指明(限定)證書的公鑰可以完成的功能或服務,如:證書簽名、數據加密等。

如果某一證書將 KeyUsage 擴展標記為“極重要”,而且設置為“keyCertSign”,則在 SSL 通信期間該證書出現時將被拒絕,因為該證書擴展表示相關私鑰應只用于簽寫證書,而不應該用于 SSL

2.3.??????? CRL分布點

指明CRL的分布地點。

2.4.??????? 私鑰的使用期

指明證書中與公鑰相聯系的私鑰的使用期限,它也有Not BeforeNot After組成。若此項不存在時,公私鑰的使用期是一樣的。

2.5.??????? 證書策略

由對象標識符和限定符組成,這些對象標識符說明證書的頒發和使用策略有關。

2.6.??????? 策略映射

表明兩個CA域之間的一個或多個策略對象標識符的等價關系,僅在CA證書里存在。

2.7.??????? 主體別名

指出證書擁有者的別名,如電子郵件地址、IP地址等,別名是和DN綁定在一起的。

2.8.??????? 頒發者別名

指出證書頒發者的別名,如電子郵件地址、IP地址等,但頒發者的DN必須出現在證書的頒發者字段。

2.9.??????? 主體目錄屬性

指出證書擁有者的一系列屬性。可以使用這一項來傳遞訪問控制信息。

三、?X.509證書詳細描述

?? Certificate?::=?SEQUENCE?{
??????? tbsCertificate?????? TBSCertificate, -- 證書主體
??????? signatureAlgorithm?? AlgorithmIdentifier, -- 證書簽名算法標識
??????? signatureValue?????? BIT STRING?--證書簽名值,是使用signatureAlgorithm部分指定的簽名算法對tbsCertificate證書主題部分簽名后的值.
???????? }
?? TBSCertificate?::=?SEQUENCE?{
??????? version???????? [0]?EXPLICIT Version DEFAULT v1, -- 證書版本號
??????? serialNumber???????? CertificateSerialNumber, -- 證書序列號,對同一CA所頒發的證書,序列號唯一標識證書
????? ??signature??????????? AlgorithmIdentifier, --證書簽名算法標識
??????? issuer?????????????? Name,??????????????? --證書發行者名稱
??????? validity???????????? Validity,??????????? --證書有效期
??????? subject????????????? Name,??????????????? --證書主體名稱
??????? subjectPublicKeyInfo SubjectPublicKeyInfo,--證書公鑰
??????? issuerUniqueID?[1]?IMPLICIT UniqueIdentifier OPTIONAL,
???????????????????????????? -- 證書發行者ID(可選),只在證書版本2、3中才有
??????? subjectUniqueID [2]?IMPLICIT UniqueIdentifier OPTIONAL,
???????????????????????????? -- 證書主體ID(可選),只在證書版本2、3中才有
??????? extensions????? [3]?EXPLICIT Extensions OPTIONAL
???????????????????????????? -- 證書擴展段(可選),只在證書版本3中才有
??????? }
?? Version?::=?INTEGER?{?v1(0), v2(1), v3(2)?}
?? CertificateSerialNumber?::=?INTEGER
?
?? AlgorithmIdentifier?::=?SEQUENCE?{
??????? algorithm?????????????? OBJECT IDENTIFIER,
??????? parameters????????????? ANY DEFINED BY algorithm OPTIONAL?}
?? parameters:
?? Dss-Parms?::=?SEQUENCE?{?--parameters ,DSA(DSS)算法時的parameters,
RSA
算法沒有此參數
?? ?????p???????? ????INTEGER,
?? ?????q???????????? INTEGER,
?? ?????g???????????? INTEGER?}
?
signatureValue
Dss-Sig-Value?::=?SEQUENCE?{?-- sha1DSA簽名算法時,簽名值
?????????????????? r?????? INTEGER,
 ?????????????????????s?????? INTEGER?}
?
?? Name ::= CHOICE {
???? RDNSequence }
?? RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
?? RelativeDistinguishedName ::=
???? SET OF AttributeTypeAndValue
?? AttributeTypeAndValue ::= SEQUENCE {
???? type???? AttributeType,
???? value??? AttributeValue }
?? AttributeType ::= OBJECT IDENTIFIER
?? AttributeValue ::= ANY DEFINED BY AttributeType
?
?? Validity ::= SEQUENCE {
??????? notBefore????? Time, ?-- 證書有效期起始時間
??????? notAfter?????? Time??-- 證書有效期終止時間
??????? }
?? Time ::= CHOICE {
??????? utcTime??????? UTCTime,
??????? generalTime??? GeneralizedTime }
?? UniqueIdentifier?::=?BIT STRING
?? SubjectPublicKeyInfo?::=?SEQUENCE?{
??????? algorithm????? ??????AlgorithmIdentifier,?-- 公鑰算法
??????? subjectPublicKey???? BIT STRING??????????? -- 公鑰值
??????? }
subjectPublicKey:
RSAPublicKey ::= SEQUENCE {?-- RSA算法時的公鑰值
???????? modulus??????????? INTEGER, -- n
???????? publicExponent???? INTEGER?-- e -- }
?
?? Extensions?::=?SEQUENCE SIZE (1..MAX) OF Extension
?? Extension?::=?SEQUENCE?{
??????? extnID????? OBJECT IDENTIFIER,
??????? critical??? BOOLEAN DEFAULT FALSE,
??????? extnValue?? OCTET STRING?}

四、?X.509數字證書實例

這是從RFC 2459 Internet X.509 Public Key Infrastructure標準文檔中摘取的兩個證書例子。本文在例子的原來基礎上加了些注釋。

1、DSA證書,CA證書

證書包含699字節,證書版本號為3

該證書包含以下內容:
(a)
證書序列號是17 (0x11);
(b)
證書使用DSASHA-1哈希算法簽名;
(c)
證書發行者的名字是OU=nist; O=gov; C=US
(d)
證書主體的名字是OU=nist; O=gov; C=US
(e)
證書的有效期從1997-6-30 1997-12-31;
(f)
證書包含一個1024 bit DSA 公鑰及其參數(三個整數pqg;
(g)
證書包含一個使用者密鑰標識符(subjectKeyIdentifier)擴展項
(h)
證書是一個CA證書(通過basicConstraints基本擴展項標識)

0000 30 82 02 b7?695: SEQUENCE??? // Certificate:: SEQUENCE類型(30),數據塊長度字節
為2(82),長度為695(02 b7)
0004 30 82 02 77?631: . SEQUENCE?// tbsCertificate:: SEQUENCE類型,長度631
0008 a0 03????????? 3: . . [0]???? // Version:: 特殊內容-證書版本(a0),長度3
0010 02 01????????? 1: . . . INTEGER 2?//整數類型(02),長度1
???????????????????? : 02?????????????? // 版本3(2)
0013 02 01????????? 1: . . INTEGER 17?? // serialNumber:: 整數類型(02),長度1
???????????????????? : 11????????????? ?// 證書序列號 17
0016 30 09????????? 9: . . SEQUENCE?? // signature:: SEQUENCE類型(30),長度9
0018 06 07????????? 7: . . . OID 1.2.840.10040.4.3: dsa-with-sha //signature:: OBJECT 
IDENTIFIER
類型,長度7
???????????????????? : 2a 86 48 ce 38 04 03?? // 表示dsa-with-sha算法(見注1)
0027 30 2a???????? 42: . . SEQUENCE??????????? // 以下紅色的數據塊表示issuer信息
0029 31 0b???????? 11: . . . SET
0031 30 09????????? 9: . . . . SEQUENCE
0033 06 03????????? 3: . . . . . OID 2.5.4.6: C
???????????????????? : 55 04 06
0038 13 02????????? 2: . . . . . PrintableString?'US'
???????????????????? : 55 53
0042 31 0c???????? 12: . . . SET
0044 30 0a???????? 10: . . . . SEQUENCE
0046 06 03????????? 3: . . . . . OID 2.5.4.10: O
???????????????????? : 55 04 0a
0051 13 03????????? 3: . . . . . PrintableString?'gov'
???????????????????? : 67 6f 76
0056 31 0d???????? 13: . . . SET
0058 30 0b???????? 11: . . . . SEQUENCE
0060 06 03????????? 3: . . . . . OID 2.5.4.11: OU
???????????????????? : 55 04 0b
0065 13 04????????? 4: . . . . . PrintableString?'nist'
???????????????????? : 6e 69 73 74
0071 30 1e???????? 30: . . SEQUENCE???????? // validity:: SEQUENCE類型(30),長度30
0073 17 0d???????? 13: . . . UTCTime?'970630000000Z' // notBefore:: UTCTime類型(23)
長度13
???????????????????? : 39 37 30 36 33 30 30 30 30 30 30 30 5a
0088 17 0d???????? 13: . . . UTCTime?'971231000000Z' // notBefore:: UTCTime類型(23)
長度13
???????????????????? : 39 37 31 32 33 31 30 30 30 30 30 30 5a
0103 30 2a???????? 42: . . SEQUENCE????????? // 以下紅色的數據塊表示subject信息
0105 31 0b???????? 11: . . . SET
0107 30 09????????? 9: . . . . SEQUENCE
0109 06 03????????? 3: . . . . . OID 2.5.4.6: C
???????????????????? : 55 04 06
0114 13 02????????? 2: . . . . . PrintableString?'US'
???????????????????? : 55 53
0118 31 0c???????? 12: . . . SET
0120 30 0a???????? 10: . . . . SEQUENCE
0122 06 03????????? 3: . . . . . OID 2.5.4.10: O
???????????????????? : 55 04 0a
0127 13 03????????? 3: . . . . . PrintableString?'gov'
???????????????????? : 67 6f 76
0132 31 0d???????? 13: . . . SET
0134 30 0b???????? 11: . . . . SEQUENCE
0136 06 03????????? 3: . . . . . OID 2.5.4.11: OU
???????????????????? : 55 04 0b
0141 13 04????????? 4: . . . . . PrintableString?'nist'
???????????????????? : 6e 69 73 74
0147 30 82 01 b4?436: . . SEQUENCE?// subjectPublicKeyInfo:: SEQUENCE類型(30),
長度436
0151 30 82 01 29?297: . . . SEQUENCE
0155 06 07????????? 7: . . . . OID 1.2.840.10040.4.1: dsa?//algorithm:: OBJECT 
IDENTIFIER
類型,長度7
???????????????????? : 2a 86 48 ce 38 04 01??? // 表示DSA算法(見注1)
0164 30 82 01 1c?284: . . . . SEQUENCE??????? // DSA算法的parameters,三個整數
p
、q、g
0168 02 81 80???? 128: . . . . . INTEGER?????? // p參數
???????????????????? : d4 38 02 c5 35 7b d5 0b a1 7e 5d 72 59 63 55 d3
???????????????????? : 45 56 ea e2 25 1a 6b c5 a4 ab aa 0b d4 62 b4 d2
???????????????????? : 21 b1 95 a2 c6 01 c9 c3 fa 01 6f 79 86 83 3d 03
???????????????????? : 61 e1 f1 92 ac bc 03 4e 89 a3 c9 53 4a f7 e2 a6
???????????????????? : 48 cf 42 1e 21 b1 5c 2b 3a 7f ba be 6b 5a f7 0a
???????????????????? : 26 d8 8e 1b eb ec bf 1e 5a 3f 45 c0 bd 31 23 be
????????????????????: 69 71 a7 c2 90 fe a5 d6 80 b5 24 dc 44 9c eb 4d
???????????????????? : f9 da f0 c8 e8 a2 4c 99 07 5c 8e 35 2b 7d 57 8d
0299 02 14???????? 20: . . . . . INTEGER?????? // q參數
???????????????????? : a7 83 9b f3 bd 2c 20 07 fc 4c e7 e8 9f f3 39 83
???????????????????? : 51 0d dc dd
0321 02 81 80???? 128: . . . . . INTEGER?????? // g參數
???????????????????? : 0e 3b 46 31 8a 0a 58 86 40 84 e3 a1 22 0d 88 ca
???????????????????? : 90 88 57 64 9f 01 21 e0 15 05 94 24 82 e2 10 90
???????????????????? : d9 e1 4e 10 5c e7 54 6b d4 0c 2b 1b 59 0a a0 b5
???????????????????? : a1 7d b5 07 e3 65 7c ea 90 d8 8e 30 42 e4 85 bb
???????????????????? : ac fa 4e 76 4b 78 0e df 6c e5 a6 e1 bd 59 77 7d
???????????????????? : a6 97 59 c5 29 a7 b3 3f 95 3e 9d f1 59 2d f7 42
???????????????????? : 87 62 3f f1 b8 6f c7 3d 4b b8 8d 74 c4 ca 44 90
???????????????????? : cf 67 db de 14 60 97 4a d1 f7 6d 9e 09 94 c4 0d
0452 03 81 84???? 132: . . . BIT STRING?(0 unused bits) // subjectPublicKey:: 
公鑰值,BIT STRING類型,長度132字節(好像應該是131字節)
0455 02 81 80???? 128: . . . . INTEGER // 公鑰值,表現為integer類型,128字節,1024位
: aa 98 ea 13 94 a2 db f1 5b 7f 98 2f 78 e7 d8 e3
???????????????????? : b9 71 86 f6 80 2f 40 39 c3 da 3b 4b 13 46 26 ee
???????????????????? : 0d 56 c5 a3 3a 39 b7 7d 33 c2 6b 5c 77 92 f2 55
???????????????????? : 65 90 39 cd 1a 3c 86 e1 32 eb 25 bc 91 c4 ff 80
???????????????????? : 4f 36 61 bd cc e2 61 04 e0 7e 60 13 ca c0 9c dd
???????????????????? : e0 ea 41 de 33 c1 f1 44 a9 bc 71 de cf 59 d4 6e
???????????????????? : da 44 99 3c 21 64 e4 78 54 9d d0 7b ba 4e f5 18
???????????????????? : 4d 5e 39 30 bf e0 d1 f6 f4 83 25 4f 14 aa 71 e1
0587 a3 32???????? 50: . . [3]??????????? ?// extensions:: 特殊內容-證書擴展部分(a3),
長度50
0589 30 30???????? 48: . . . SEQUENCE
0591 30 0f????????? 9: . . . . SEQUENCE?? // 擴展basicConstraints
0593 06 03????????? 3: . . . . . OID 2.5.29.19: basicConstraints
???????????????????? : 55 1d 13
0598 01 01????????? 1: . . . . . TRUE???? // true,表示為CA證書
???????????????????? : ff
0601 04 05????????? 5: . . . . . OCTET STRING
???????????????????? : 30 03 01 01 ff
0608 30 1d???????? 29: . . . . SEQUENCE?? // 擴展 subjectKeyIdentifier
0610 06 03????????? 3: . . . . . OID 2.5.29.14: subjectKeyIdentifier
???????????????????? : 55 1d 0e
0615 04 16???????? 22: . . . . . OCTET STRING?//擴展 subjectKeyIdentifier的值
???????????????????? : 04 14 e7 26 c5 54 cd 5b a3 6f 35 68 95 aa d5 ff
???????????????????? : 1c 21 e4 22 75 d6
0639 30 09????????? 9: . SEQUENCE?// signatureAlgorithm:: = AlgorithmIdentifier
0641 06 07????????? 7: . . OID 1.2.840.10040.4.3: dsa-with-sha
???????????????????? : 2a 86 48 ce 38 04 03
0650 03 2f???????? 47: . BIT STRING?(0 unused bits)?// bit串,證書簽名值,47字節
0652 30 2c?????? ??44: . . SEQUENCE
0654 02 14???????? 20: . . . INTEGER?????? // 簽名值,20字節,160bit
???????????????????? : a0 66 c1 76 33 99 13 51 8d 93 64 2f ca 13 73 de
???????????????????? : 79 1a 7d 33 
0674 02 14???????? 20: . . . INTEGER?????? // 簽名值,20字節,160bit
: 5d 90 f6 ce 92 4a bf 29 11 24 80 28 a6 5a 8e 73
???????????????????? : b6 76 02 68

2、RSA證書,非CA證書

證書包含675字節,證書版本號為3

該證書包含以下內容:
(a)
證書序列號是256 (0x100);
(b)
證書使用RSAMD2哈希算法簽名;
(c)
證書發行者的名字是OU=Dept. Arquitectura de Computadors; O=Universitat Politecnica de Catalunya; C=ES
(d)
證書主體的名字是CN=Francisco Jordan;OU=Dept. Arquitectura de Computadors; O=Universitat Politecnica de Catalunya; C=ES
(e)
證書的有效期從1996-5-21 1997-5-21;
(f)
證書包含一個768 bit RSA 公鑰;
(g)
證書是一個非CA證書(通過一個基本擴展項標識)
(h)
證書包含證書主體別名、證書發行者別名都是URLs
(i)?
證書包含一個發行者密鑰標識符和證書策略擴展,和
(j)?
證書包含一個密鑰用法的擴展,指定用于數字簽名

?
0000 30 80?????????? : SEQUENCE?? (size undefined)?// Certificate:: SEQUENCE類型(30),數據塊長度不定,由00、00作為結束符
0002 30 82 02 40?576: . SEQUENCE??????? // tbsCertificate:: SEQUENCE類型,長度576
0006 a0 03????????? 3: . . [0]?????????? // Version:: 特殊內容-證書版本(a0),長度3
0008 02 01????????? 1: . . . INTEGER 2?? //整數類型(02),長度1
???????????????????? : 02??????????????? // 版本3(2)
0011 02 02????????? 2: . . INTEGER 256?? //serialNumber:: 整數類型(02),長度2
???????????????????? : 01 00???? ????????// 證書序列號256
0015 30 0d???????? 13: . . SEQUENCE????? // signature:: SEQUENCE類型(30),長度13
0017 06 09????????? 9: . . . OID 1.2.840.113549.1.1.2: MD2WithRSAEncryption
?????????????????????????? ??????????//signature:: OBJECT IDENTIFIER類型,長度9
??????? ?????????????: 2a 86 48 86 f7 0d 01 01 02 //MD2WithRSAEncryption算法(見注1)
0028 05 00????????? 0: . . . NULL
0030 30 68???????? 88: . . SEQUENCE?????????????? // 以下紅色的數據塊表示issuer信息
0032 31 0b???????? 11: . . . SET
0034 30 09????????? 9: . . . . SEQUENCE
0036 06 03????????? 3: . . . . . OID 2.5.4.6: C
???????????????????? : 55 04 06
0041 13 02????????? 2: . . . . . PrintableString?'ES'
???????????????????? : 45 53
0045 31 2d???????? 45: . . . SET
0047 30 2b???????? 43: . . . . SEQUENCE
0049 06 03????????? 3: . . . . . OID 2.5.4.10: O
???????????????????? : 55 04 0a
0054 13 24???????? 36: . . . . . PrintableString
???????????????????? 'Universitat Politecnica de Catalunya'
???????????????????? : 55 6e 69 76 65 72 73 69 74 61 74 20 50 6f 6c 69
?????????????????? ??: 74 65 63 6e 69 63 61 20 64 65 20 43 61 74 61 6c
???????????????????? : 75 6e 79 61
0092 31 2a???????? 42: . . . SET
0094 30 28???????? 40: . . . . SEQUENCE
0096 06 03????????? 3: . . . . . OID 2.5.4.11: OU
???????????????????? : 55 04 0b
0101 13 21??? ?????33: . . . . . PrintableString
???????????????????? 'OU=Dept. Arquitectura de Computadors'
???????????????????? : 44 65 70 74 2e 20 41 72 71 75 69 74 65 63 74 75
???????????????????? : 72 61 20 64 65 20 43 6f 6d 70 75 74 61 64 6f 72
?????????????????? ??: 73
0136 30 1e???????? 30: . . SEQUENCE?????? // validity:: SEQUENCE類型(30),長度30
0138 17 0d???????? 13: . . . UTCTime?'960521095826Z' // notBefore:: UTCTime類型(23)
長度13
???????????????????? : 39 36 30 37 32 32 31 37 33 38 30 32 5a
0153 17 0d???????? 13: . . . UTCTime?'979521095826Z' // notBefore:: UTCTime類型(23)
長度13
???????????????????? : 39 37 30 37 32 32 31 37 33 38 30 32 5a
0168 30 81 83???? 112: . . SEQUENCE????????????? // 以下紅色的數據塊表示subject信息
0171 31 0b???????? 11: . . . SET
0173 30 09????????? 9: . . . . SEQUENCE
0175 06 03????????? 3: . . . . . OID 2.5.4.6: C
???????????????????? : 55 04 06
0180 13 02????????? 2: . . . . . PrintableString?'ES'
???????????????????? : 45 53
0184 31 2d???????? 12: . . . SET
0186 30 2b???????? 16: . . . . SEQUENCE
0188 06 03????????? 3: . . . . . OID 2.5.4.10: O
???????????????????? : 55 04 0a
0193 13 24???????? 36: . . . . . PrintableString
???????????????????? 'Universitat Politecnica de Catalunya'
???????????????????? : 55 6e 69 76 65 72 73 69 74 61 74 20 50 6f 6c 69
???????????????????? : 74 65 63 6e 69 63 61 20 64 65 20 43 61 74 61 6c
???????????????????? : 75 6e 79 61
0231 31 2a???????? 42: . . . SET
0233 30 28???????? 40: . . . . SEQUENCE
0235 06 03????????? 3: . . . . . OID 2.5.4.11: OU
???????????????????? : 55 04 0b
0240 13 21???????? 33: . . . . . PrintableString
???????????????????? 'Dept. Arquitectura de Computadors'
???????????????????? : 44 65 70 74 2e 20 41 72 71 75 69 74 65 63 74 75
???????????????????? : 72 61 20 64 65 20 43 6f 6d 70 75 74 61 64 6f 72
 ????????????????????: 73
0275 31 19???????? 22: . . . SET
0277 30 17???????? 20: . . . . SEQUENCE
0279 06 03????????? 3: . . . . . OID 2.5.4.3: CN
???????????????????? : 55 04 03
0284 13 10???????? 16: . . . . . PrintableString 'Francisco Jordan'
???????? ????????????: 46 72 61 6e 63 69 73 63 6f 20 4a 6f 72 64 61 6e
0302 30 7c????????? 2: . . SEQUENCE?// subjectPublicKeyInfo:: SEQUENCE類型(30),
長度不定
0304 30 0d???????? 13: . . . SEQUENCE
0306 06 09????????? 9: . . . . OID 1.2.840.113549.1.1.1: RSAEncryption //algorithm:: 
OBJECT IDENTIFIER
類型,長度9
???????????????????? : 2a 86 48 86 f7 0d 01 01 01?// 表示RSA算法(見注1)
0317 05 00????????? 0: . . . . NULL
0319 03 6b??????? 107: . . . BIT STRING ?(0 unused bits) // subjectPublicKey:: 
公鑰值,BIT STRING類型,長度107字節
????????? ???????????: 00?? (0 unused bits)???? 
0321 03 68??????? 104: . . . . BIT STRING ?(0 unused bits)
0323 02 61???????? 97: . . . . . INTEGER (0 unused bits) // 公鑰值,96字節,768位
???????????????????? : 00 ??(0 unused bits)?
: be aa 8b 77 54 a3 af ca 77 9f 2f b0 cf 43 88 ff
???????????????????? : a6 6d 79 55 5b 61 8c 68 ec 48 1e 8a 86 38 a4 fe
???????????????????? : 19 b8 62 17 1d 9d 0f 47 2c ff 63 8f 29 91 04 d1
???????????????????? : 52 bc 7f 67 b6 b2 8f 74 55 c1 33 21 6c 8f ab 01
???????????????????? : 95 24 c8 b2 73 93 9d 22 61 50 a9 35 fb 9d 57 50
???????????????????? : 32 ef 56 52 50 93 ab b1 88 94 78 56 15 c6 1c 8b
0423 02 03 ?????????3: . . . . . INTEGER?? // RSA加密算法的exponent
???????????????????? : 01 00 01
0428 a3 81 97???? 151: . . [3]???????? // extensions:: 特殊內容-證書擴展部分(a3),
長度151
0431 30 3c???????? 60: . . . SEQUENCE
0433 30 1f???????? 31: . . . . SEQUENCE??????? // 擴展發行者密鑰標識符
authorityKeyIdentifier
0435 06 03????????? 3: . . . . . OID 2.5.29.35: authorityKeyIdentifier
???????????????????? : 55 1d 23
0440 04 14???????? 22: . . . . . OCTET STRING
???????????????????? : 30 12 80 10 0e 6b 3a bf 04 ea 04 c3 0e 6b 3a bf
???????????????????? : 04 ea 04 c3
0464 30 19???????? 25: . . . . SEQUENCE?????? // 擴展keyUsage
0466 06 03????????? 3: . . . . . OID 2.5.29.15: keyUsage
???????????????????? : 55 1d 0f
0471 01 01????????? 1: . . . . . TRUE
???????????????????? : ff
0474 04 04????????? 4: . . . . . OCTET STRING
???????????????????? : 03 02 07 80
0480 30 19???????? 25: . . . . SEQUENCE?????? //擴展certificatePolicies
0482 06 03????????? 3: . . . . . OID 2.5.29.32: certificatePolicies
???????????????????? : 55 1d 20
0487 04 21???????? 33: . . . . . OCTET STRING
???????????????????? : 30 1f 30 1d 06 04 2a 84 80 00 30 15 30 07 06 05
???????????????????? : 2a 84 80 00 01 30 0a 06 05 2a 84 80 00 02 02 01
???????????????????? : 0a
0522 30 1c???????? 28: . . . . SEQUENCE?????? //擴展subjectAltName
0524 06 03????????? 3: . . . . . OID 2.5.29.17: subjectAltName
???????????????????? : 55 1d 11
0529 04 15???????? 21: . . . . . OCTET STRING
???????????????????? : 30 13 86 11 68 74 74 70 3a 2f 2f 61 63 2e 75 70
???????????????????? : 63 2e 65 73 2f
0552 30 19???????? 25: . . . . SEQUENCE????? //擴展issuerAltName
0554 06 03????????? 3: . . . . . OID 2.5.29.18: issuerAltName
?????????????? ??????: 55 1d 12
0559 04 12???????? 18: . . . . . OCTET STRING
???????????????????? : 30 14 86 12 68 74 74 70 3a 2f 2f 77 77 77 2e 75
???????????????????? : 70 63 2e 65
0579 30 80?????????? : . SEQUENCE (indefinite length) // signatureAlgorithm
不知為何這里的前面算法為空
0581 06 07????????? 7: . . OID
0583 05 00????????? 0: . . NULL
0585 00 00????????? 0: . . end of contents marker
0587 03 81 81????? 47: . BIT STRING????? // 簽名值
???????????????????? : 00????? (0 unused bits)
???????????????????? : 5c 01 bd b5 41 88 87 7a 0e d3 0e 6b 3a bf 04 ea
???????????????????? : 04 cb 5f 61 72 3c a3 bd 78 f5 66 17 fe 37 3a ab
???????????????????? : eb 67 bf b7 da a8 38 f6 33 15 71 75 2f b9 8c 91
???????????????????? : a0 e4 87 ba 4b 43 a0 22 8f d3 a9 86 43 89 e6 50
???????????????????? : 5c 01 bd b5 41 88 87 7a 0e d3 0e 6b 3a bf 04 ea
???????????????????? : 04 cb 5f 61 72 3c a3 bd 78 f5 66 17 fe 37 3a ab
???????????????????? : eb 67 bf b7 da a8 38 f6 33 15 71 75 2f b9 8c 91
???????????????????? : a0 e4 87 ba 4b 43 a0 22 8f d3 a9 86 43 89 e6 50
0637 00 00????????? 0: . . end of contents marker
?

注1: OID表示的算法

DSA -- 1.2.840.10040.4.1

sha1DSA -- 1.2.840.10040.4.3

RSA -- 1.2.840.113549.1.1.1

md2RSA -- 1.2.840.113549.1.1.2

md4RSA -- 1.2.840.113549.1.1.3

md5RSA -- 1.2.840.113549.1.1.4

sha1RSA -- 1.2.840.113549.1.1.5

參考:

RFC 2459 Internet X.509 Public Key Infrastructure

X.509證書結構簡介及實例

X.509第三版的證書結構

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            一片黄亚洲嫩模| 亚洲欧美日韩精品久久奇米色影视 | 亚洲美女免费精品视频在线观看| 国产自产精品| 国产欧美日韩在线 | 精品不卡一区二区三区| 国产色产综合色产在线视频| 欧美手机在线| 国产亚洲欧美日韩在线一区 | 欧美成人精品在线| 香蕉乱码成人久久天堂爱免费 | 欧美成年人视频网站欧美| 亚洲一区视频| 亚洲一区在线观看视频| 午夜老司机精品| 亚洲影院免费| 亚洲人成毛片在线播放| 国产精品99久久久久久www| 夜夜嗨av一区二区三区四季av| 一区二区动漫| 亚洲一区欧美二区| 久久激情五月婷婷| 亚洲人在线视频| 亚洲国产一区二区精品专区| av不卡在线看| 欧美一区深夜视频| 免播放器亚洲一区| 亚洲日本欧美天堂| 亚洲在线第一页| 久久综合色影院| 欧美成人一区二区在线| 一本一本久久a久久精品牛牛影视| 亚洲欧洲日产国产综合网| 先锋影音一区二区三区| 狂野欧美激情性xxxx欧美| 欧美激情视频网站| 国产精品久久久久久户外露出| 欧美va亚洲va国产综合| 欧美日韩在线影院| 国产综合久久| 一本一道久久综合狠狠老精东影业 | 欧美自拍偷拍午夜视频| 欧美~级网站不卡| 最新国产乱人伦偷精品免费网站 | 久久久伊人欧美| 亚洲国产综合在线| 久久精品在线免费观看| 欧美国产精品人人做人人爱| 亚洲免费黄色| 久久久九九九九| 欧美体内谢she精2性欧美| 国产亚洲一区精品| 一本在线高清不卡dvd | 亚洲精品久久视频| 欧美一区二区黄| 午夜国产精品影院在线观看| 久久精品成人一区二区三区 | 欧美高清在线视频观看不卡| 国产精品va在线播放我和闺蜜| 欧美激情片在线观看| 国产一区二区三区在线观看网站| 日韩视频免费观看高清完整版| 久久精品九九| 亚洲一级黄色片| 欧美人妖在线观看| 亚洲国产一区二区精品专区| 久久久国产精品一区| 亚洲视频在线看| 欧美精品一区二区蜜臀亚洲| 国内精品久久久久影院色| 亚洲欧美国产三级| 亚洲乱码视频| 欧美激情一区三区| 91久久精品视频| 久久综合五月| 久久av一区二区三区| 国产欧美二区| 欧美一级在线亚洲天堂| 亚洲美女网站| 欧美日韩一区二区三区在线 | 亚洲精品资源| 欧美激情国产高清| 亚洲国产日韩欧美综合久久| 久久亚洲图片| 欧美在线免费观看视频| 国产小视频国产精品| 久久xxxx精品视频| 欧美激情1区2区| 亚洲欧美在线一区二区| 国产欧美一区二区精品秋霞影院 | 国产精品入口日韩视频大尺度| 亚洲视屏在线播放| 日韩写真在线| 国产精品亚洲成人| 久久黄色小说| 久久亚洲综合色| 91久久精品一区| 亚洲激情婷婷| 久久久亚洲高清| 久久久亚洲高清| 91久久视频| 99精品视频网| 国产视频欧美| 亚洲大片av| 欧美日韩国产一级| 欧美小视频在线观看| 欧美日韩国产小视频在线观看| 亚洲激情第一页| 日韩一区二区精品在线观看| 国产精品大全| 久久亚洲一区| 欧美日韩调教| 狠狠久久五月精品中文字幕| 性色一区二区| 欧美成年人网| 性8sex亚洲区入口| 久久伊人免费视频| 中文久久精品| 久久精品亚洲国产奇米99| 亚洲美女一区| 欧美一级免费视频| 久久亚洲国产精品一区二区| 日韩天堂av| 亚洲深爱激情| 亚洲国产一区在线观看| 亚洲综合视频一区| 狠狠色丁香婷婷综合| 久久一区免费| 欧美视频专区一二在线观看| 久久人人爽国产| 欧美日韩午夜剧场| 欧美a级在线| 国产精品一二一区| 激情综合自拍| 亚洲一区二区视频在线| 亚洲精品日韩精品| 一区二区三区四区蜜桃| 国产欧美一区二区精品仙草咪 | 欧美日韩视频在线| 欧美高清视频一区二区| 国产亚洲精品一区二区| 夜夜嗨av一区二区三区| 亚洲激情影院| 久久精品视频在线播放| 久久久另类综合| 亚洲国产精品女人久久久| 欧美国产激情二区三区| 亚洲人午夜精品免费| 欧美激情第五页| 日韩午夜av| 欧美制服丝袜| 亚洲黄色片网站| 欧美日韩四区| 欧美在线视频一区二区三区| 欧美.www| 亚洲欧美国产77777| 狠狠综合久久av一区二区老牛| 久久久五月婷婷| 亚洲精品在线视频| 欧美在线啊v| 亚洲狠狠婷婷| 欧美视频一区在线| 欧美在线亚洲一区| 亚洲精品久久久久久久久久久 | 欧美在线视频播放| 国内激情久久| 欧美日韩亚洲三区| 欧美在线国产| 欧美激情亚洲国产| 久久精品伊人| 性欧美video另类hd性玩具| 韩国精品一区二区三区| 欧美韩国日本综合| 亚洲女人天堂成人av在线| 欧美不卡视频一区| 午夜久久久久久久久久一区二区| 亚洲第一偷拍| 国产精品欧美日韩一区二区| 久久香蕉精品| 亚洲一区二区在线看| 亚洲国产精品悠悠久久琪琪| 先锋影音久久久| 日韩视频免费观看| 在线免费不卡视频| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ入口 | 久久aⅴ国产欧美74aaa| 日韩一二三区视频| 久热国产精品| 欧美激情一区二区三区不卡| 亚洲天堂av电影| 亚洲国产专区校园欧美| 国产欧美亚洲一区| 欧美日韩在线视频观看| 久久久久久网站| 亚洲欧美日韩国产综合在线 | 一区二区欧美激情| 国产自产女人91一区在线观看| 欧美三级午夜理伦三级中视频| 久久亚洲精品伦理| 久久成人精品电影|