PKIX ERROR 발생 이유

2024. 2. 23. 12:28·Linux
728x90

2023년 03월 08일부로 인증서 세대 교체로 인해서 기존 RootCA/Chain 방식이 변경되었다.
이 변경된 인증서는 G5로 Java1.8(Oracle)에서는 지원이 된다고 한다.
하지만 대부분이 OpenJDK를 사용하고 있다고 생각하기 때문에 작성한다.

추후에도 이러한 업데이트가 이뤄질텐데 인증서롤 교체할 땐 꼭 변경된 사항이 없는지 체크하는게 좋다.
[참고] DigiCert G5 Root and Intermediate CA Certificate Update

인증서 교체 방법

JAVA의 인증서 저장소에 Root 인증서 추가하는 방법입니다.
$JAVA_Home/jre/lib/security 폴더의 cacerts 이름의 keystore 파일이 “신뢰할 수 있는 루트인증서 저장소” 역할을 합니다.
(별도의 truststore 를 운영하시는 경우, cacerts 파일 대신에 해당 truststore 파일명을 명령어에 기재하시면 됩니다.)

  1. $JAVA_Home/jre/lib/security 폴더의 cacerts 파일을 $JAVA_HOME/jdk/bin 폴더로 이동합니다.
    ($JAVA_HOME에 jdk 폴더가 없다면, $JAVA_HOME/jre/bin 폴더 등 keytool.exe 파일이 있는 폴더로 이동하시면 됩니다.)

  2. 첨부된 파일을 아래의 명령어를 이용하여 cacerts 에 import 합니다.
    인증서 삽입: keytool -import -trustcacerts -alias DigiCertGlobalRootG2 -file Root.crt -keystore cacerts -storepass changeit
    인증서 삽입: keytool -import -trustcacerts -alias ThawteTLSRSACAG1 -file Chain.crt -keystore cacerts -storepass changeit
    인증서 확인: keytool -keystore /usr/java1.8/jre/lib/security/cacerts -storepass changeit -list -v | grep -i DigiCertglobalrootg2

    ※ changeit 은 cacerts 의 기본 패스워드입니다.
    ※ alias가 이미 있다고 나온다면, alias 명을 변경해서 등록하시면 됩니다.
  1. import 완료된 cacerts 파일을 다시 $JAVA_HOME/jre/lib/security 폴더로 이동합니다.
  2. 서비스 재시작 후 확인합니다.

 

인증서 cacerts 적용 방식

여기서 궁금했던건 인증서 저장소에 넣었을 때 바로 적용이 될까? 였다.
인증서에 대한 RootCA를 넣었을 때 사용할때마다 쓰는 줄 알았으나 JVM이 시작되면서 Cacerts파일을 메모리에 가지고 올라가기 때문에 서비스를 재시작해줘야 한다.

728x90

'Linux' 카테고리의 다른 글

[Nginx] 여러개 location 설정하는 방법  (2) 2024.03.06
리눅스 계정 만료 명령어  (0) 2024.03.06
SSL 인증서 에러(No subject alternative DNS name matching)  (0) 2024.02.22
[테라폼] 리소스 구성 및 속성 참조  (0) 2024.02.16
프로메테우스(Prometheus), 그라파나(Grafana)를 Docker Compose로 설치하기  (0) 2024.02.08
'Linux' 카테고리의 다른 글
  • [Nginx] 여러개 location 설정하는 방법
  • 리눅스 계정 만료 명령어
  • SSL 인증서 에러(No subject alternative DNS name matching)
  • [테라폼] 리소스 구성 및 속성 참조
정주원
정주원
개인블로그
  • 정주원
    Joon.eng
    정주원
  • 전체
    오늘
    어제
    • 분류 전체보기 (77)
      • Linux (41)
      • Windows (0)
      • Network (4)
      • Database (0)
      • Cloud (23)
      • Docker (3)
      • Ansible (2)
      • Etc (4)
  • 블로그 메뉴

    • 링크

      • GITLAB(woni)
    • 공지사항

    • 인기 글

    • hELLO· Designed By정상우.v4.10.0
    정주원
    PKIX ERROR 발생 이유
    상단으로

    티스토리툴바