本文介紹了WildFly 11-使用證書發出HTTPS請求的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我有點不知道如何在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
如果您需要更多信息,請告訴我
推薦答案
這與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 11-使用證書發出HTTPS請求的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,