ASN.1讲解数字证书.docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ASN.1讲解数字证书

通过ASN.1解析来认识数字证书准备工作首先准备ASN.1的查看工具,本例采用的是Asn1View.exe,需要自行下载。该工具可以查看base64编码后的文件,比如我们常用的x.509数字证书,p7b证书链,p12证书,pfx个人交换证书,p10证书请求文件,当然,这个工具也可以查看通讯上的asn1编码的数据,比如ldap协议通信中的asn1数据,snmp中的asn1编码的数据等。然后获取一张证书,获取证书的途径很多,这里不再叙述,给个最简单的方法,访问,获取站点证书,由于我们只分析证书,不分析私钥信息。所以站点证书完全可以。下图是通过google chrome,查看证书的例子。点击证书信息,得到证书选择tab栏中的“详细信息”后,选择“复制到文件”。然后一直选择下一步,选择生成文件(最好选择.cer扩展名结尾),到完成通过以上步骤,完成证书的获取。OK,工具和证书文件都有了,我们接下来通过ASN1来看看证书的详细信息。2、证书ASN.1解析通过工具asn1view工具打开我们刚才导出的支付宝证书文件那我们开始一步一步地看看都是些什么东东吧:在看之前,我们先把ASN1常用的类型标识符列出来。下面解释的时候会用到先看第一个SEQUENCE,展开是两个SEQUENCE和一个BITSTRING根据RFC3280对证书的解释如下:Certificate ::= SEQUENCE {  tbsCertificateTBSCertificate, 1证书  signatureAlgorithmAlgorithmIdentifier, 2签名算法  signature BIT STRING 3签名}证书信息本身是一个SEQUENCE,里面由两个SEQUENCE和一个BIT STRING组成第一个SEQUENCE是待签的证书,tbsCertificate=TO BE Signed Certificate第二个SEQUENCE是签名算法,就是CA准备采用什么签名算法对tbsCertificate进行签名第三个 BIT STRING是签名信息,就是CA对tbsCertificate通过signatureAlgorithm签名算法签出来的签名信息。接下来我们在看看tbsCertificate,展开我们在看看RFC3280对TBSCertificate的定义TBSCertificate ::= SEQUENCE { version [0] EXPLICIT Version DEFAULT v1,版本serialNumberCertificateSerialNumber,序列号 signature AlgorithmIdentifier,签名算法 issuer Name,颁发者 validity Validity,有效期 subject Name,主题subjectPublicKeyInfoSubjectPublicKeyInfo,主题公钥信息issuerUniqueID[1] IMPLICIT UniqueIdentifier OPTIONAL,颁发者唯一ID -- If present, version shall be v2 or v3subjectUniqueID [2] IMPLICIT UniqueIdentifier OPTIONAL,主题唯一ID -- If present, version shall be v2 or v3 extensions [3] EXPLICIT Extensions OPTIONAL扩展 -- If present, version shall be v3 }Version第一个Context[0]里面就是证书版本信息了,默认是V1先看看一下Version的定义 Version ::= INTEGER { v1(0),v2(1),v3(2) 再看一下ASN1View右面的16进制显示asn1view右下角已经帮我们解释了绿色的02表示INTEGER类型蓝色的01表示长度黄色的02是值表示V3版本serialNumber表示证书的唯一标识序列号,它的RFC3280定义如下CertificateSerialNumber ::= INTEGER右侧的16进制

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档