如何访问“禁用MD2withRSA”的https网站

时间:2012-01-12 12:08:45

标签: java exception ssl https ssl-certificate

我收到以下异常消息:javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: algorithm check failed: MD2withRSA is disabled

据我所知,从java 6开始,我们禁用了对MD2withRSA的支持。不幸的是,我正在尝试连接到使用过时软件的网站,我没有权力更新它。我不打算收回我的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 个答案:

答案 0 :(得分:4)

我已将我的java版本更新为Java 6 Update 30,并且我不再获得异常。

blog表示此问题已在Update 21中修复。

根据我一直在阅读的帖子,这个问题会影响Java 1.6更新17到20