티스토리 뷰
JAVA - conn.getInputStream() Error - javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed
White Whale 2016. 2. 25. 18:20웹크롤와 같은 파싱프로그램이나 URL로 페이지에 접속하는
프로그램을 만들다 보면 연결이 안된다는 개 그지 같은 에러가 뜹니다.
단독직입적으로 말하면 인증서가 필요한 페이지에 접속할때 뜨는 에러입니다.
관공서나 특수 홈페이지들은 인증서를 가지고 있습니다.
그러면 어떻게 해결하느냐?? JAVA폴더에 그 인증서를 넣어주면 됩니다.
지금부터 인증서를 얻는 방법을 설명하겠습니다.
과거?에는 오라클에서 집적 인증서 얻는 코드를 배포하였으나 현재 페이지가 사라졌습니다. http://blogs.sun.com/andreas/resource/InstallCert.java
하지만 돌도 도는게 파일이죠 먼저 원본 배포 파일입니다.
=========InstallCert.java=========
미리 말씀드리면 이 코드는 인증서가 들어가야 하는 위치에 알아서 저장되는 코드입니다.
해당 위치는 C:\Program Files\Java\jdk1.8.0_65\jre\lib\security인데 몇몇 컴퓨터(Window)는 ProgramFile 폴더의 접속 권한이 걸려 있는 컴퓨터가 있습니다.
결론은 저거 권한 설정하는게 너무 귀찮아서
저는 해당 java파일이 있는 위치에 저장되게 해두었습니다.
=========InstallCert.java=========
위 파일중 자신에게 알맞는 코드를 다운받고 컴파일을 하면 jssecacerts 파일이 생성됩니다.
Prameter는 인증서가 들어가 있는 페이지의 URL인데 주소앞 https://은 빼고 넣습니다.
예로 들면 http://www.naver.com/ 대신 www.naver.com를 입력합니다.
정상적으로 동작하였다면 아래와 같은 내용이 나올겁니다.
여기서 위 인증서를 저장하실려면 1을 끝낼꺼면 q를 입력합니다.
앞에서 한번 말했듯이 제가 수정한 java파일을 가지고 하신분들은 생성된 jssecacerts 파일을 Java\jdk1.8.0_65\jre\lib\security에 넣어두셔야합니다.
추가적으로 복수의 페이지의 인증서를 저장하고 싶으시면 위 프로그램은 결과물은 추가(append)하도록 되어있어서 계속 계속 실행시키시면 됩니다.
코드로만 해결하기 with Android : http://twinw.tistory.com/43
'SoftWare > JAVA' 카테고리의 다른 글
JAVA 파일 입출력(1) - 생성, 삭제, 속성보기 (0) | 2016.05.06 |
---|---|
Java 입출력 - Scanner (0) | 2016.05.06 |
JAVA - HttpURLConnection+parameter, getHttpHTML, 크롤러(crawler) (0) | 2016.02.25 |
이클립스 java 프로젝트에 jar파일 가져오기 (0) | 2016.02.14 |
JAR파일 생성하기, Java Export하기 (0) | 2016.02.13 |
- Total
- Today
- Yesterday
- 파일 입출력
- vim
- LISTVIEW
- java
- 테라펀딩 #투게더펀딩 #P2P투자 #부동산 소액 투자 #카카오 #토스
- 서버
- 포켓몬 Go
- 포켓몬 고
- vim 설치
- 자바 입출력
- 알고리즘
- java url
- Res
- 안드로이드
- 파일입출력
- 인텐트
- counter
- 카운터
- jad
- 유전 알고리즘
- android
- 아두이노
- 유전
- Notification
- php
- java 파일 입출력
- Java Decompiler
- 5582
- Service
- c언어
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |