【发布时间】:2012-09-29 17:18:54
【问题描述】:
我正在编写一个 webapp,它需要传入连接才能使用客户端证书来确保安全。我已将其设置为仅接受安全连接,并使用 clientAuth=true。
我一直在尝试检查它是否拒绝已被吊销的证书,但它似乎没有检查 CRL。这是我第一次真正尝试使用 CRL,所以有可能/很可能我做错了什么......
测试设置:
- 在已添加到信任库的 openssl 中创建了测试 CA 用于服务器
- 为 CA 创建了 CRL,并将配置设置添加到 openssl 以在客户端证书中包含 crl 分发点(使用 Howto create a certificate using openssl including a CRL distribution point?)
- 使用 CA 创建了两个客户端证书
- 撤销了其中一个客户端证书,更新了 crl 并将其放置在指定为分发点的地址中(此后检查了 此 CRL 的内容,它确实将证书的 ID 列为已撤销)
设置完成后,我尝试使用这两个证书连接到应用程序,但是即使其中一个被撤销,它也可以让两者都成功连接?
我在 Tomcat 中是否遗漏了一个设置,它可以在收到客户端证书时检查 CRL 分发点?我会认为这将是默认行为。
我发现了各种对设置的引用,这些设置允许您将 crl 位置嵌入到 tomcat 中的连接器中 - 这不是我想要的。该系统最终将被配置为接受来自多个不同 CA 的证书。
【问题讨论】:
标签: tomcat ssl openssl ssl-certificate client-certificates