内部CA的PKIX路径构建

时间:2014-08-29 21:19:59

标签: tomcat ssl https jira

我正在尝试在Tomcat中正确连接几个应用程序,但我得到以下内容。

Invalid response from getting the pageId: javax.net.ssl.SSLHandshakeException: 
sun.security.validator.ValidatorException: PKIX path building failed: 
    sun.security.provider.certpath.SunCertPathBuilderException: 
    unable to find valid certification path to requested target

我过去使用内部CA处理过这个问题。

我当前的server.xml如下所示:

  <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
             ....
             keystoreFile="/jira-home/jira.example.org.p12"
             keystorePass="xxx"
             keystoreType="pkcs12"
             keyAlias="jira.example.org"
             truststoreFile="/jira-home/jira.example.org.p12"
             truststoreType="pkcs12"
             truststorePass="xxx"
             />

我还验证了Java可执行文件的命令行参数没有覆盖keystore / truststore值。

据我所知,我的p12文件看起来也不错。

Bag Attributes
    localKeyID: 47 96 87 64 A2 A0 66 C3 B7 3C 09 53 BD 22 ED 50 37 DE 62 B7
    friendlyName: jira.example.org
subject=/C=US/ST=Kansas/L=Kansas City/O=CFCA/OU=IS/CN=jira.example.org
issuer=/DC=org/DC=example/CN=example-CA2-CA
-----BEGIN CERTIFICATE-----
MIIF1TCCBL2gAwIBAgIKEOfX4AAAAAAB5zANBgkqhkiG9w0BAQUFADBHMRMwEQYK
k8ThWdXWScM8
-----END CERTIFICATE-----
Bag Attributes: <No Attributes>
subject=/CN=CA2.example.org
issuer=/DC=org/DC=example/CN=example-CA2-CA
-----BEGIN CERTIFICATE-----
MIIE0jCCA7qgAwIBAgIKYQCskwAAAAAIFTANBgkqhkiG9w0BAQUFADBHMRMwEQYK
motn49ZLI61VXW4KrM2ZCgSOu1O5DMqLnd4DZCgHxvYwckemqDo=
-----END CERTIFICATE-----
Bag Attributes: <No Attributes>
subject=/CN=OFFLINECA2-CA
issuer=/CN=OFFLINECA2-CA
-----BEGIN CERTIFICATE-----
MIIDMjCCAhqgAwIBAgIQIvkuOz6aNL5K+7XhjbwOMDANBgkqhkiG9w0BAQUFADAY
MF2ktx6a
-----END CERTIFICATE-----
Bag Attributes
    localKeyID: 47 96 87 64 A2 A0 66 C3 B7 3C 09 53 BD 22 ED 50 37 DE 62 B7
    friendlyName: jira.example.org
Key Attributes: <No Attributes>
-----BEGIN PRIVATE KEY-----
xxxxxxxxxxxxxxxxxxxxxx
-----END PRIVATE KEY-----

我正在连接的所有其他应用程序服务器也来自同一个中间CA和根CA.

1 个答案:

答案 0 :(得分:0)

链条对我来说不合适。但这可能是因为我不熟悉输出。

图片来自Peter Gutmann的Engineering Security。这是我期望看到的。

enter image description here


这就是我所看到的。

服务器

subject=/C=US/ST=Kansas/L=Kansas City/O=CFCA/OU=IS/CN=jira.example.org
issuer=/DC=org/DC=example/CN=example-CA2-CA

因此链中的下一个需要example-CA2-CA的主题。

中间体

subject=/CN=CA2.example.org
issuer=/DC=org/DC=example/CN=example-CA2-CA

嗯......主题CN=example-CA2-CA发生了什么?

为什么发行人CN=example-CA2-CA?发行人不应该是CN=OFFLINECA2-CA吗?

私人CA

subject=/CN=OFFLINECA2-CA
issuer=/CN=OFFLINECA2-CA

从10,000英尺处看起来对我不错。