对于初学者,我为 https 配置了我的 Tomcat8,并在连接器 xml 文件中链接了有效的证书。
像这样的东西:
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
SSLEnabled="true" maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" enableLookups="false" keyAlias="https"
keystoreFile="C:\Program Files\Apache Software Foundation\Tomcat 8.0\conf\keystore.jks"
keystorePass="changeit"/>
但我需要我的网络应用程序作为客户端连接到具有有效证书的第三方数据提供商。我把这个额外的证书放在哪里?当我为连接器放入密钥库时,“https”证书不是第一个证书,它会破坏东西。我可能可以用keyAlias
连接器中的属性来解决这个问题......
但是...连接器密钥库的应用范围是否广泛?这种设置的最佳选择是什么?
这篇文章几乎总结了我的选择,选择哪一个?最好的选择似乎是将带有两个证书的密钥库传递给 JVM,但是如何告诉连接器使用哪个证书?
编辑:
现在我得到:
Wrapped 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
Cause: sun.security.validator.ValidatorException: PKIX path building
failed: sun.security.provider.certpath.SunCertPathBuilderException:
unable to find valid certification path to requested target]