使用自签名证书连接到服务器

时间:2017-07-11 11:49:58

标签: java ssl

我们的系统正在尝试安全地连接到客户端的UAT服务器;他们向我发送了他们的系统证书,中间证书和根证书。他们的根证书是自签名的。

我在Java信任库中尝试了以下配置:

  1. 使用“trustcacerts”选项
  2. 将所有3个证书添加到信任库
  3. 使用“trustcacerts”选项
  4. 将中间件和root添加到信任库
  5. 将根证书添加到/ lib / security中的cacerts文件中 使用trustcacerts选项,然后添加服务器和中间件 使用“trustcacerts”选项的信任库证书
  6. 尝试连接时收到以下异常:

    javax.net.ssl.SSLHandshakeException: 
      sun.secuvalidator.ValidatorException: PKIX path building failed:
      sun.security.providetpath.SunCertPathBuilderException: 
        unable to find valid certification path to requested target
    

    当我只将根证书添加到信任库时,我收到以下错误:

    No issuer certificate for certificate in certification path found.
    

    另外,我已经检查了证书,他们似乎排成了证书链。

    有谁知道我错过了什么或者没有想过?

1 个答案:

答案 0 :(得分:0)

想出来。您必须在jre / lib / security中的cacerts文件中包含Root和Intermediate证书。