X.509证书编码及解析
1. 证书的整体结构
【1】证书内容、【2】签名算法标识、【3】签名值
用ASN.1语法描述如下:
Certificate::=SEQUENCE{tbsCertificate TBSCertificate,signatureAlgorithm AlgorithmIdentifier,signatureValue BIT STRING }
1.1 签名结果
签名结果是CA对tbsCertificate进行签名的结果,类型为BIT STRING。
1.2 签名算法标识
签名算法标识为CA对tbsCertificate进行签名所使用的算法;类型为AlgorithmIdentifier,其ASN.1语法描述如下:
AlgorithmIdentifier::=SEQUENCE{algorithm OBJECT IDENTIFIER,parameters ANY DEFINED BY algorithm OPTIONAL }
其中,algorithm给出了算法的OID;可选的parameters给出算法的参数。
需要注意,algorithm同时说明了杂凑算法和数字签名算法,常见的有:
(1)MD5wihRSAEncryption,MD5 Hash函数和RSA签名算法配合使用,OID为1.2.840.113549.1.1.4
(2)SHA1withRSAEncryption,SHA-1 Hash函数和RSA签名算法配合使用,OID为1.2.840.113549.1.1.5
1.3 证书内容
证书内容是需要被CA签名的信息,ASN.1语法描述如下:
TBSCertificate::=SEQUENCE{version [0] EXPLICIT Version DEFAULT v1,serialNumber CertificateSerialNumber,signature AlgorithmIdentifier,issuer Name,validity Validity,subject Name,subjectPublicKeyInfo SubjectPublicKeyInfo,issuerUniqueID [1] IMPLICIT UniqueIdentifier OPTIONAL,subjectUniqueID [2] IMPLICIT UniqueIdentifier OPTIONAL,extensions [3] EXPLICIT Extensions OPTIONAL }
其中,issuerUniqueID和subjectUniqueID只能在版本2或者3中出现;extensions只能在版本3中出现。
(未完,待续... ...)
X.509证书编码及解析相关推荐
- X.509证书解析程序(C++版)
这个解析程序使用C++写成,更多详细内容可参考GitHub项目. X.509证书结构 Certificate ::= SEQUENCE {tbsCertificate TBSCertificate, ...
- x.509数字证书编码详解
转自:http://blog.sina.com.cn/s/blog_49b531af0102eahs.html x.509数字证书编码详解 一. X.509数字证书的编码 X.509证书的结构是用AS ...
- pem格式证书编码 x509_证书编码格式
一.证书编码格式 1.DER(Distinguished Encoding Rules) DER是二进制格式,不可读.查看DER格式证书的信息 openssl x509 -in certificate ...
- pem格式证书编码 x509_公钥证书编码解读
一.文件编码 PEM (Privacy Enhancement Message),定义见 结构组成 == {header} body {tail} 示例 -----BEGIN PUBLIC KEY-- ...
- 给出x.509证书的实例并分析其工作方式
本篇文章对x.509的结构进行了详细的分析,对x.509证书的工作原理的描述有所不足,仅供参考,希望能对大家有所帮助! x.509证书: Certificate: Data: Version: 1 ( ...
- X.509证书DN之详解
X.509使用DN(Distinct Name)来唯一标识一个实体,其功能类似我们平常使用的ID,不过不同的是,DN不再是类似 123456 这样得数字标识,而是采用多个字段来标识一个实体,例如&qu ...
- 什么是X.509证书?X.509证书工作原理及应用?
X.509是公钥基础设施(PKI)的标准格式.X.509证书就是基于国际电信联盟(ITU)制定的X.509标准的数字证书.X.509证书主要用于识别互联网通信和计算机网络中的身份,保护数据传输安全.X ...
- X.509证书的介绍
目录 1.X.509简介 2.证书组成结构 3.证书文件扩展名 4.生成一个自签名证书的示例 5.生成签名请求及CA 签名 1.X.509简介 X.509是密码学里公钥证书的格式标准.X.509证书已 ...
- 【转】x.509证书在WCF中的应用(CS篇)
[转自]x.509证书在WCF中的应用(CS篇) 为什么要用x.509证书? WCF的服务端和客户端之间,如 果不作任何安全处理(即服务端的<security mode="None&q ...
- DTLS协议中的509证书和密钥如何传输
DTLS协议 在openssl中,创建DTLS环境都已经被封装好了 ssl_ctx = SSL_CTX_new(DTLS_method()); 接下去我们编程的时候有两种方式去使用DTLS,1 是直接 ...
最新文章
- 微服务架构实施原理详解
- linux怎么命令设置网络连接,Linux网络操作命令
- 一個便宜的高负载网站架构
- 自己动手架设linux下Web服务器(图)6
- mysql中phpmyadmin安装教程_phpmyadmin安装方法
- 小程序需要php知识吗,小程序和PHP学习笔记 ----- 不定期更新。
- eclipse导入jar包的三种方法
- CCF201912-4 区块链(100分)【模拟】
- 趣图:程序猿和运维狗的工作日常……
- 川大计算机复试公平吗,看清华、川大这波操作,你还会担心网络复试会不公平吗?...
- USB2.0接口管脚定义
- 脊柱外科患者资料管理系统
- IDEA多module的项目共享配置文件的处理
- 吐槽一下程序员职场那些令人迷惑的行为
- SAP PP 空bom 清单及处理
- 游戏开发九宫格战斗架构解析具体解释
- SCRM:SpringBoot + RabbitMQ + 企微 实现发送消息到企业微信
- 【老生谈算法】matlab实现遗传算法选取最优参数——遗传算法
- Nii图像的读取、操作与保存
- 《疯狂Java讲义(第4版)》-----第4章【控制台五子棋】