是否可以将PKCS#8编码的RSA私钥转换为PKCS#1? 我知道这可以通过openssl轻松完成,但可以用Java完成吗?
答案 0 :(得分:2)
将KeyFactory
与PKCS8EncodedKeySpec
(算法"RSA"
)一起使用,将PKCS#8编码的私钥字节转换为Java对象。
使用Cipher
和SecretKeyFactory
(算法"PBEWithMD5AndDES"
)与PBEKeySpec
和PBEParameterSpec
创建PKCS#5编码内容。
答案 1 :(得分:1)
使用BouncyCastle 1.50
PrivateKeyInfo pkInfo = PrivateKeyInfo.getInstance(pkPair.getPrivateKey().getEncodedKey());
ASN1Encodable privateKeyPKCS1ASN1Encodable = pkInfo.parsePrivateKey();
ASN1Primitive privateKeyPKCS1ASN1 = privateKeyPKCS1ASN1Encodable.toASN1Primitive();
byte[] privateKeyPKCS1 = privateKeyPKCS1ASN1.getEncoded();