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
根据要求实现
要求
- 参考附件中图书p223 中13.2的实验指导,完成DER编码
- 序列号=1174(0x0496),证书签发者 DN="CN=Virtual CA,C=CN",证书持有者DN="CN=你的名字拼音, OU=Person,C=CN",证书有效期=20200222000000-20220222000000。
- 用echo -n -e "编码" > 你的学号.der中,用OpenSSL asn1parse 分析编码的正确性
- 提交编码过程文档(推荐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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~