基于Java证书的身份验证

时间:2010-05-03 17:29:06

标签: java ssl ssl-certificate

我有一个节俭端点,有人创建了不再与我们公司合作的人。他们通过客户端证书实现了身份验证,但我很难理解它是如何工作的。有没有人知道关于这个主题的教程或指南。

我真正拥有的是一个示例客户端类。以下列出了我需要帮助的事项:

  1. 服务器证书和客户端证书都可以包含在同一个信任存储中
  2. 如何创建新的客户端证书?
  3. 如何将该客户端证书添加到服务器信任库?
  4. 您是否需要设置客户端信任库,并设置java信任(假设服务器是自签名端点)
  5. 以下错误是什么意思?

    错误[com.cada.CadaDaoTest] [main] - 错误: org.apache.thrift.transport.TTransportException:javax.net.ssl.SSLHandshakeException:收到致命警报:bad_certificate

1 个答案:

答案 0 :(得分:1)

信任库(在Tomcat上为server.xml中的SSL连接器配置)可以保存客户端证书的证书链的根,而不是证书本身。也就是说,在创建证书时,它由CA - 证书颁发机构签名。如果CA证书是可信的,则CA所签署的所有证书也是可信的。

您可以使用keytool(jdk/bin/)或openssl创建证书。有这样的GUI,如portecle

The tomcat ssl tutorial可能会有所帮助。