PKCS8私钥结构
PKCS8私鑰結構
- RSA私鑰數據結構
- ECC私鑰數據結構
由上可知,PKCS8私鑰結構包含了四個部分:版本號、算法標識、私鑰數據、其他屬性數據。
版本號version,當前還都是0(也就是v1版本);
算法標識privateKeyAlgorithm,又包括算法ID和私鑰參數兩部分,不同的算法私鑰參數的結構也不同;
私鑰數據privateKey,不同的算法私鑰數據又有自己不同的結構;
其他屬性數據attributes,這是可選項,可以沒有。
RSA私鑰數據結構
這一部分其實也就是PKCS1標準的私鑰結構(PKCS1是專屬于RSA的標準)
RSAPrivateKey ::= SEQUENCE {version Version,modulus INTEGER, -- npublicExponent INTEGER, -- eprivateExponent INTEGER, -- dprime1 INTEGER, -- pprime2 INTEGER, -- qexponent1 INTEGER, -- d mod (p-1)exponent2 INTEGER, -- d mod (q-1)coefficient INTEGER, -- (inverse of q) mod potherPrimeInfos OtherPrimeInfos OPTIONAL}Version ::= INTEGER { two-prime(0), multi(1) }(CONSTRAINED BY {-- version must be multi if otherPrimeInfos present --})ECC私鑰數據結構
這一部分其實也就是SEC1標準的私鑰結構(SEC1是專屬于ECC的標準)
ECPrivateKey ::= SEQUENCE {version INTEGER { ecPrivkeyVer1(1) } (ecPrivkeyVer1),privateKey OCTET STRING,parameters [0] Parameters OPTIONAL,publicKey [1] BIT STRING OPTIONAL }總結
- 上一篇: java pkcs8_java中公钥,私
- 下一篇: 《架构探险——从零开始写javaweb框