数字证书编码ASN.1

一、任务详情

  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. 提交编码过程文档
    附件: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

 

 

posted @ 2023-05-05 11:59  20201322陈俊池  阅读(59)  评论(0编辑  收藏  举报