gpt4 book ai didi

java - 使用 .pfx 证书从 Apache Tomcat 8 调用 RESTFul API

转载 作者:行者123 更新时间:2023-11-28 22:17:02 25 4
gpt4 key购买 nike

我需要有关在 tomcat 8 上安装 .pfx 证书的帮助。

我已经通过创建 jks 在 jvm 上安装了 .pfx 证书。我已经在cacert中添加了证书

keytool -import -alias 192.168.56.100 -keystore "C:\Program Files\Java\jdk1.8.0_91\jre\lib\security\cacerts"-trustcacerts -file C:\EBCM_Client_TEST.pfx

我已经在 tomcat 8 上部署了服务器 war,并且在端口 8444 上配置了连接器:

当我尝试从服务器调用 HTTPS API 到其他服务器时,在日志中收到此错误:

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

我已经配置了一个tomcat安装的server.xml

<Connector port="8444" 
maxHttpHeaderSize="8192"
maxThreads="150"
minSpareThreads="25"
maxSpareThreads="75"
enableLookups="false"
disableUploadTimeout="true"
acceptCount="100"
scheme="https"
secure="true"
SSLEnabled="true"
clientAuth="true"
sslProtocol="SSL/TLS"
keystoreFile="C:/EBCM_Client_TEST.pfx" keystorePass="allianzebcm" keystoreType="PKCS12"/>

在 java 中,用于创建我正在使用的自定义 SSL 上下文

System.setProperty("javax.net.debug", "all");
System.setProperty("javax.net.ssl.trustStore", "C:/clientcert.jk");
System.setProperty("javax.net.ssl.trustStorePassword", "allianzebcm");
System.setProperty("javax.net.ssl.trustStoreType", "JKS");

//my certificate and password
System.setProperty("javax.net.ssl.keyStore", "C:/EBCM_Client_TEST.pfx");
System.setProperty("javax.net.ssl.keyStorePassword", "allianzebcm");
System.setProperty("javax.net.ssl.keyStoreType", "PKCS12");

你知道如何在tomcat上配置证书pfx用于HTTPS客户端认证吗?

谢谢

最佳答案

问题出在server.xml的Connector上的端口

错误配置

<Connector  port="8444" 

正确的配置

<Connector  port="8443" 

现在我可以使用 pfx 证书调用 REST API。谢谢

关于java - 使用 .pfx 证书从 Apache Tomcat 8 调用 RESTFul API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43042804/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com