【问题标题】:How to generate self-signed certificate in Java with JDK17如何使用JDK17在Java中生成自签名证书
【发布时间】:2022-08-16 22:25:00
【问题描述】:

tl,博士;是否有本地 Java17 解决方案来生成自签名证书,无论是通过标准库(非常不可能)还是一些苗条、轻量级的库?

有一个类似的问题(Access `sun.security.x509` in JDK 11 without modules?,由我提出),因为从 JDK11 开始,对内部 JDK 包的访问受到限制,因此无法使用来自sun.security.x509 的类。在 JDK17 之前,有可能通过某些编译器配置来绕过它,以标记打开这些包。 JDK17 改变了这种情况,删除了该选项。

从我能够收集到的当前解决方案中,要么是:

  1. BouncyCastle - 但它是一个庞大的 5MB 瑞士刀安全库,因此仅将其用于生成证书似乎有些浪费。
  2. 直接调用keytool java 工具,但这有两个缺点:调用外部工具速度较慢,需要创建密钥库文件。

    目前(2)在我的用例中似乎更方便,但我很想找到第三种选择 - 原生的轻量级解决方案。

    标签: java certificate x509certificate java-17 openjdk-17


    【解决方案1】:

    如果有人感兴趣,可以在这里找到依赖于keytool 的基本和粗略的实现:KeytoolCertificateGenerator.java

    【讨论】:

      猜你喜欢
      • 2019-04-18
      • 2016-12-04
      • 1970-01-01
      相关资源
      最近更新 更多