码迷,mamicode.com
首页 > 其他好文 > 详细

DER编码

时间:2021-06-21 19:59:16      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:gui   http   类型   https   tee   string   ref   object   dna   

DER编码

1. Attribute Type编码

? 对于标识串,采用低标识编码方式,只需1个字节。OBJECT IDENTIFIER的 tag为Ox06;class选择universal,则位8和位7为0,OBJECT IDENTIFIER为基本类型,则位6为0。因此,标识串=0x06。

? 对于长度串,采用短型编码方式,只需1个字节。

? 对于内容串,由3个字节组成。2.5.4.6编码为55 04 06,2.5.4.10编码为5504 0A,2.5.4.3编码为55 04 03。

技术图片

2. AttributeValue编码

? 对于标识串,采用低标识编码方式,只需1个字节。PrintableString 的 tag 为 0x 13; class选择universal,则位8和位7为0,OBJECT IDENTIFIER为基本类型,则位6为0。因此,标识串=0x13。

? 对于长度串,采用短型编码方式,只需1个字节。对于内容串,由其ASCII码组成。

? countryName为“CN”,organizationName为"20181230", commonName="zhuyoumin"

AttributeValue 标识符 长度串 内容串
"CN" 13 02 43 4E
"20181230" 13 08 32 30 31 38 31 32 33 30
"zhuyoumin" 13 09 7A 68 75 79 6F 75 6D 69 6E

3. AttributeValueAssertion编码

? 对于标识串,采用低标识编码方式,只需1个字节。SEQUENCE的 tag 为0x10;class选择universal,则位8和位7为0,SEQUENCE为结构类型,则位6为1。因此,标识串=0x30。

? 对于长度串,采用短型编码方式,只需1个字节。

? 对于内容串,由AttributeType和 AttributeValue的 DER编码值组成。

AttributeValueAssertion 标识符 长度串 内容串
countryName="CN" 30 09 06 03 55 04 06 13 02 43 4E
organizationName="20181230" 30 0F 06 03 55 04 0A 13 08 32 30 31 38 31 32 33 30
commonName="zhuyoumin" 30 10 06 03 55 04 03 13 09 7A 68 75 79 6F 75 6D 69 6E

4. RelativeDistinguishedName编码

? 对于标识串,采用低标识编码方式,只需1个字节。SET OF的 tag 为0x11; class 选择universal,则位8和位7为0,SET OF为结构类型,则位6为1。因此,标识串=0x31。

? 对于长度串,采用短型编码方式,只需1个字节。

? 对于内容串,由Attribute ValucAssertion的 DER编码值组成。

RelativeDistinguishedName 标识符 长度串 内容串
countryName="CN" 31 0B 30 09 06 03 55 04 06 13 02 43 4E
organizationName="20181230" 31 11 30 0F 06 03 55 04 0A 13 08 32 30 31 38 31 32 33 30
commonName="zhuyoumin" 31 12 30 10 06 03 55 04 03 13 09 7A 68 75 79 6F 75 6D 69 6E

5. RDNSequence编码

? 对于标识串,采用低标识编码方式,只需1个字节。SEQUENCE OF的 tag 为0x10;class选择universal,则位8和位7为0,SEQUENCE OF为结构类型,则位6为1。因此,标识串=0x30。

? 对于长度串,采用短型编码方式,只需1个字节。

? 对于内容串,由3个 RelativeDistinguishedName的 DER编码值组成。

RDNSequence 标识符 长度串 内容串
countryName="CN" 30 0D 31 0B 30 09 06 03 55 04 06 13 02 43 4E
organizationName="20181230" 30 13 31 11 30 0F 06 03 55 04 0A 13 08 32 30 31 38 31 32 33 30
commonName="zhuyoumin" 30 14 31 12 30 10 06 03 55 04 03 13 09 7A 68 75 79 6F 75 6D 69 6E

6. Name编码

最终编码为:

30 34 

?	31 0B 

?		30 09 

?			06 03 55 04 06 

?			13 02 43 4E
31 11 

?	30 0F 

?		06 03 55 04 0A 

?		13 08 

?			32 30 31 38 31 32 33 30
31 12 

?	30 10 

?		06 03 55 04 03 

?		13 09 

?			7A 68 75 79 6F 75 6D 69 6E

7. Openssl验证

技术图片

DER编码

标签:gui   http   类型   https   tee   string   ref   object   dna   

原文地址:https://www.cnblogs.com/zym990901/p/14907872.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!