OpenJDK 1.8을 사용할 경우 HTTPS(SSL) 접속 시 신뢰할 수 있는 공개키인 Trust Anchors(트러스트 앵커) 매개 변수가 비어 있어서 오류가 발생합니다.
javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
그 이유 OpenJDK 1.8가 설치된 폴더에서 jre 폴더 > lib 폴더 > security 폴더로 이동해서 cacerts 파일을 확인해보면 파일 크기가 1KB로 Trust Anchors(트러스트 앵커)에 대한 정보가 없어 발생합니다.
cacerts 파일은 TrustStore로 Trust Anchors(트러스트 앵커)들이 저장되어 있는 파일입니다.
그래서 Eclipse 설치시 자동으로 설치된 Java에서 cacerts 파일을 복사해서 교체해 주면 됩니다.
cacerts 파일 교체하기
Eclipse 설치시 자동으로 설치된 Java 폴더의 위치는
- 메뉴에서 Windows > Preferences를 클릭합니다.
- Preferences 창에서 Java > Installed JREs를 선택합니다.
저는 Eclipse IDE 2022-12로 자동으로 설치된 Java 폴더의 위치는 C:\Users\{사용자계정}\.p2\pool\plugins\org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.5.v20221102-0933\jre 입니다.
설치된 OpenJDK 1.8 폴더의 위치는 C:\workspaces\openjdk\java-se-8u42-ri 입니다.
1. 파일 탐색기로 Java 폴더의 위치(C:\Users\{사용자계정}\.p2\pool\plugins\org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.5.v20221102-0933\jre)로 이동합니다. 그리고 lib 폴더 > security 폴더로 이동하여 cacerts 파일을 복사합니다.
2. 파일 탐색기로 OpenJDK 폴더의 위치(C:\workspaces\openjdk\java-se-8u42-ri)로 이동합니다. 그리고 jre 폴더 > lib 폴더 > security 폴더를 이동하여 cacerts 파일을 붙여넣기하여 교체하면 됩니다.