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

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.¢% 閱讀(3925) 評論(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>
            午夜精品国产更新| 国产精一区二区三区| 亚洲美女av黄| 午夜精品福利一区二区三区av| 国产精品久久一区主播| 欧美一区中文字幕| 亚洲国产经典视频| 亚洲欧美日韩国产综合| 国产亚洲精品一区二555| 久久在线免费观看| 中日韩视频在线观看| 久久精品在线播放| 日韩午夜在线观看视频| 国产精品自拍小视频| 久久午夜av| 亚洲一区二区三区中文字幕| 久久亚洲综合色| 一本大道av伊人久久综合| 国产精品一区二区三区久久久| 久久九九免费视频| 日韩午夜一区| 美女主播精品视频一二三四| 一本色道久久综合亚洲精品高清 | 久久精品五月婷婷| 亚洲精品在线免费观看视频| 久久久久久亚洲精品中文字幕 | 久久嫩草精品久久久精品| 亚洲国产成人精品视频| 国产精品推荐精品| 欧美精品一区视频| 久久精品人人做人人综合 | 亚洲美女av网站| 国产亚洲人成a一在线v站| 欧美高清在线| 久久久久久久久久久久久女国产乱 | 最新69国产成人精品视频免费| 欧美色视频在线| 麻豆成人av| 欧美在线影院| 亚洲图片你懂的| 亚洲免费播放| 亚洲高清二区| 久久躁狠狠躁夜夜爽| 午夜精品成人在线视频| 日韩一级欧洲| 最近中文字幕日韩精品 | 欧美一区二区三区四区在线| a91a精品视频在线观看| 欧美黄色aa电影| 久久久久一区二区三区四区| 亚洲欧美另类久久久精品2019| 亚洲精品美女免费| 最新69国产成人精品视频免费| 韩国成人福利片在线播放| 国产欧美日韩综合精品二区| 国产精品第一页第二页第三页| 欧美国产日本在线| 米奇777在线欧美播放| 久久色中文字幕| 久久久国产91| 久久精品国产成人| 久久国产88| 欧美一区二区三区精品电影| 亚洲欧美日韩综合aⅴ视频| 亚洲天堂成人在线观看| 一本色道久久99精品综合| 99精品视频免费| 在线综合视频| 亚洲视频日本| 亚洲午夜久久久久久久久电影网| 中文日韩在线| 午夜国产不卡在线观看视频| 亚洲欧美综合v| 久久精品99无色码中文字幕| 久久国产精品久久久久久| 久久久噜噜噜久久人人看| 久久久久国产精品麻豆ai换脸 | 欧美大片免费看| 欧美精品一区二区精品网 | 一本大道久久a久久精二百| 亚洲一区3d动漫同人无遮挡| 亚洲永久在线观看| 香蕉av777xxx色综合一区| 久久精品一区二区三区中文字幕 | 欧美激情欧美狂野欧美精品 | 亚洲精品欧美日韩| 一区二区三区欧美在线观看| 亚洲主播在线播放| 久久久久亚洲综合| 亚洲丶国产丶欧美一区二区三区| 91久久精品一区| 一区二区三区视频在线| 小处雏高清一区二区三区| 久久久999成人| 欧美激情一二三区| 国产精品久久久久久妇女6080| 国产精品一级二级三级| 亚洲承认在线| 一区二区三区 在线观看视频| 亚洲欧美在线高清| 男同欧美伦乱| 在线亚洲国产精品网站| 欧美综合国产| 欧美日韩午夜视频在线观看| 国产欧美韩日| 99re66热这里只有精品4| 欧美一级黄色录像| 亚洲成人资源| 亚洲欧美日本精品| 欧美精品情趣视频| 国产一区二区三区精品久久久| 亚洲三级电影全部在线观看高清| 亚洲在线一区| 欧美国产欧美综合| 亚洲欧美激情诱惑| 欧美成人中文| 国内精品一区二区三区| 亚洲一区二区精品| 欧美高清在线一区二区| 在线视频精品| 欧美—级在线免费片| 国产日韩高清一区二区三区在线| 亚洲精品视频免费在线观看| 欧美一区二区精品久久911| 亚洲黄色影院| 久久国产精品免费一区| 国产精品盗摄一区二区三区| 亚洲高清免费视频| 久久精品亚洲| 亚洲小少妇裸体bbw| 欧美黄色影院| 在线观看视频欧美| 久久久久国产精品人| 夜夜嗨av一区二区三区网页 | 亚洲第一精品夜夜躁人人爽| 欧美一区二区高清| 日韩午夜三级在线| 欧美激情无毛| 亚洲国产裸拍裸体视频在线观看乱了中文| 午夜在线精品偷拍| 一区二区三区欧美日韩| 欧美日本网站| 亚洲人成网站色ww在线| 你懂的成人av| 久久一区二区三区av| 国产午夜精品理论片a级探花| 亚洲伊人一本大道中文字幕| 亚洲黄色视屏| 欧美激情影音先锋| 亚洲人体偷拍| 欧美激情中文不卡| 欧美va天堂在线| 亚洲人成网在线播放| 欧美激情二区三区| 麻豆精品精华液| 亚洲国产日韩欧美综合久久| 欧美成人精品1314www| 久久国产日韩| 136国产福利精品导航网址| 久久久久久**毛片大全| 欧美怡红院视频| 伊大人香蕉综合8在线视| 久久只有精品| 久久蜜桃资源一区二区老牛 | 亚洲欧洲日本一区二区三区| 欧美高清在线| 欧美极品欧美精品欧美视频| 日韩亚洲欧美中文三级| 99热免费精品| 国产精品久久999| 欧美在线黄色| 久久精品国产久精国产思思| 一区二区在线观看视频在线观看 | 91久久夜色精品国产网站| 欧美喷潮久久久xxxxx| 亚洲视屏在线播放| 亚洲欧美日韩区| 黄网站免费久久| 亚洲国产成人av| 欧美色大人视频| 久久成人精品无人区| 久久精品一区二区三区不卡牛牛| 亚洲国产日韩欧美| 99re8这里有精品热视频免费| 欧美日韩中文字幕在线| 欧美一区二区三区免费观看| 久久九九精品99国产精品| 亚洲精品久久久久| 亚洲午夜精品福利| 伊人久久大香线蕉综合热线| 亚洲电影免费| 国产精品一卡二| 欧美激情小视频| 国产精品视频你懂的| 老司机午夜免费精品视频| 欧美激情片在线观看| 久久精品国产亚洲5555| 欧美激情中文字幕一区二区| 午夜欧美精品| 欧美电影免费观看|