x509证书格式-1

标准  rfc2459.X509.pdf

 Infineon-TPM_ECC_Root_CA-C-v01_00-EN.cer 为例

 Asn1View.exe 工具查看如下

 

国密签名算法OID:  1.2.156.10197.1.501

国密公钥参数:  1.2.156.10197.1.301

不认识的公钥参数

IOException: Unknown named curve: 1.2.156.10197.1.301 ?

SM2国密证书制作之算法参数"1.2.156.10197.1.301"

构造 SubjectPublicKeyInfo 对象

  ASN1EncodableVector subJectPublicVector = new ASN1EncodableVector();
        subJectPublicVector.add(new AlgorithmIdentifier(new ASN1ObjectIdentifier("1.2.840.10045.2.1"), new ASN1ObjectIdentifier("1.2.156.10197.1.301")));
        // 未压缩公钥	前缀04+x坐标+y坐标
        // 压缩公钥		前缀03+x(如果y是奇数),前缀02+x(如果y是偶数)
        subJectPublicVector.add(new DERBitString(HexUtil.decodeHex("045580AECD1A6EE38C03610EC0AC981BE4FC0312C784DC9F6D03D8319DF10D37E589FE3D5F587CB3B5E0CB11C9BBCD9F35F928F92619A186426EA65B6FC49A2BDB")));
        try {
            SubjectPublicKeyInfo rootSubjectPublicKeyInfo = SubjectPublicKeyInfo.getInstance(new DERSequence(subJectPublicVector).getEncoded());
        } catch (IOException e) {
            e.printStackTrace();
        }

ECC384长度密钥证书, 证书签名里面包含了TLV结构

ecc384:

 

以下解析SM2自签证书:

SM2自签发的证书,签名值也带TLV结构 

SM2公钥值带04总共65字节:

04000ddf91b0f95a8317985b4377b12ae9516b7fccae03d1161d339fe14be071781bf7b6c2a6d288a4238e56c816c8df76b783022291dfd0934ef2b2dc2153eda4

公钥信息:

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值