tomcat - 配置 Tomcat 以检查 CRL 分发点

标签 tomcat ssl openssl ssl-certificate client-certificates

我正在编写一个网络应用程序,它需要传入连接才能使用客户端证书来确保安全。我已将其设置为仅接受安全连接,并使用 clientAuth=true。

我一直在尝试检查它是否拒绝已被吊销的证书,但它似乎并没有检查 CRL。这是我第一次真正尝试使用 CRL,所以我可能/可能做错了什么......

测试设置:

  1. 在已添加到信任库的 openssl 中创建了测试 CA 为服务器
  2. 为 CA 创建了 CRL,并向 openssl 添加了配置设置以在客户端证书中包含一个 crl 分发点(使用 Howto create a certificate using openssl including a CRL distribution point? )
  3. 使用 CA 创建了两个客户端证书
  4. 撤销了其中一个客户端证书,更新了 crl 并将其放置在指定为分发点的地址中(此后检查了 此 CRL 的内容,它确实列出了已撤销的证书 ID)

设置完成后,我尝试使用两个证书连接到应用程序,但即使其中一个证书已被吊销,它也可以成功连接?

我在 Tomcat 中是否遗漏了一个设置,使其在收到客户端证书时检查 CRL 分发点?我原以为那将是默认行为。

我找到了各种设置引用,这些设置允许您将 crl 位置嵌入到 tomcat 的连接器中 - 这不是我要找的。该系统最终将配置为接受来自许多不同 CA 的证书。

最佳答案

假设您使用的是 Oracle/OpenJDK JRE,如果您在 Certification Path API guide (Appendix B) 底部向下滚动,您会发现可以使用 com.sun.security.enableCRLDP 系统属性启用 CRLDP:

Support for the CRL Distribution Points extension is available. It is disabled by default for compatibility and can be enabled by setting the system property com.sun.security.enableCRLDP to the value true.

您可能还对以下有关 OCSP 的部分感兴趣。

关于tomcat - 配置 Tomcat 以检查 CRL 分发点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12798966/

相关文章:

python - SSL 错误 TLSV1_ALERT_INTERNAL_ERROR 与 aiohttp 库

linux - Shopify + Ubuntu 12.04LTS + Faraday issue = 可以使用旧版 OpenSSL 吗?

tomcat - 在 Windows 2008 中从 ANT 启动 Tomcat 7.0.x 时出现问题

java - Tomcat:日志记录的建议

Eclipse 调试作为远程 Java 应用程序断点未命中

php - 通过 HTTPS 的 SOAP 客户端,双方都带有 SSL 证书

tomcat - 在 tomcat 中创建为 GlobalNamingResource 的嵌入式 Derby 数据库的存储位置是什么?

ssl - 无法使用 pySpark 从 Presto SQL (Trino) 获取数据

ssl - 使用 playwright 代码生成忽略 SSL 错误

OpenSSL EVP API : How to decrypt the encrypted file using a symmetric key file