【发布时间】:2011-07-18 18:45:29
【问题描述】:
Java 支持开箱即用的 OCSP。
但是,它的完成方式(我的意思是撤销检查)对程序员来说是透明的。
我的问题是,是否有任何 api(java 的一部分)可以创建有效的 OCSP 请求或响应?这样程序员就有可能实现自定义的 OCSP 检查器吗?
【问题讨论】:
标签: java security encryption cryptography certificate
Java 支持开箱即用的 OCSP。
但是,它的完成方式(我的意思是撤销检查)对程序员来说是透明的。
我的问题是,是否有任何 api(java 的一部分)可以创建有效的 OCSP 请求或响应?这样程序员就有可能实现自定义的 OCSP 检查器吗?
【问题讨论】:
标签: java security encryption cryptography certificate
标准 Java API 不提供公开可用的类来处理 OCSP。在 Sun/Oracle 的 JDK 中,OCSP 管理类位于 sun.security.provider.certpath 包中(即,Java 规范之外的包)而不是 public (因此,在给自己扩展后,如果不求助于反射就不能使用它们访问权限)。
此外,Sun/Oracle 的 JDK 中的实现是一个纯客户端:它可以编码请求和解码响应,但它不能解码请求或编码响应。
因此,实现自定义 OCSP 检查器将需要手动实现编码和解码机制:它可以完成,但不能用五行代码。 EJBCA 是一个开源 PKI,完全用 Java 编写,其中包括对 OCSP 的一些支持(我不知道提取 OCSP 代码以包含在另一个应用程序中是否容易)。
【讨论】:
请注意,Java 8 有一个 JEP 124 - Enhance the Certificate Revocation-Checking API,它应该提供专门用于证书撤销的新 API。
查看描述新功能的 a recent Oracle blog post 以及 official Draft Readme。
希望这会有所帮助。
【讨论】: