【发布时间】:2021-09-19 07:32:54
【问题描述】:
我有一个现有的证书 (C1),包括私钥,并且没有标记为 CA 并且受内部根 CA (C0) 的信任 我想用它来:
客户端:
- 生成新的密钥对 (C2)
- 使用 C1 签署密钥对,使其具有验证路径 C2
- 使用 C2 执行 SSL 客户端身份验证
服务器端:
- 接受 SSL 客户端证书
- 验证链,无论 C1 不是 CA
到目前为止,我已经找到了有关如何使用通用密钥签署新密钥的文章: Creating an X509 Certificate in Java without BouncyCastle?
但是:
- 生成的 C2 不受信任,因此在协商时不被接受 => 我们可能必须在 apache 端禁用客户端证书验证并在 Java 端执行它
- 以上文章暗示了使用私有 sun JDK 方法:关于如何使用标准 jdk 11 分类或 BouncyCastle 的任何提示?
【问题讨论】:
-
如果 C1 未标记为 X.509 下不可能的 CA。
标签: java ssl x509certificate bouncycastle