Notice
Recent Posts
Recent Comments
Link
나만의공간
SSL 인증서 없이 https 통신하는 법 예제 본문
SSL 인증서 없이 https 통신하는 법 예제
Server SIde 방식으로 https를 연결할려면 기본적으로 인증서가 필요한것으로 나오고 있다.
인증서 없이 https를 구현 할려면 아래와 같이 하면 가능하다.
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.security.cert.X509Certificate;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
public class GsHttpsClient {
public static void main(String[] args) {
String urlStr = "https://www.google.com";
StringBuffer sb = new StringBuffer();
try {
TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
public void checkClientTrusted(X509Certificate[] certs,
String authType) {
}
public void checkServerTrusted(X509Certificate[] certs,
String authType) {
}
} };
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection
.setDefaultSSLSocketFactory(sc.getSocketFactory());
URL url = new URL(urlStr);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
InputStreamReader in = new InputStreamReader(
(InputStream) conn.getContent());
BufferedReader br = new BufferedReader(in);
String line;
while ((line = br.readLine()) != null) {
sb.append(line).append("\n");
}
System.out.println(sb.toString());
br.close();
in.close();
conn.disconnect();
} catch (Exception e) {
System.out.println(e.toString());
}
}
}
'IT > JAVA' 카테고리의 다른 글
| DTO/Domain 속성을 Json변환시 JsonProperty를 이용하여 불필요한 도메인 제외 (1) | 2017.03.02 |
|---|---|
| 시스템 시작 종료시간 체크 (0) | 2017.03.02 |
| Eclipse에서 Maven Project 생성 시 maven-resources-plugin:2.6 오류 해결 방법 (1) | 2016.05.13 |
| JAVA에서 Unique한 키값 얻어 오기 (0) | 2015.06.25 |
| jsoup을 활용한 html parser (0) | 2014.06.11 |
Comments
