2017-03-29 46 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