2012-01-12 28 views
2

我得到以下異常消息:javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: algorithm check failed: MD2withRSA is disabled如何訪問HTTPS網站,「MD2withRSA禁用」遇到

我明白,作爲Java 6的版本爲MD2withRSA 17支持被禁用。不幸的是,我試圖連接到一個正在使用過時軟件的網站,但我沒有更新它的權力。我不打算取回我的java版本(目前是java 6 rel 20),因爲我不希望項目受限於此。

這意味着我需要繞過這個問題的客戶端。我用的是我已經具備了一些代碼,但我認爲它是一箇舊版本的Java寫的:

HttpsURLConnection huc = (HttpsURLConnection) new URL(URL + URL_LOGIN).openConnection(); 
huc.setDoOutput(true); 
huc.setRequestMethod("POST"); 
huc.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); 

OutputStream os = huc.getOutputStream(); // exception is thrown here 

os.write(("password=" + webSitePassword + "&submit:login=Login&username=" + webSiteUsername).getBytes("UTF-8")); 
os.flush(); 
os.close(); 
huc.connect(); 

任何人都可以提供我周圍的工作不涉及收回我的Java版本或更新服務器?

+1

它看起來像這可能是固定的影響的Java 1.6更新17版本21 http://blog.techstacks.com/2010/07/javas-recent-ssl-problems.html – Edd 2012-01-12 12:20:55

回答

4

我已將Java版本更新爲Java 6 Update 30,並且不再發生異常。

blog表明,這一問題已修復更新21

基於我一直在閱讀這個問題的帖子通過對20