ASN.1分析Alipay证书
Posted sanfens
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASN.1分析Alipay证书相关的知识,希望对你有一定的参考价值。
2020-4 基于BouncyCastle的ASN.1分析工具设计与实现 Week2
任务步骤
-
下载ASN.1的查看工具Asn1View.exe
-
访问支付宝,获取站点证书
-
导出证书
详细信息
-复制到文件
-DER编码二进制X.509(.CER)
,在Asn1View.exe中打开
标识符 | 分隔符 |
---|---|
Integer | 0x02 |
Bit String | 0x03 |
OCTET String | 0x04 |
Null | 0x05 |
Object Indentifier | 0x06 |
UTF8 String | 0x12 |
Printable String | 0x13 |
UTC Time | 0x17 |
Sequence | 0x30 |
Set | 0x31 |
- RFC3280对证书的解释如下
Certificate ::= SEQUENCE {
tbsCertificate TBSCertificate, # 证书
signatureAlgorithm AlgorithmIdentifier, # 签名算法
signature BIT STRING # 签名
}
-
证书信息本身是一个 SEQUENCE,里面由两个 SEQUENCE和一个BIT STRING组成
SEQUENCE
待签的证书,tbsCertificate=TO BE Signed Certificate
;SEQUENCE
签名算法,就是CA准备采用什么签名算法对tbsCertificate
进行签名;BIT STRING
签名信息,CA对tbsCertificate
通过signatureAlgorithm
签名算法签出来的签名信息。
-
RFC3280对
TBSCertificate
的定义如下
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, # 颁发者唯一ID
-- If present, version shall be v2 or v3
subjectUniqueID [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进制显示
-
serialNumber
serialNumber
的定义CertificateSerialNumber ::= INTEGER
以上是关于ASN.1分析Alipay证书的主要内容,如果未能解决你的问题,请参考以下文章
基于OpenSSL的asn.1分析工具设计与实现 20175219罗乐琦 个人报告