ASN1编码

ASN1

根据参考实现

编辑过程
CN+学号+学号
AttributeType编码

	countryName为“CN”编码: 13 02 43  4e	长度:02	标识符:13
	organizationName为学号 20201326 编码:13 08 32  30  32  30  31  33  32  36	长度:08	标识符:13
	commonName为姓名 Jiangjin 编码:13 08 4a  69  61  6e  67  6a  69  6e	长度:08	标识符:13

	countryName编码: 55 04 06			
	organizationName编码: 55 04 0A
	commonName编码: 55 04 03


Attribute ValueAssertion编码
	对于标识串,采用低标识编码方式,只需1个字节。SEQUENCE的 tag 为0x10;
	class选择universal,则位8和位7为0,SEQUENCE为结构类型,则位6为1。因此,标识串=0x30。
	
	CN:30 09 06 03 55 04 06 13 02 43 4e 	长度:09	标识符:30
	20201326:30 0f 06 03 55 04 0a 13 08 32  30  32  30  31  33  32  36	长度:0f	标识符:30
	Jiangjin: 30 0f 06 03 55 04 03 13 08 4a  69  61  6e  67  6a  69  6e		长度:0f	标识符:30

RelativeDistinguishedName编码
	SET OF的 tag 为0x11; class 选择universal,则位8和位7为0,SET OF为结构类型,则位6为1。
	因此,标识串=0x31。
	CN:31 0b 30 09 06 03 55 04 06 13 02 43 4e
	20201326:31 11 30 0f 06 03 55 04 0a 13 08 32  30  32  30  31  33  32  36
	Jiangjin:31 11 30 0f 06 03 55 04 03 13 08 4a  69  61  6e  67  6a  69  6e

Name编码
	UTC time编码增加标识 30 ,长度
	30 33 
	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 32 30 31 33  
	32 36 31 11 30 0f 06 03 55 04 
	03 13 08 4a 69 61 6e 67 6a 69
	6e

有效期

	20200222000000 转 16进制 32 30 32 30 30 32 32 32 30 30 30 30 30 30	标识符:17 长度:0e
	20220222000000 转 16进制 32 30 32 32 30 32 32 32 30 30 30 30 30 30	标识符:17 长度:0e
	编码:\x17\x0E\x32\x30\x32\x30\x30\x32\x32\x32\x30\x30\x30\x30\x30\x30\x17\x0E\x32\x30\x32\x32\x30\x32\x32\x32\x30\x30\x30\x30\x30\x30

序列号
	1174:40 96	标识符:02	长度:02

最终编码
\x02\x02\x04\x96\x17\x0E\x32\x30\x32\x30\x30\x32\x32\x32\x30\x30\x30\x30\x30\x30\x17\x0E\x32\x30\x32\x32\x30\x32\x32\x32\x30\x30\x30\x30\x30\x30\x30\x33\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x4e\x31\x11\x30\x0f\x06\x03\x55\x04\x0a\x13\x08\x32\x30\x32\x30\x31\x33\x32\x36\x31\x11\x30\x0f\x06\x03\x55\x04\x03\x13\x08\x4a\x69\x61\x6e\x67\x6a\x69\x6e

参考:https://www.cnblogs.com/BillGreen/p/16115002.html



根据要求实现

要求

  1. 参考附件中图书p223 中13.2的实验指导,完成DER编码
  2. 序列号=1174(0x0496),证书签发者 DN="CN=Virtual CA,C=CN",证书持有者DN="CN=你的名字拼音, OU=Person,C=CN",证书有效期=20200222000000-20220222000000。
  3. 用echo -n -e "编码" > 你的学号.der中,用OpenSSL asn1parse 分析编码的正确性
  4. 提交编码过程文档(推荐markdown格式)
编码过程
十六进制
	AttributeType
	countryName编码: 55 04 06			
	organizationName编码: 55 04 0A
	commonName编码: 55 04 03
	organizationalUnitName:55 04 0b

	关键信息16进制
	CN:43  4e
	Virtual CA:56  69  72  74  75  61  6c  20  43  41
	Jiangjin:4a  69  61  6e  67  6a  69  6e
	Person:50  65  72  73  6f  6e

AttributeType编码
	签发者:
		CN:55 04 06 13 02 43 4e	长:7
		Virtual CA:55 04 0a 13 0a 56  69  72  74  75  61  6c  20  43  41		长:15
	持有人:
		Jiangjin:55 04 03 13 08 4a  69  61  6e  67  6a  69  6e	长:13
		Person:55 04 0b 13 06 50  65  72  73  6f  6e	长:11
		CN:55 04 06 13 02 43 4e	长:7

Attribute ValueAssertion编码
	签发人:
		CN:30 09 06 03 55 04 06 13 02 43 4e	长:11
		Virtual CA:30 11 06 03 55 04 0a 13 0a 56  69  72  74  75  61  6c  20  43  41	长:19
	持有人:
		Jiangjin:30 0f 06 03 55 04 03 13 08 4a  69  61  6e  67  6a  69  6e	长:17
		person:30 0d 06 03 55 04 0b 13 06 50  65  72  73  6f  6e	长:15
		CN: 30 09 06 03 55 04 06 13 02 43 4e	长:11

RelativeDistinguishedName编码
	签发人:
		CN:31 0b 30 09 06 03 55 04 06 13 02 43 4e	长:13
		Virtual CA:31 13 30 11 06 03 55 04 0a 13 0a 56  69  72  74  75  61  6c  20  43  41	长:21
		
	持有人:
		Jiangjin:31 11 30 0f 06 03 55 04 03 13 08 4a  69  61  6e  67  6a  69  6e	长:19
		Person:31 0f 30 0d 06 03 55 04 0b 13 06 50  65  72  73  6f  6e		长:17
		CN:31 0b 30 09 06 03 55 04 06 13 02 43 4e	长:13

Name编码
	30 53
	31 0b 30 09 06 03 55 04 06 13
	02 43 4e 31 13 30 11 06 03 55 
	04 0a 13 0a 56 69 72 74 75 61 
	6c 20 43 41 31 11 30 0f 06 03 
	55 04 03 13 08 4a 69 61 6e 67 
	6a 69 6e 31 0f 30 0d 06 03 55 
	04 0b 13 06 50 65 72 73 6f 6e 
	31 0b 30 09 06 03 55 04 06 13 
	02 43 4e	


有效期编码:\x17\x0E\x32\x30\x32\x30\x30\x32\x32\x32\x30\x30\x30\x30\x30\x30\x17\x0E\x32\x30\x32\x32\x30\x32\x32\x32\x30\x30\x30\x30\x30\x30

版本号编码:\x02\x02\x04\x96
	
最终编码
\x02\x02\x04\x96\x17\x0E\x32\x30\x32\x30\x30\x32\x32\x32\x30\x30\x30\x30\x30\x30\x17\x0E\x32\x30\x32\x32\x30\x32\x32\x32\x30\x30\x30\x30\x30\x30\x30\x53\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x4e\x31\x13\x30\x11\x06\x03\x55\x04\x0a\x13\x0a\x56\x69\x72\x74\x75\x61\x6c\x20\x43\x41\x31\x11\x30\x0f\x06\x03\x55\x04\x03\x13\x08\x4a\x69\x61\x6e\x67\x6a\x69\x6e\x31\x0f\x30\x0d\x06\x03\x55\x04\x0b\x13\x06\x50\x65\x72\x73\x6f\x6e\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x4e	

截图

posted @ 2023-05-06 16:15  岳华  阅读(69)  评论(0编辑  收藏  举报