Java WildFly 11-使用证书发出https请求

Java WildFly 11-使用证书发出https请求,java,certificate,wildfly,jsse,wildfly-11,Java,Certificate,Wildfly,Jsse,Wildfly 11,我对如何在WidlFly 11中使用证书有点迷茫。我在文档中找到了许多术语,如JSSE、OpenSSL、Elytron、ApplicationRealm。 问题发生在我执行代码时 final URL url = new URL("https://someUrl"); HttpsURLConnection httpURLConnection = (HttpsURLConnection)url.openConnection(); 引发此异常sun.security.validator.valida

我对如何在WidlFly 11中使用证书有点迷茫。我在文档中找到了许多术语,如JSSE、OpenSSL、Elytron、ApplicationRealm。 问题发生在我执行代码时

final URL url = new URL("https://someUrl");
HttpsURLConnection httpURLConnection = (HttpsURLConnection)url.openConnection();
引发此异常
sun.security.validator.validator异常:PKIX路径生成失败:sun.security.provider.certpath.SunCertPathBuilderException:找不到请求目标的有效证书路径

那么,到底需要配置什么?我在中尝试了“为应用程序启用单向SSL/TLS”一节,但没有成功

附言:我正在使用Java9.01 ps2:我使用的是standalone-full.xml


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

证书不受信任,iirc在WildFly 11中有一个自签名证书,因此您需要信任它或安装真正的证书。

该证书不受信任,iirc在WildFly 11中有一个自签名证书,因此您需要信任它或安装一个真正的证书。

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

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

    keytool -import -file myCA.cert -alias myCA -storepass mypassword -noprompt -keystore my.truststore
    
  • 通过设置
    javax.net.ssl.truststore
    javax.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文档仅与服务器端相关-但这是客户端配置,目前未由其处理。

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

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

    keytool -import -file myCA.cert -alias myCA -storepass mypassword -noprompt -keystore my.truststore
    
  • 通过设置
    javax.net.ssl.truststore
    javax.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文档只与服务器端相关,但这是客户端配置,它目前没有处理