生成过程:
1.p10申请后得到:p10文件、sig key、口令
2.将p10文件拿去ca进行申请,会得到:sig cert、enc cert、enc key(存在于数字信封中)
3.随机生成一个对称密钥symmetric key(这个对称密钥是16位的,可能是AES\SM4\SM1\等)
4.symmetric key + enc key 形成 enc key'
5.symmetric key + sig cert 形成 SYM
6.此时数字信封就是下面4个的组合
OID 对称算法ID
SYM 对称算法密钥(被签名证书公钥加密)
enc cert 加密证书公钥
enc key' 加密证书私钥(被对称算法加密)
1.p10申请后得到:p10文件、sig key、口令
2.将p10文件拿去ca进行申请,会得到:sig cert、enc cert、enc key(存在于数字信封中)
3.随机生成一个对称密钥symmetric key(这个对称密钥是16位的,可能是AES\SM4\SM1\等)
4.symmetric key + enc key 形成 enc key'
5.symmetric key + sig cert 形成 SYM
6.此时数字信封就是下面4个的组合
OID 对称算法ID
SYM 对称算法密钥(被签名证书公钥加密)
enc cert 加密证书公钥
enc key' 加密证书私钥(被对称算法加密)
另附上数字信封的asn1结构,如下
AlgorithmIdentifier ::= SEQUENCE {
algorithm OBJECT IDENTIFIER,
parameters ANY DEFINED BY algorithm OPTIONAL
}
SM2EnvelopedKey ::= SEQUENCE {
symalgid AlgorithmIdentifier, -- 对称算法ID
symalgkey SM2Cipher, -- 对称算法密钥(被签名证书公钥加密)
asympubkey BIT STRING, -- 加密证书公钥
asymprvkey BIT STRING -- 加密证书私钥(被对称算法加密)
}
解密过程:
得到enc key即可
得到enc key即可