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

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.¢% 閱讀(3920) 評論(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>
            午夜激情久久久| 欧美视频福利| 亚洲另类黄色| 日韩天天综合| 一本久久知道综合久久| 日韩网站在线看片你懂的| 最新中文字幕一区二区三区| 欧美成年人视频网站欧美| 亚洲第一搞黄网站| 亚洲精品小视频| 在线一区二区日韩| 欧美一区二区三区四区在线观看地址| 午夜综合激情| 欧美黄色影院| 国产日韩欧美麻豆| 亚洲国产精品尤物yw在线观看| 91久久久亚洲精品| 亚洲免费在线看| 噜噜噜在线观看免费视频日韩| 亚洲日本乱码在线观看| 亚洲欧美日本视频在线观看| 欧美高清视频一区二区三区在线观看| 国产精品hd| 影院欧美亚洲| 亚洲欧美日韩天堂一区二区| 老妇喷水一区二区三区| 日韩一级大片| 性欧美暴力猛交69hd| 久久久久国产精品人| 欧美成人激情视频免费观看| 亚洲小说欧美另类社区| 欧美+亚洲+精品+三区| 欧美午夜在线视频| 亚洲激情在线| 久久久久欧美精品| 亚洲深夜福利视频| 欧美国产精品久久| 国产亚洲一区二区精品| 亚洲一区二区三区免费观看| 亚洲大胆人体视频| 欧美伊人久久| 国产精品推荐精品| 中文一区二区| 亚洲人成人一区二区在线观看| 欧美在线视屏| 国产亚洲欧美一区二区三区| 亚洲欧美欧美一区二区三区| 日韩视频免费观看高清完整版| 蜜桃av一区二区在线观看| 狠狠干狠狠久久| 欧美一区国产二区| 这里只有精品丝袜| 欧美三区在线视频| 一区二区国产在线观看| 亚洲欧洲精品一区二区三区不卡| 免费看黄裸体一级大秀欧美| 一区二区在线视频| 美日韩精品免费| 六月婷婷久久| 亚洲国产一成人久久精品| 欧美高潮视频| 免费欧美日韩国产三级电影| 亚洲国产高清一区二区三区| 久久亚洲国产精品一区二区 | 欧美精品123区| 亚洲精品一区二区三区99| 亚洲第一在线综合在线| 蜜桃av一区二区三区| 亚洲国产日韩欧美| 亚洲黄色一区| 欧美日韩亚洲精品内裤| 亚洲欧美美女| 久久成人免费网| 亚洲国产成人久久综合一区| 亚洲欧洲在线看| 欧美日韩精品| 久久国产精品一区二区三区四区| 久久精品视频在线看| 亚洲经典三级| 在线综合亚洲| 国内精品久久久久久| 欧美黄色一区| 欧美日韩在线三区| 欧美一区二区在线播放| 久久久久久久久久看片| 亚洲精品自在久久| 性高湖久久久久久久久| 欧美一区二区福利在线| 精品二区视频| 亚洲麻豆一区| 国产一区二区中文字幕免费看| 蜜桃精品久久久久久久免费影院| 欧美护士18xxxxhd| 午夜日韩视频| 欧美成人免费网| 欧美一区二区三区啪啪| 久久综合久久综合久久综合| 亚洲色图制服丝袜| 久久精品亚洲一区二区三区浴池 | 欧美日韩在线播| 久久久久国产精品一区三寸| 欧美精品激情| 久久精品国产一区二区三区免费看| 农村妇女精品| 久久久久91| 欧美日韩一区三区四区| 美日韩精品免费观看视频| 欧美日韩免费一区二区三区| 玖玖玖免费嫩草在线影院一区| 欧美日韩一区二区免费视频| 老司机免费视频久久| 国产精品久久久久久久久| 欧美国产一区二区三区激情无套| 国产精品福利在线观看| 亚洲欧洲精品一区| 亚洲国产另类精品专区| 午夜在线不卡| 午夜精品亚洲| 欧美日韩在线视频观看| 欧美激情1区2区3区| 国户精品久久久久久久久久久不卡| 日韩一级网站| 一本色道久久88综合亚洲精品ⅰ| 美女精品网站| 免费观看成人www动漫视频| 国产亚洲激情在线| 亚洲欧美视频一区二区三区| 亚洲自拍偷拍麻豆| 欧美性一区二区| 日韩午夜免费| 亚洲深夜福利| 欧美日韩中字| 一本久道久久综合中文字幕 | 亚洲自拍电影| 欧美私人网站| 9l国产精品久久久久麻豆| 日韩亚洲欧美成人一区| 免费成人在线视频网站| 欧美插天视频在线播放| 亚洲成在人线av| 久久久精品动漫| 你懂的亚洲视频| 亚洲精品欧美| 欧美欧美全黄| 亚洲色图在线视频| 亚洲欧美精品伊人久久| 国产精品无码永久免费888| 中文在线一区| 久久精品人人做人人综合| 国产综合色在线| 亚洲国产精品久久久久婷婷老年| 亚洲大片在线| 欧美片第一页| 亚洲性图久久| 久久影视三级福利片| 伊大人香蕉综合8在线视| 久久综合影视| 亚洲精品国久久99热| 亚洲在线日韩| 精品成人一区二区| 欧美激情精品久久久久久黑人 | 免费观看不卡av| 亚洲精品视频免费在线观看| 午夜精品久久久久久久| 国产欧美日韩精品在线| 久久蜜臀精品av| 亚洲黄色av一区| 中文精品视频一区二区在线观看| 国产免费成人av| 免费成人在线视频网站| 一区二区三区精品在线 | 免费看精品久久片| 99精品热6080yy久久| 国产日韩在线一区二区三区| 蜜臀久久99精品久久久画质超高清| 亚洲精品国产视频| 久久久www成人免费无遮挡大片| 91久久中文字幕| 国产精品一国产精品k频道56| 久久伊伊香蕉| 亚洲一区二区三区四区中文 | 亚洲毛片在线看| 久久久久国产精品一区| 在线综合+亚洲+欧美中文字幕| 国内久久视频| 国产精品v亚洲精品v日韩精品 | 国产日韩精品一区| 欧美国产日韩亚洲一区| 欧美在线免费看| 亚洲午夜av电影| 亚洲人妖在线| 猫咪成人在线观看| 午夜天堂精品久久久久| 一区二区三区欧美视频| 亚洲国产成人av好男人在线观看| 国产啪精品视频| 国产精品免费久久久久久| 欧美国产在线电影| 麻豆精品传媒视频| 久久大综合网|