以下代码使用JcaPEMWriter
BouncyCastle 中的类,以 PKCS#1 格式输出随机生成的 RSA 私钥(-----BEGIN RSA PRIVATE KEY-----
):
public static void main(String[] args) throws Exception {
final KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");
kpg.initialize(2048, null);
final KeyPair kp = kpg.generateKeyPair();
final PrivateKey privateKey = kp.getPrivate();
final StringWriter s = new StringWriter();
try (JcaPEMWriter w = new JcaPEMWriter(s)) {
w.writeObject(privateKey);
}
System.out.println(s);
}
有什么办法可以使JcaPEMWriter
输出 PKCS#8 格式(-----BEGIN PRIVATE KEY-----
) 反而?
您需要向 PEMWriter 提供一个稍微不同的对象,即JcaPKCS8Generator https://www.bouncycastle.org/docs/pkixdocs1.5on/org/bouncycastle/openssl/jcajce/JcaPKCS8Generator.html。以下应该有效
try (JcaPEMWriter w = new JcaPEMWriter(s)) {
w.writeObject(new JcaPKCS8Generator(privateKey, null));
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)