我有一个 thrift 端点,该端点是由已离开我们公司的人创建的。他们通过客户端证书实现身份验证,但我很难理解它是如何工作的。有谁知道有关此主题的教程或方法。
我真正拥有的只是一个示例客户端类。以下是我需要帮助的事项列表:
- 服务器证书和客户端证书能否同时包含在同一个信任库中
- 如何创建新的客户端证书?
- 如何将该客户端证书添加到服务器信任库?
- 是否需要设置客户端信任库,并设置java信任(假设服务器是自签名端点)
下面的错误是什么意思?
错误[com.cada.CadaDaoTest][main] - 错误: org.apache.thrift.transport.TTransportException:javax.net.ssl.SSLHandshakeException:收到致命警报:bad_certificate
最佳答案
信任库(在 Tomcat 上它是为 server.xml 中的 SSL 连接器配置的)可以保存客户端证书的证书链的根,而不是证书本身。也就是说,创建证书时,它由 CA - 证书颁发机构签名。如果 CA 证书受信任,则 CA 签发的所有证书也受信任。
您可以使用 key 工具(在 jdk/bin/
中)或 openssl 创建证书.有用于此的 GUI,例如 portecle .
The tomcat ssl tutorial可能会有帮助。
关于基于 Java 证书的身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2759911/