【问题标题】:Can JcaPEMWriter generate PKCS#8 output?JcaPEMWriter 可以生成 PKCS#8 输出吗?
【发布时间】:2018-10-23 17:50:42
【问题描述】:

以下代码使用 BouncyCastle 中的 JcaPEMWriter 类以 PKCS#1 格式 (-----BEGIN RSA PRIVATE KEY-----) 输出随机生成的 RSA 私钥:

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-----)?

【问题讨论】:

    标签: java bouncycastle pem pkcs#1 pkcs#8


    【解决方案1】:

    您需要向 PEMWriter 提供一个稍微不同的对象,即 JcaPKCS8Generator。以下应该工作

    try (JcaPEMWriter w = new JcaPEMWriter(s)) {
        w.writeObject(new JcaPKCS8Generator(privateKey, null));
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-26
      • 1970-01-01
      • 2015-01-11
      • 2012-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多