WildFly 11-使用证书发出HTTPS请求证书、WildFly、HTTPS

2023-09-04 01:26:05 作者:暖心向阳

我有点不知道如何在WidlFly 11中使用证书。我在文档中找到了很多术语,如JSSE、OpenSSL、Elytron、ApplicationRealm。 执行代码时出现问题

final URL url = new URL("https://someUrl");
HttpsURLConnection httpURLConnection = (HttpsURLConnection)url.openConnection();

此异常引发sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

那么,到底需要配置什么呢?我尝试了Elytron Doccumentation中的"为应用程序启用单向SSL/TLS"一节,但不起作用。

PS:我使用的是Java 9.01 PS2:我使用的是stand-full.xml

.Advanced.Java.EE.Development.with.WildFly.1783288906

如果您需要更多信息,请告诉我

推荐答案

这与WildFly无关-您需要配置受Java URL连接信任的证书-您需要创建和配置信任库:

创建包含服务器证书的密钥库(如果是自签名证书),或者更好的是其CA的证书:

keytool -import -file myCA.cert -alias myCA -storepass mypassword -noprompt -keystore my.truststore

通过设置javax.net.ssl.trustStorejavax.net.ssl.trustStorePassword系统属性开始使用创建的密钥库文件作为WildFly中的信任存储库:

bin/jboss-cli.sh -c
/system-property=javax.net.ssl.trustStore:add(value="/path/to/my.truststore")
/system-property=javax.net.ssl.trustStorePassword:add(value="mypassword")

您提到的Elytron文档仅与服务器端相关,但这是客户端配置,当前不由其处理。