数字证书编码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. 提交编码过程文档(推荐markdown格式)

编码过程

首先查看自己的姓名学号16进制ASCII编码
指令echo "xx" | od -tx1

根据证书信息确认用户DER编码值
Name 为 CHOICE 类型,其 DER 编码值与 RDNSequence 相同
编码结果如下:

\x30\x36\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02\x43\x4e('CN')
\x31\x11\x30\x0f\x06\x03\x55\x04\x0a\x13\x08\x32\x30\x31\x39\x31\x32\x32\33('20191223')
\x31\x11\x30\x0f\x06\x03\x55\x04\x03\x13\x0b\x5a\x68\x61\x6e\x67\x20\x4a\x75\x6e\x59\x69(Zhang JunYi)

对TBSCertificate进行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" >20191223.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" >> 20191223.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" >>20191223.der

4.证书持有者DN=CN=你的名字拼音(ZhangJunYi), OU=Person

echo -n -e "\x30\x36\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\x31\x39\x31\x32\x32\x33\x31\x14\x30\x12\x06\x03\x55\x04\x03\x13\x0b\x5a\x68\x61\x6e\x67\x20\x4a\x75\x6e\x59\x69" >>20191223.der

5.用OpenSSL asn1parse 分析编码的正确性

openssl asn1parse -inform DER -in 20191223.der

如图,结果是正确的

posted @ 2022-04-07 12:09  20191223张俊怡  阅读(52)  评论(0编辑  收藏  举报