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

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-Z、a-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 公鑰及其參數(三個整數p、q、g;
(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>
            亚洲一区二区精品| 欧美一区二区高清| 欧美亚洲第一页| 羞羞视频在线观看欧美| 亚洲伊人网站| 香蕉精品999视频一区二区| 亚洲免费一在线| 欧美一区二区三区四区在线观看地址 | 欧美日韩一区二区三区在线观看免 | 在线一区二区日韩| 亚洲午夜性刺激影院| 亚洲综合电影| 久久琪琪电影院| 欧美激情综合五月色丁香小说| 欧美激情bt| 国产欧美日韩不卡免费| 在线观看亚洲一区| 亚洲另类自拍| 欧美一级片在线播放| 你懂的成人av| 亚洲美女在线看| 久久久久99精品国产片| 欧美大片免费久久精品三p | 欧美在线观看日本一区| 麻豆精品在线观看| 欧美四级电影网站| 樱花yy私人影院亚洲| 亚洲视频精品在线| 欧美黄色网络| 亚洲图中文字幕| 欧美成人一区在线| 国产在线精品一区二区夜色| 中文精品视频| 免费欧美电影| 亚洲在线视频网站| 欧美精品亚洲| 亚洲国产欧美不卡在线观看| 午夜精品在线看| 亚洲七七久久综合桃花剧情介绍| 亚洲国产精品一区二区第四页av| 亚洲欧美日本视频在线观看| 欧美另类亚洲| 亚洲经典三级| 美女脱光内衣内裤视频久久影院| 亚洲网址在线| 国产精品va在线| 一本大道久久a久久精品综合| 老巨人导航500精品| 午夜精品久久久久久久久久久久 | 亚洲精品国产拍免费91在线| 午夜精品国产| 欧美吻胸吃奶大尺度电影| 亚洲高清视频一区| 久久人人97超碰精品888| 亚洲欧美日韩爽爽影院| 国产精品国产三级国产aⅴ入口| 亚洲九九精品| 亚洲国产精品一区二区三区 | 国产精品mm| 中文欧美字幕免费| 亚洲欧洲日本国产| 欧美精品v国产精品v日韩精品| 亚洲国产成人av在线| 嫩草国产精品入口| 免费短视频成人日韩| 在线免费日韩片| 米奇777超碰欧美日韩亚洲| 欧美制服丝袜第一页| 国产一区激情| 免费国产一区二区| 蜜臀久久久99精品久久久久久| 怡红院精品视频| 欧美激情中文不卡| 欧美精品日韩综合在线| 一本色道久久综合狠狠躁篇的优点| 亚洲第一网站免费视频| 欧美高清在线| 亚洲一区二区三区涩| 亚洲综合成人在线| 一区二区在线观看av| 欧美高清一区二区| 欧美精品在线视频观看| 亚洲你懂的在线视频| 午夜激情综合网| 亚洲高清一区二区三区| 最新69国产成人精品视频免费| 欧美精品亚洲二区| 午夜精品久久久久久久男人的天堂 | 亚洲欧美日韩国产成人| 亚洲欧美综合v| 樱桃成人精品视频在线播放| 亚洲国产日韩精品| 国产精品亚洲一区| 欧美高清不卡| 国产精品久久久一区二区三区| 久久理论片午夜琪琪电影网| 欧美电影在线观看完整版| 亚洲欧美欧美一区二区三区| 久久久久久有精品国产| 亚洲色无码播放| 久久精品国产精品亚洲| 一区二区三区av| 欧美成人有码| 午夜久久影院| 欧美国产激情| 久久久久国产一区二区| 欧美国产先锋| 久久精品国产精品亚洲| 欧美日韩不卡视频| 久热国产精品视频| 国产精品久久激情| 亚洲国产综合在线| 激情欧美一区二区| 亚洲欧美网站| 亚洲一级黄色av| 欧美成人免费在线视频| 久久激五月天综合精品| 欧美精品一区在线播放| 久久综合伊人77777| 国产伦精品一区二区三区| 亚洲精品系列| 亚洲日本电影| 麻豆精品视频在线观看| 久久理论片午夜琪琪电影网| 国产精品乱人伦一区二区| 亚洲精品欧美精品| 亚洲国产清纯| 久久五月婷婷丁香社区| 欧美一级视频精品观看| 国产精品v亚洲精品v日韩精品 | 亚洲精品乱码久久久久久| 国语自产精品视频在线看抢先版结局 | 一区二区久久| 在线视频日韩| 欧美国产精品v| 亚洲国产精品久久人人爱蜜臀| 在线看日韩av| 久久影视精品| 欧美a级在线| 亚洲国内在线| 欧美激情2020午夜免费观看| 亚洲国产日本| 在线视频日本亚洲性| 欧美午夜电影在线| 亚洲一区三区视频在线观看| 亚洲主播在线| 国产视频一区在线观看| 欧美在线播放| 美女视频网站黄色亚洲| 亚洲第一狼人社区| 免费在线播放第一区高清av| 欧美激情aaaa| 一区二区三区视频在线播放| 国产精品成人播放| 欧美一级网站| 欧美高清自拍一区| 一本久久综合亚洲鲁鲁| 欧美日一区二区三区在线观看国产免| 午夜久久久久| 久久久久中文| 欧美激情一区二区三区高清视频| 亚洲经典自拍| 欧美日韩伦理在线免费| 亚洲午夜羞羞片| 久久免费精品日本久久中文字幕| 伊人狠狠色j香婷婷综合| 欧美www在线| avtt综合网| 久久综合亚州| 亚洲性感激情| 狠狠色噜噜狠狠色综合久| 欧美成人精品在线视频| 亚洲午夜电影网| 免费亚洲电影| 亚洲主播在线| 亚洲国产三级| 国产精品亚洲人在线观看| 另类国产ts人妖高潮视频| 日韩亚洲欧美一区| 美日韩在线观看| 午夜精品一区二区三区四区| 一区三区视频| 国产精品极品美女粉嫩高清在线| 久久精品99国产精品日本| 亚洲欧洲美洲综合色网| 久久久久久综合| 在线亚洲欧美视频| 在线观看亚洲视频| 国产精品青草久久久久福利99| 久久性色av| 亚洲欧美在线一区| 99re热这里只有精品视频| 老司机午夜免费精品视频| 亚洲欧美日韩一区二区三区在线观看| 一区二区三区在线高清| 国产精品国产三级国产专播品爱网 | 亚洲精品自在在线观看| 久久精品国产欧美激情| 亚洲免费视频一区二区| 亚洲精品免费网站|