2023년 버전의 한국 전자 인증에서 갱신 한 jks 형식의 공인 인증서를 설치 하면서 다음과 같은 오류가 발생하였습니다.
기존에는 인증서 교체후 재실행하면 특이 사항 없이 갱신할 수 있었는데 이번에는 오류가 발생하여 원인을 확인해 보았습니다.
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: No trusted certificate found
원인
오류의 원인은 2022년 에는 DigiCert 사의 G1 인증서를 root 인증서로 사용하고 있었는데, 2023년 부터 G2 인증서로 교체 되어 root 인증서가 달라진 것이었습니다.
저희 작업은 하둡 마스터 노드와 워커 노드의 인증서 중 워커 노도의 인증서를 교체후 마스터 노드의 인증서를 교체 하는 것이었는데 워커 노드의 인증서를 G2 인증서로 교체 하여 실행하면 마스터 노드의 인정서는 G1 인증서여서 워커 노드에서 마스터 노드의 인증서를 검증하지 못해서 오류가 발생하고 있었습니다.
해결 방법
모든 노드를 내렸다가 다시 올리면서 처리할 수 있지만, 동시에 모든 노드를 내릴 수는 없기 때문에 워커의 G2 인증서에 G1 인증서의 root 정보를 추가하여 문제를 해결할 수 있었습니다.
DigiCert 사의 홈페이지에서 버전별 공인 인증서를 확인 할 수 있습니다.
https://www.digicert.com/kb/digicert-root-certificates.htm
다음 명령으로 인증서에 루트 인증서를 추가할 수 있습니다.
keytool -importcert -keystore 인증서명 -file DigiCertGlobalRootCA_G1.crt.pem -alias digicertg1
신규 인증서에 기존 인증서의 root 정보를 digicertg1 이라는 별칭으로 추가하면 원인을 해결 할 수 있습니다.
반응형
'개념' 카테고리의 다른 글
[java] sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 오류가 발생할 때 인증서 추가 하는 방법 (0) | 2024.11.02 |
---|---|
[SSL] SSL Renegotiate denied 오류 (0) | 2021.01.28 |
[개념] IPv4와 IPv6 (0) | 2019.10.31 |
[개념] 머신러닝과 데이터마이닝 (0) | 2019.09.24 |
[개념] 유니코드 인코딩 UTF와 BOM (0) | 2019.09.17 |