我有一個Javafx應用程序,它通過HTTPS將GET和POST請求發送到安全的Web服務。承載Web服務的服務器上的SSL設置是單向ssl,即Javafx應用程序驗證服務器的身份,但服務器不驗證胖客戶端的身份。如何從JavaFX應用程序連接到HTTPS URL
應用程序服務器位於具有證書(由外部授權機構簽名)的F5後面。
對於瀏覽器來說,這不會是一個問題,因爲瀏覽器本身處理驗證服務器的身份並向用戶顯示相關的警告。但對於胖客戶端,我不確定如何在發送請求之前驗證服務器的身份。請讓我知道如何在Javafx應用程序中處理這個問題。
我的確詢問過有關此早期here和here的問題,但這些都沒有幫助。所以,請原諒我對這個主題的有限知識。
任何幫助,將不勝感激。
如果已知的(你的Java版本),CA和_valid_頒發服務器證書(它包括各個方面:PKIX鏈,日期不前 - 沒有,CN,擴展等),一切都應該工作,沒有任何額外的代碼。簡單的HttpsUrlConnection將完成這項工作。 – user1516873
而HttpsUrl連接將檢查所有內容,因此無法通過https協議連接到具有無效證書的網站。事實上,如果您擁有帶有舊根CA證書的舊Java版本,則甚至不能使用有效證書連接到站點,而是使用新CA頒發,因爲java內部密鑰庫中沒有它。 – user1516873
如果你想了解更多關於ssl/https以及它是如何工作的,我推薦這篇文章http://www.zytrax.com/tech/survival/ssl.html – user1516873