Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Wildfly-允许在没有证书的情况下连接到SSL站点_Java_Ssl_Wildfly - Fatal编程技术网

Java Wildfly-允许在没有证书的情况下连接到SSL站点

Java Wildfly-允许在没有证书的情况下连接到SSL站点,java,ssl,wildfly,Java,Ssl,Wildfly,有没有一种方法可以让web应用程序通过web.xml进行配置,以允许使用类似于curl的-k选项的证书连接到SSL站点 -k、 -不安全允许在没有证书的情况下连接到SSL站点 e、 g.使用curl,我们可以做到: # curl -vk --data "appip=adsfa123&login=testt@jelastic.com&password=adfas1123" https://app.sample-jelastic-server.com/1.0/users/authen

有没有一种方法可以让web应用程序通过web.xml进行配置,以允许使用类似于curl的-k选项的证书连接到SSL站点

-k、 -不安全允许在没有证书的情况下连接到SSL站点

e、 g.使用curl,我们可以做到:

# curl -vk --data "appip=adsfa123&login=testt@jelastic.com&password=adfas1123" https://app.sample-jelastic-server.com/1.0/users/authentication/cross/signin
我的问题是,我的web应用程序无法从容器内或服务器访问带有HTTPS的站点

它将抛出以下错误:

在 io.undertow.server.handlers.PredicateHandler.HandlerRequestPredicateHandler.java:43 在 io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequestSSLInformationAssociationHandler.java:131 在 io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.HandlerRequestServletAuthenticationCallHandler.java:57


有了这个,我认为如果我们可以配置web.xml以允许在没有证书的情况下连接到SSL站点,那么应该可以解决这个问题

您需要在standalone.conf文件中添加以下内容

JAVA_OPTS=$JAVA_OPTS-Djavax.net.ssl.trustStore=//conf/xyz.keystore-Djavax.net.ssl.trustStorePassword=password

在xyz.keystore中,添加您尝试调用的应用程序的证书。wildfly会自动添加系统密钥库


您可以调试ssl请求和响应,您可以向wildfly启动添加另一个配置-Djavax.net.debug=all more on it

实际错误是什么?您只显示了调用堆栈。例外情况就在上面的一行,这是stacktrace最重要的部分。不知道您正在使用哪些库,所以请尝试web搜索@xybrek。您的问题标题有误导性:没有证书的SSL是不可能的。您可能希望忽略证书验证。在curl文档中有很好的解释:-k,-不安全的TLS默认情况下,curl建立的每个SSL连接都被验证为安全的。此选项允许curl继续运行,即使对于其他被认为不安全的服务器连接也是如此。要验证服务器连接,请确保服务器的证书包含正确的名称,并使用证书存储成功进行验证。如果应用程序在证书验证方面存在问题,而调用外部服务时无法从部分堆栈跟踪中看到这些问题,则必须执行以下操作之一:1配置证书密钥库,并在应用程序启动时将其添加到应用程序中。密钥库的内容应该是您正在调用的服务的证书及其相关的中间级和根级证书;2重写正在进行SSL连接的客户端代码,并告诉它不要进行证书验证。第二种方法适用于测试/暂存系统,但不适用于生产。@xybrek可能会涵盖您的情况?