我正在测试一个简单的方法,该方法适用于使用HTTP协议的图像,但仅适用于eclipse中的HTTPS图像。我在其他IDE中测试过,例如DrJava和jCreator,但它们在它们中运行良好。方法如下。
如果调用如下,则抛出异常
boolean verify = verifyImage("https://www.eff.org/files/HTTPS_Everywhere_new_logo.jpg");
System.out.println("Verify result is : " + verify);
例外情况如下。
javax.net.ssl.SSLKeyException: RSA premaster secret error
java.security.NoSuchAlgorithmException: SunTlsRsaPremasterSecret KeyGenerator not available
方法如下
public static boolean verifyImage(String src)
{
HttpURLConnection urlConnection = null;
try {
URL url = new URL(src);
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("HEAD");
urlConnection.connect();
if (urlConnection.getResponseCode() == HttpURLConnection.HTTP_OK) {
return true;
} else {
return false;
}
} catch (Exception e) {
System.out.println("Exception");
return false;
}
}
我们非常感谢您解决此问题的任何帮助。
P.S:我尝试使用javax.net.ssl.HttpsURLConnection导致相同的异常。
答案 0 :(得分:1)
这可能与SunTlsRsaPremasterSecret KeyGenerator not available的原因相同。
尝试从Eclipse中删除所有已安装的JRE并重新绑定它们。