티스토리 뷰

자바 Https 어플리케이션 통신 (SSL)


http 일 경우는 비교적 쉽게 자바로 http 통신을 할 수 있으나

https인 경우는 http와 비슷하나 아래 처럼 추가적으로 코딩을 더 해줘야 한다.


String sUrl="http://aa/update.do?emp=aa";


TrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager(){

@Override

public X509Certificate[] getAcceptedIssuers(){

return null;

}

@Override

public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException{

}

@Override

public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException{

}

}};


try{

SSLContext sc=SSLContext.getInstance("SSL");

sc.init(null, trustAllCerts, new java.security.SecureRandom());

HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());

}catch(Exception e){

}


HostnameVerifier hv=new HostnameVerifier(){

@Override

public boolean verify(String urlHostname, SSLSesstion session){

return true;

}

};


URL targetURL=new URL(sURL+para);

URLConnection urlConn = targetURL.openConnection();

HttpsURLConnection conn=(HttpsURLConnection) urlConn;


conn.setDoInput(true);

conn.setDoOutput(true);

conn.setUseCaches(false);

conn.setHostnameVerifier(hv);


DataOutputStream out=null;

InputStream is=null;

BufferedReader br=null;

try{

out=new DataOutputStream(conn.getOutputStream());

out.flush();

is=conn.getInputStream();

br=new BufferedReader(new InputStreamReader(is));

String inputLine;

String result="";

while((inputLine=br.readLine())!=null){

inputLine=inputLine.trim();

result=inputLine;

}

}catch(Exception e){

}

'자바(Java)' 카테고리의 다른 글

자바 프로세스 실행  (0) 2018.11.07
자바 패스 및 파일 경로에서 파일명만 가져오기  (0) 2018.11.07
자바메일(javamail) 관련  (0) 2018.10.23
자바 메일 mdn  (0) 2018.10.23
[자바] 메일 보내기 imap  (0) 2018.10.23
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함