huzilinitachi的专栏

blog of jerrylining

openssl之x509

x509 v3证书结构

version number       //版本号

serial number          //序列号

signature algorithm ID      //签名算法id

issuer name                      //发行者名称

validity period                  //有效时间

    not before                   //xx时间之前

    not after                     //xx时间之后

subject name                 //证书所属者名称

subject public key info   //公钥信息

    public key algorithm   //公钥算法

    subject public key     //公钥

issuer unique identifier(可选)    //发布者唯一标识符

subject unique identifier(可选)   //所属着唯一标识符

extensions(可选)       //扩展信息

    ...

certificate signature algorithm   //证书签名算法

certificate signature    //证书签名

CRL extension扩展


x509证书处理流程(基础流程)

1.检查基本的证书信息,包含以下内容

a.使用working_public_key_algorithm 和working_public_key、working_public_key_parameters检查在证书中的签名

b.检查证书的有效时间

c.证书是否被吊销

d.证书的颁布者是否正在使用

2.如果证书是自颁布的并且不是路径中的最后一个证书,跳过这一步。否则,检查证书所属者的名字,判断是否在x500的允许的permitted_subtrees中;同时,检查在subjectAltName扩展中的每一个备选名称(alternative names).

3.同上,检查的是subject name(证书所有者的名称)

4.证书存在策略拓展(policies extension) 并且valid_policy_tree不为空,用以下的步骤来处理策略(policy)信息

    a.对于每一个不在证书拓展(certificate policies extension)中的策略(policy)P,使用P-OID表示p的policy同时用P-Q表示对于P的policy集合,之后经过下面几个步骤的处理

    a1.对于每一个P-OID在valid_policy_tree深度为i-1的expected_policy_set集合,使用这样的方式创建树的子节点:设置P-OID的valid_policy,设置P-Q的qualifier_set同时设置{P-OID}的expected_policy_set集合

    a2.如果a1中没有匹配的,并且valid_policy_tree包含了深度为i-1的anypolicy节点(兼容所有的),生成满足以下条件的节点:设置P-OID的valid_policy,设置P-Q的qualifier_set,并且设置{P-OID}的expected_policy_set集合

5.如果证书的policy拓展不存在,将valid_policy_tree置为空

6.检查explicit_policy是否大于0或者valid_policy_tree是否为空





阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huzilinitachi/article/details/80346315
个人分类: openssl https
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

openssl之x509

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭