2017-03-29 45 views
0

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

-k,--insecure允许不证书(H)到SSL站点的连接

例如使用curl我们可以这样做:

# curl -vk --data "appip=adsfa123&[email protected]&password=adfas1123" https://app.sample-jelastic-server.com/1.0/users/authentication/cross/signin 

我的问题是,我的web应用程序不能在容器内从访问与HTTPS站点(或从服务器)。

这是引发此错误:

at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131) at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)

有了这个,我想如果我们可以配置web.xml中允许在没有证书,以SSL站点连接那么就应该解决这个问题。

+0

什么是实际的错误?你只显示了调用堆栈。例外情况在上面的行中,这是堆栈跟踪中最重要的部分。 – Andreas

+0

不知道你正在使用哪个库,因此请尝试网页搜索['java ignore ssl errors'](https://www.google.com/search?q=java+ignore+ssl+errors&ie=utf-8&oe = utf-8) – Andreas

+0

@xybrek您的问题标题有误导性:没有证书的SSL是不可能的。可能你想忽略证书验证。这在卷曲文档中有很好的解释:-k,--insecure (TLS)默认情况下,每个SSL连接卷曲都会被验证为安全的。此选项允许curl继续并运行,即使服务器连接被认为是不安全的。 服务器连接通过确保服务器的证书包含正确的名称并使用cert store成功验证来验证。 – zloster

回答

0

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

JAVA_OPTS="$JAVA_OPTS -Djavax.net.ssl.trustStore=/<Path>/conf/xyz.keystore -Djavax.net.ssl.trustStorePassword=password"

xyz.keystore,添加应用程序的您试图调用证书。系统密钥库由野蝇自动添加。

您可以调试SSL请求和响应,你可以添加其他配置到wildfly启动-Djavax.net.debug=all更上here