X.509证书的解析、验证及使用

X.509证书的解析、验证及使⽤
X.509证书的解析、验证及使⽤
1.概述
1.1 简介
X.509格式证书是被⼴泛使⽤的数字证书标准,是⽤于标志通讯各⽅⾝份信息的⼀系列数据。
1.2常见的X.509格式证书
.cer/.crt是⽤于存放证书,以⼆进制形式存放,不含私钥
.pem跟.crt/.cer的区别是它以Ascii来表⽰,可以⽤于存放证书或私钥。
.pfx/.p12⽤于存放个⼈证书/私钥,他通常包含保护密码,2进制⽅式。
.p10是证书请求。
.p7r是CA对证书请求的回复,只⽤于导⼊
.
p7b以树状展⽰证书链(certificate chain),同时也⽀持单个证书,不含私钥。
1.3 X.509证书的编码
X.509证书的结构是⽤ASN.1(Abstract Syntax Notation One:抽象语法标记)进⾏描述数据结构,并使⽤ASN.1语法进⾏编码。ASN.1结构:⾃⼰查阅
或见附录B。
1.4 X.509格式的证书构成规范
1.基本证书域(tbscertificate):版本号、序列号、签名算法、颁发者、有效⽇期、主体、主体公钥信息、颁发者唯⼀标识(o)、扩展项(o)
2.签名算法域(signatureAlgorithm):签名算法、参数(o)
3.签名值域(signatureValue):签名值
说明:
纳米铂金证书签名值:签名值是使⽤签名算法对基本证书域(tbscertificate)全部信息签名后的值。
1.5 证书结构实例
1.5.1 ⽤户证书的结构实例
版本号(version)
证书序列号(serialNumber)
签名算法标识符(signature)
颁发者名称(issuer)
有效期(validity):起始有效期
终⽌有效期
主体名称(subject):  countryName 国家
stateOrProvinceName 省份
localityName 地市
organizationName 组织名称
organizationalUnitName 机构名称
模具石膏粉
commanNmae ⽤户名称
主体公钥信息(subjectPublicKeyInfo)
authorityKeyIdentifier 颁发机构的密钥标识
subjectKeyIdentity 主体密钥标识符
CRLD isstributionPointsCRL 分发点
1.5.2服务器证书的结构实例
版本号(version)
证书序列号(serialNumber)
签名算法标识符(signature)
颁发者名称(issuer)
有效期(validity):起始有效期
终⽌有效期
主体名称(subject):  countryName 国家
stateOrProvinceName 省份
localityName 地市
organizationName 组织名称
organizationalUnitName 机构名称
commanNmae 服务器名称
主体公钥信息(subjectPublicKeyInfo)
authorityKeyIdentifier 颁发机构的密钥标识
subjectKeyIdentity 主体密钥标识符
CRLD isstributionPointsCRL 分发点
1.6证书实例解析
解析10.52.证书的结果:
图⽚插不进来-----
特别说明:
1.公钥数据部分: 00 30 81 89 02 81 81 00 9B F4 89 B6 26 65 66 41 C1 D0 AA 36 0C 95 E9 56 C9 9D 5B 63 02 F2 BE 29 3D AB A1 1F 68 A9 76 10 2F 98 93 4D 65 12 E4 3E 74 35 6A 40 E0 5F 69 6B D8 9A EB F7 E3 D7 5C E0 15 A5 CE 35 F6 30 33 FF 2E 9F FC DA BD 61 41 DF B0 73 CC A4 18 20 1C FF 84 11 E9 AD FF 43 2E 3E AE 6A C2 1C EB 76 B8 68 08 F2 AA DC 46 02 95 7E 66 8F 82 5C 91 E5 67 53 10 CE 36 DE E5 68 3F E6 6A 82 1D 62 C9 9C A6 E1 02 03 01 00 01
红⾊字体部分是128字节公钥模。
绿⾊字体部分是3字节公钥指数值:0x 01 00 01。
2.签名结果:03 81 8100 9C 5A 31 23 FB 83 F4 8F D3 D7 BE 39 B5 2A 0A 7F FF 1D 72 EB 9B B1 7D F5 24 3D D7 D2 60
03 CA 4C 1E 49 A2 B2 E9 3A 80 FA D3 89 82 6A A0 3A 2B 60 F4 CD 56 FC 5C 68 03 C8 A3 C1 AD 42 01 3A E6 CF 70 2F 60 AF 56 7B 5D 24 C6 92 31 17 DE F5 CB 0E 41 1E 0A AC 3A 13 07 A5 CC C0 A3 27 0A 78 DA 4D FE B4 19 81 D8 F2 11 9C 8B 92 C7 D1 F6 2E 0B 24 B0 CA 4A 44 4C F3 4C 6D D1 66 2D A0 76 CF 70 4C
红⾊字体才是签名值数据。
绿⾊字体 00 是⽆⽤的数据。
1.7 X.509证书的签名验证
签名算法为:SHA1 with RSA:
SHA1即安全哈希算法(Secure Hash Algorithm),⽤于签名;RSA是⽬前最有影响⼒的公钥(⾮对称)加密算法。
SHA1 with RSA 就是发送端⽤Sha1 进⾏签名,然后⽤RSA算法对签名值加密(私钥加密)。那么签名验证就需要接受端先⽤RSA算法进⾏解密(公钥解密)得到签名值,再验证签名。
1.待验证的证书:operation_CA
<
2 根证书:
3.⽬的:⽤CA1验证CA2
4.步骤
4.1 取CA2证书的签名体
4.2 取CA1证书的公钥(公钥模)
4.3 ⽤CA1公钥解CA2的签名体(RAS公钥加密)
agps4.4  取CA2证书的主体
4.5 对CA2证书主体做HASH运算得HASH值
4.6 对⽐签名:(对⽐签名体后20字节的话说和第5步的hash值,相等,说明证书验证成功)
2.如何将.cer证书发⾏到SE?染酸
2.1 SE的⽂件结构
----
2.2  卡⽚详细⽂件结构
---
2.3 DF0A ⽹充应⽤⽬录下密钥⽂件
----
2.5 终端CA证书电力安全性评价
2.5.1 终端CA证书的申请流程
----
终端CA证书:通过RA 系统,向部中⼼申请的证书,⽤于标识终端设备⾝份的、符合X.509 格式的唯⼀数字证书,每⼀个终端设备在⼀次发⾏时预置该证书。
2.5.2 如何预置?
个⼈理解“预置”的意思应该就是“写⼊”。对应上图流程的第8步。具体步骤是啥呢?往下看。
2.5.2.1 创建⽂件系统(MF-DF0A-终端证书⽂件)
鼓膜式板框压滤机-----
已知终端CA证书⽂件是⼆进制⽂件,读⾃由,写:PIN_DF0A(?),⽤创建⽂件命令:Create File 创建⼆进制⽂件:⽂件ID=001B,⽂件⼤⼩=0A00(2560字节),读权限=F0,写权限=F0,明⽂读取,密⽂Mac更新,维护密钥Id=01,根据命令格式:见附录A.1,得到命令:
80E0 001B 07 280A00 F0F0 F3 01 ??(前提是已经在了DF0A⽬录下,若没有则依次创建上级⽬录)
2.5.2.2 写终端证书⽂件001B
读取.cer证书的内容,并计算字节个数,先将字节个数写⼊⽂件开始,再把内容写进001B⽂件。⽤写⼆进制⽂件命令,见附录A.2。
附录A
A.1 Create File(建⽴⽂件)
A.1.1定义和范围
Create File命令⽤于建⽴⽂件系统。
A.1.2命令报⽂
A.1.3命令报⽂数据域
A.1.4响应报⽂数据域
A.1.5响应报⽂状态码
⽂件创建⽰例
创建主⽂件:⽂件ID=3F00,主⽂件⼤⼩=100K,删除权限=11,创建权限=22,传输密钥=FFFFFFFFFFFFFFFF。
80E0 3F00 0D 38 FFFF 22 11 FFFFFFFFFFFFFFFF
创建KEY⽂件:⽂件ID=0000,⽂件⼤⼩=0100,秘钥添加权限=11,明⽂添加秘钥。
80E0 0000 07 3F 0100 0F 11 F0 FF
创建⼆进制⽂件:⽂件ID=EF01,⽂件⼤⼩=0020,读权限=F0,写权限=F0,明⽂读取,明⽂写⼊。
80E0 EF01 07 28 0020 F0F0 F0 FF
创建⼆进制⽂件:⽂件ID=EF02,⽂件⼤⼩=0020,读权限=F0,写权限=F0,明⽂读取,密⽂Mac更新,维护密钥Id=01。
80E0 EF02 07 28 0020 F0F0 F3 01
创建⼆进制⽂件:⽂件ID=EF03,⽂件⼤⼩=0020,读权限=F0,写权限=F0,密⽂+MAC读取,密⽂
+MAC更新,维护密钥Id=01。80E0 EF03 07 28 0020 F0F0 FF 01
创建⽬录⽂件:⽂件ID=DF01,⽂件⼤⼩=0500,删除权限=F0,建⽴权限=F0,⽂件名称=5053321564324566。
80E0 DF01 10 38 0500 F0F0 FFFFFF 5053321564324566
创建KEY⽂件:⽂件ID=0000,⽂件⼤⼩=0100,密钥添加权限=21,密⽂+MAC写⼊密钥。
80E0 0000 07 3F 0100 0F 21 F3 FF
A.2 Update Binary(写⼆进制⽂件)
A.2.1 定义与范围
Update Binary命令⽤于写⼆进制⽂件。
A.2.2 注意事项
Update Binary命令只适⽤于⼆进制⽂件。
访问⼆进制⽂件的命令:
建⽴⽂件(Create File)
选择⽂件(Select File)
读⼆进制⽂件(Read Binary)/写⼆进制⽂件(Update Binary)
只有满⾜⼆进制⽂件写权限时才能执⾏此命令。

本文发布于:2024-09-23 18:29:39,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/245835.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:证书   签名   公钥   主体   进制   字节
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议