我继承了一些代码,不知道它正在尝试做什么(我评论了我认为它在做什么),原来的编码员多年前就离开了我的组织......我希望这里的伟大社区能够至少指出我的意思关于这段代码可能尝试做什么的一些方向,以及我可以在哪里开始寻找解决方案...
Java代码
//Read java.security file from JDK and create a Security provider from it
PropertyFileReader reader = new PropertyFileReader();
Security.addProvider(new IBMJSSEProvider());
Security.setProperty("ssl.SocketFactory.provider",
"com.ibm.jsse2.SSLSocketFactoryImpl");
System.getProperties().putAll(
reader.readProperties("security.properties"));
//Set some authentication stuff
Authenticator.setDefault(new PasswordAuthentication("User", "Password"));
// get url to servlet (note, actual application has valid url)
url = new URL("Connection URL");
// Set out HTTP URL connection
httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.setRequestProperty("Authorization", "Basic ");
httpURLConnection.setDoInput(true);
httpURLConnection.setDoOutput(true);
httpURLConnection.setUseCaches(false);
httpURLConnection.setDefaultUseCaches(false);
httpURLConnection.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded");
httpURLConnection.setRequestMethod("POST");
//EXCEPTION IS THROWN HERE!
DataOutputStream outputStream = new DataOutputStream(
httpURLConnection.getOutputStream());
堆栈跟踪
javax.net.ssl.SSLKeyException: RSA premaster secret error
at com.ibm.jsse2.fb.<init>(fb.java:38)
at com.ibm.jsse2.hb.a(hb.java:200)
at com.ibm.jsse2.hb.a(hb.java:70)
at com.ibm.jsse2.gb.n(gb.java:223)
at com.ibm.jsse2.gb.a(gb.java:170)
at com.ibm.jsse2.sc.a(sc.java:595)
at com.ibm.jsse2.sc.g(sc.java:284)
at com.ibm.jsse2.sc.a(sc.java:200)
at com.ibm.jsse2.sc.startHandshake(sc.java:205)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:434)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsU RLConnection.java:166)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1014)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.jav a:230)
谢谢!
答案 0 :(得分:1)
今天我的网络应用程序遇到了类似的问题。系统管理员工作人员在不问任何人的情况下更新了Java版本。经过几个小时的搜索,我发现了一些有用 如果您仍然感兴趣,请点击链接: https://community.oracle.com/thread/1533888
解决方案:只需从服务器类路径中删除更新的java版本,然后尝试安装旧的Java版本。
Stackoverflow中的类似问题: SSL IOExceptionjavax.net.ssl.SSLKeyException: RSA premaster secret error