数字证书编码ASN.1
一、任务详情
- 参考附件中图书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 分析编码的正确性
- 提交编码过程文档
附件:PKI.CA与数字证书技术大全.pdf
二、查看姓名、学号的16进制ASCII码
echo -n "chen junchi" | od -tc -tx1
echo -n "20201322" | od -tc -tx1
63 68 65 6e 20 6a 75 6e 63 68 69
32 30 32 30 31 33 32 32
三、ASN.1描述与实例
1.对Extension进行DER编码
2.对TBSCertificate进行DER编码
序列号=1174(0x0496),证书签发者 DN="CN=Virtual CA,C=CN",证书持有者DN="CN=liujiaqi, OU=Person,C=CN",证书有效期=20200222000000-20220222000000。
TBSCertificate | 标识串 | 长度串 | 内容串 |
---|---|---|---|
version | A0 | 03 | 02 01 02 |
serialNumber | 02 | 02 | 04 96 |
signature | 30 | 0D | 06 09 2A 86 48 86 F7 0D 01 01 05 05 00 |
issuer | 30 | 22 | 31 0B 30 09 06 03 55 04 06 13 02 43 4E 31 13 30 11 06 03 55 04 03 13 0A 56 69 72 74 75 61 6C 20 43 41 |
validity | 30 | 1E | 17 0D 32 30 30 32 32 31 31 36 30 30 30 30 5A(2020)17 0D 32 32 30 32 32 31 31 36 30 30 30 30 5A(2022) |
subject | 30 | 31 | 31 0B 30 09 06 03 55 04 06 13 02 43 4E(CN)31 0F 30 0D 06 03 55 04 0B 13 06 50 65 72 73 6F 6E(Person) 31 12 30 10 06 03 55 04 03 13 09 6C 69 75 6A 69 61 71 69(liujiaqi) |
subjectPublicKeylnfo | 30 | 81 9F | 30 0D 06 09 2A 86 48 86 F7 0D 01 01 0105 00 03 81 8D 00 30 81 89 02 81 81 00 B4 F6 CF18 3D 5E 8E 1D 46 7A 90 7D 8E 41 D2 E3 C8 F1 A3AE F3 6D 8A 24 FF 55 23 25 BD EB 0C D0 7B 87 365D 1F 73 98 65 3E 57 97 F6 65 7D 13 E0 E1 B5 FCBC 38 6F 56 3E 57 4E D6 51 1D 13 12 7C 33 B3 6031 79 32 07 97 F3 3C 8B 29 0D B5 78 38 93 CE 84E4 A3 DD FB F9 25 47 1C 72 A6 5E 78 02 CF F3 489D CA D9 00 73 DE 4B 16 07 52 48 20 06 F3 4F CAA5 2D 66 88 95 C6 6C D6 3F 61 34 F7 E3 02 03 01 00 01 |
extensions | A3 | 81 9F | 30 81 9C 30 0C 06 03 55 1D 13 0101 FF 04 02 30 00 30 1D 06 03 55 1D 0E 04 16 0414 2C 04 87 10 60 FC 61F6 2B 64 81 3D FB 66 30DA F0 73 BC 08 30 0E 06 03 55 1D 0F 01 01 FF 0404 03 02 03 F8 30 29 0603 55 1D 25 04 22 30 2006 08 2B 06 01 05 05 07 03 02 06 0A 2B 06 01 0401 82 37 14 02 02 06 08 2B 06 01 05 05 07 03 0430 11 06 09 60 86 48 01 86 F8 42 01 01 04 04 0302 05 A0 30 1F 06 03 55 1D 23 04 18 30 16 80 1496 F0 94 F8 49 8D 23 05 86 B0 CA B5 2D 7A 9A 6032 FB B0 F9 |
3.Certificate 的ASN.1描述与实例Certificate格式用ASN.1描述如下:
Certificate ::=SEQUENCE {
tbsCertificate
TBSCertificate,
signatureAlgorithm
AlgorithmIdentifier,
signature Value
BIT STRING }
四、DER编码过程
对TBSCertificate进行DER编码
验证:
openssl asn1parse -inform der -in ./20201322.der
1.序列号1174(0x0496)
echo -n -e "\xA0\x03\x02\x01\x02\x02\x02\x04\x96\x30\x0D\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x01\x05\x05\x00" > 20201322.der
2.证书签发者DN="CN=Virtual CA
echo -n -e "\x30\x22\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x4E\x31\x13\x30\x11\x06\x03\x55\x04\x03\x13\x0A\x56\x69\x72\x74\x75\x61\x6C\x20\x43\x41" >> 20201212.der
3.证书有效期=20200222000000-20220222000000
echo -n -e "\x17\x0D\x32\x30\x32\x30\x30\x32\x32\x32\x30\x30\x30\x30\x5A\x17\x0D\x32\x30\x32\x32\x30\x32\x32\x32\x30\x30\x30\x30\x5A" >> 20201322.der
4.证书持有者DN=CN=Yang Chengyu, OU=Person
echo -n -e "\x30\x37\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\x32\x31\x15\x30\x13\x06\x03\x55\x04\x03\x13\x0C\x63\x68\x65\x6e\x20\x6a\x75\x6e\x63\x68\x69" >> 20201322.der