• 数字证书编码ASN.1


    数字证书编码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 分析编码的正确性

    ASN.1

    1.TBSCertificate 的 ASN.1描述与实例

    TBSCertificate格式用ASN.1描述如下:

    TBSCertificate :=SEQUENCE {
    version  [0] EXPLICIT Version DEFAULT v1,
    serialNumber  CertificateSerialNumber,
    signature     Algorithmldentifier,
    issuer        Name,
    validity      Validity,
    subject       Name,
    subjectPublicKeyInfo SubjectPublicKeyInfo,
    issuerUniqueID[1] IMPLICIT Uniqueldentifier OPTIONAL,
                           -- If present, version MUST be v2 or v3
    
    subjectUniqueID [2] IMPLICIT Uniqueldentifier OPTIONAL,
                           -- If present, version MUST be v2 or v3
    extensions[3]EXPLICIT Extensions OPTIONAL
                           -- If present, version MUST be v3
    }
    Extensions ::=SEQUENCE SIZE (1..MAX) OF Extension
    

    TBSCertificate 中各项内容具体值如表所示

    2.对TBSCertificate进行DER编码
    TBSCertificate内容编码规则采用结构类型定长模式,具体编码过程如表所示

    编码

    序列号=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" > 20191315.der

    证书签发者 DN="CN=Virtual CA,C=CN"

    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" >> 20191315.der

    证书持有者DN="CN=你的名字拼音, OU=Person,C=CN"

    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\x31\x39\x31\x33\x31\x35\x31\x15\x30\x13\x06\x03\x55\x04\x03\x13\x0c\x4a\x69\x61\x6c\x65\x20\x48\x61\x6f\x20" >> 20191315.der [openeuler@localhost class-test]$ openssl asn1parse -inform DER -in 20191315.der

    证书有效期=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" >> 20191315.der

  • 相关阅读:
    C阶段【01】
    Xcode常用快捷键的使用
    eclipse中添加web app libraries
    hibernate 连接SQL SERVER2008
    hibernate配置入门(个人总结)
    项目编译PNG报错
    项目archive打包编译报错
    项目上传
    Git本地项目上传,版本管理工具与GitHub的简单结合使用
    将制定目录下的内容复制到另一个路径下
  • 原文地址:https://www.cnblogs.com/harperhjl/p/16114398.html
Copyright © 2020-2023  润新知