안녕하세요.
구글링하다가 정답을 못찾아서 질문드립니다.
JDK 1.4 에서 1.7로 업그레이드하여 프로그램 테스트 중, SSL쪽 connection 연결시 오류가 나네요..
1.4에서는 잘 돌던 소스였고, 1.7 컴파일 했습니다.
구글링 해보니 JDK 업그레이드 관련 SSLv2 오류인것 같은데 혹시 해결책 아시는분이 계실까요?
계속 찾아보고 있긴한데 쉽지가 않네요 ㅠ.ㅠ
javax.net.ssl.SSLException: Received fatal alert: unexpected_message
at sun.security.ssl.Alerts.getSSLException(Unknown Source)
at sun.security.ssl.Alerts.getSSLException(Unknown Source)
at sun.security.ssl.SSLSocketImpl.recvAlert(Unknown Source)
at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(Unknown Source)
아래는 connection 소스 입니다.
System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");
java.security.Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
URL url = new URL(null, strUrl, new sun.net.www.protocol.https.Handler());
HttpsURLConnection con = (HttpsURLConnection) url.openConnection();
con.setHostnameVerifier(new HostnameVerifier() {
public boolean verify(String hostname, SSLSession session) {
return true;
}
});
Authenticator.setDefault(new Authenticator() {
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("H", "test123".toCharArray());
}
});
con.setRequestProperty("Content-Type", "text/xml; charset=euc-kr");
con.setUseCaches(false);
con.setDoOutput(true);
con.connect();