5

是否可以将 PKCS#8 编码的 RSA 私钥转换为 PKCS#1?我知道这可以通过 openssl 轻松完成,但可以用 Java 完成吗?

4

2 回答 2

4

使用 BouncyCastle 1.50

PrivateKeyInfo pkInfo = PrivateKeyInfo.getInstance(pkPair.getPrivateKey().getEncodedKey());
ASN1Encodable privateKeyPKCS1ASN1Encodable = pkInfo.parsePrivateKey();
ASN1Primitive privateKeyPKCS1ASN1 = privateKeyPKCS1ASN1Encodable.toASN1Primitive();

byte[] privateKeyPKCS1 = privateKeyPKCS1ASN1.getEncoded();
于 2016-09-07T06:50:55.857 回答
3

使用KeyFactorywith PKCS8EncodedKeySpec(algorithm "RSA") 将 PKCS #8 编码的私钥字节转换为 Java 对象。

使用Cipherand SecretKeyFactory(algorithm "PBEWithMD5AndDES") 和PBEKeySpec,PBEParameterSpec 来创建 PKCS #5 编码的东西。

于 2011-03-23T15:36:35.093 回答