首页 > 编程知识 正文

执业资格证书,icd10电子版百度云

时间:2023-05-05 09:22:53 阅读:165252 作者:3706

另一方面,X.509证书结构X.509标准规定了证书中可以包含什么样的信息,说明了记录信息的方法。

在X.509结构中,包括版本号(integer )、序列号(integer )、签名算法(object )、发行者(set )、有效期限(utc_time )、主体(set )、主体公钥)

使用ASN.1说明可以抽象为以下结构

certificate :=sequence { tbscertificatetbscertificate,signaturealgorithmalgorithmidentifier, signaturevaluebitstring } TBS certificate 3360:=sequence { version [0] explicitversiondefaultv 1, serialnumbercertificacation signature algorithm identifier,issuer Name,validity Validity,subjectpublickeyinfosure isueruniqueid [1] implicituniqueidentifieroptional,subject uniqueid [2] implicituniqueidentifieroptional,extensions[

在这次实验中,我们决定使用直接从chrome下载的证书。 此时,证书的结构如下

3358 www.Sina.com/http://www.Sina.com/http://www.Sina.com/http://www.Sina.com /关于信息证书对每个序列号证书唯一的证书序列号整数格式签名算法进行签名时使用的算法包括OID和相应的结构颁发者命名规则一般为X.500格式Name 信息有效期通用证书一般采用UTC时间格式,时间范围为1950-2049 format:yyymmdhhmssz 3358 www.Sina.com 用户使用证书主体Name 备注主体密钥证书所有者的公钥TBSCertificate公钥签名算法证书公钥的加密算法包括OID和对应的http://www.Sina.com

X509的编码方法为TLV结构,利用t记录当前数据的类型(type ),利用l记录当前数据的长度(length ),利用v记录当前数据的可取值(value )。 这里,不同type值对应于不同的数据类型

http://www.Sina.com/http://www.Sina.com/http://www.Sina.com/3358 www.Sina.com/boolean 01; 01; 如果FF/00 TBSCertificateInteger的长度大于7f,则长度为n和0x80的“位或”运算的结果是length的第一个字节http://www.Sina.com/bit string par val TBSCertificateNullvalue部分为空,包含双字节http://www.Sina.com/objectidentifierv1. v2.v3.v4.V5 . VN (1 )3)如果按顺序排列,则得到值部分http://www.Sina.com/ascii string 13; len; val http://www.Sina.com/utctimeyymdhmssz http://www.Sina.com/generalizetimeyymdhmssz 3358 www.Sina.com/Sequence constructer序列中所有项的代码顺序http://www.Sina.com/setconstructer集合中所有项的代码TBSCertificateTag关于简单类型对于构造型,type=A0 tag序列号。 length和value请参阅TBSCertificate

类声明:全部使用string类型记录数据。 数据的具体内容记载在注释中

三、算法流程选择打开. cer文件,逐字节读取。 也就是说,每次读取一个字符的整体流程如下。 a )读取一个字节的类型

b )读取一个字节的length

c )判断type ) type为非标签时)直接根据类型判断当前的数据类型是什么

d )判断到达长度(基于type决定要读取的数据的长度。 例如,integer区分长短的数据,将减去0x80后的值作为真长度值的同时换算真长度

e )记录值)根据长度读取实际数据,并转换为必要的格式。 例如,06的形式为V11.V2.V3…。

每次读取到value时,都会直接为证书内容分配一个值。 在这种情况下,首先需要确定当前的赋值位置: a )根据证书结构,在“ver”、“seq”、“sigalg”、“iss”、“starttime”、“endtime”和“endtime”阶段

b )此时,根据当前的代入阶段n和此时读入的数据类型type,可以判断当前的代入对象是什么,可以避免由于发布者的数量不统一而无法读入所有的. cer文件的问题

P.S .参考https://www.cn blogs.com/JIU 0821/p/4598352.html进行了优化

有关详细信息,请参阅github 3359 github.com/song Xiaotong/web security-course/tree/master/x.509

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。