• asn.1学习以及相关资料收集


    第一周学习

    asn.1学习

    asn.1介绍

    ASN.1是一种形式化的符号,用于描述通过电信协议传输的数据,无论这些数据的语言实现和物理表示方式如何,无论其应用是复杂还是非常简单。
    asn.1是一个标准,用于定义抽象数据类型规范的形式。
    提供了一定数量的预定义基本类型,例如:

    • 整数(INTEGER)
    • 布尔(BOOLEAN)
    • 字符串(IA5String,UniversalString ...)
    • 位串(BIT STRING)
    • 等等

    并可以定义构造的类型,例如:

    • 结构(SEQUENCE)
    • 列表(SEQUENCE OF)
    • 在类型之间选择(CHOICE)
    • 等等

    ASN.1在证书中的应用

    X.509标准定义了证书应该包含的内容,ASN.l标准可以用来描述X.509标准。换句话说就是ASN.1类似与伪代码,能够让人们更好地理解和组织X.509标准。
    证书中有如下结构

    Certificate ::= SEQUENCE 
    {     
        tbsCertificate    TBSCertificate, 
        signatureAlgorithm    Algorithmidentifier, 
        signature    BIT STRING 
    }
    
    • tbsCertificate:证书核心,包含了服务器实体和CA机构信息。
    • signatureAlgorithm:描述签名算法,用于对tbsCertificate的内容进行签名。
    • signature:签名的值。

    接下来看TBSCertifcate结构:

    TBSCertificate ::= SEQUENCE {
        version    [0] Version DEFAULT vl,
        serialNumber    CertificateSerialNumber,
        signature    Algorithmidentifier, 
        issuer    Name,
        validity    Validity, 
        subject    Name,
        subjectPublicKeyinfo    SubjectPublicKeyinfo, 
        issuerUniqueID    [1] IMPLICIT Uniqueidentifier OPTIONAL,
                            -- If present, version MUST be v2 or v3
        subjectUniqueID    [2] IMPLICIT Uniqueidentifier OPTIONAL,
                            -- If present, vers工on MUST be v2 or v3 
        extensions    [3] Extensions OPTIONAL
                        -- If present, version MUST be v3 --
    }
    
    • version:version类型是Version,相当于一个枚举类型。值表示的是证书的版本号,目前有v1、v2、v3三个版本,证书叫校验方需要使用对应版本校验。
    • serialNumber:每个证书都有唯一的编号,对于不同的CA机构来说,编号是无法预测的,CertificateSerialNumber是一个整型类型。
    • signature:描述采用的签名算法。
    • issuer:代表 CA 机构的名称,值由国家、组织、子组织名组成。
    • validity:描述证书的有效期。
    • subject:代表服务器实体的名称,该组织向CA机构申请证书,其对应的Name类型和issuer的Name类型是一样的。
    • subjectPublicKeylnfo:包含服务器的公开密码算法和公钥值。
    • issuerUniquelD和subjectUniquelD:这两个分别代表CA机构和服务器实体的唯一编号,目前已经被相应的证书扩展替代。
    • extension:扩展是X.509 V3版本引入的,主要是为了扩展证书的含义,在不改变X.509版本的情况下,可以相对方便地增加证书新属性,新添加的扩展是否生效取决于证书校验方。

    收集后续所用资料

    《568262 HTTPS权威指南在服务器和Web应用上部署SSL&TLS和PKI》PDF
    《深入浅出HTTPS从原理到实战》PDF+卫东
    国际电联电信标准化部门官方网站
    ITU标准文档X.680’s documentation
    ASN1编码学习
    ASN学习

  • 相关阅读:
    前端基础知识1
    mysql作业
    mysql了解知识点
    mysql3
    数据库作业2
    循环结构经典题型
    计算1
    猜数字游戏
    css的显示
    定位和position定位
  • 原文地址:https://www.cnblogs.com/luoleqi/p/12721544.html
Copyright © 2020-2023  润新知