위의 명령어는 Jenkins(또는 Java 애플리케이션)가 특정 서버(git-pms.jgshin.co.kr)와 SSL/TLS 통신을 할 때, 신뢰할 수 있는 인증서를 Java Keystore(cacerts)에 추가하는 과정입니다.
🔹 기본적으로 Java는 자체 신뢰 저장소(cacerts)를 가지고 있으며, 여기에 없는 인증서를 사용하는 서버에 접근할 경우 SSL 오류가 발생할 수 있습니다.
🔹 이를 해결하기 위해 해당 서버의 인증서를 가져와(Java Keystore로 내보내기) Java의 신뢰 저장소에 추가하는 과정입니다.
1️⃣ InstallCert.java 다운로드
✅ InstallCert.java는 특정 서버의 인증서를 다운로드하고 Java Keystore(jssecacerts)에 저장하는 Java 프로그램입니다.
✅ 원하는 도메인(git-pms.jgshin.co.kr)의 인증서를 자동으로 수집할 수 있습니다.
2️⃣ Java 소스 코드 컴파일
✅ InstallCert.java 파일을 컴파일하여 실행 가능한 .class 파일로 변환합니다.
✅ Java Development Kit(JDK)가 필요합니다.
3️⃣ 특정 서버(git-pms.jgshin.co.kr) 인증서 가져오기
✅ InstallCert 프로그램을 실행하여 git-pms.jgshin.co.kr의 인증서를 가져옵니다.
✅ 인증서는 jssecacerts라는 새로운 Keystore 파일에 저장됩니다.
✅ 이후, Jenkins 또는 Java 기반 애플리케이션이 이 인증서를 신뢰할 수 있도록 설정해야 합니다.
4️⃣ 가져온 인증서를 파일로 내보내기
✅ jssecacerts에 저장된 인증서를 output.cert 파일로 내보냅니다.
✅ git-pms.jgshin.co.kr-1이라는 별칭(alias)으로 저장된 인증서를 추출합니다.
5️⃣ 기존의 LetsEncrypt 인증서 삭제
✅ 기존의 letsencrypt 인증서를 Java Keystore(cacerts)에서 제거합니다.
✅ cacerts는 Java가 기본적으로 신뢰하는 인증서 저장소입니다.
✅ 만약 기존의 LetsEncrypt 인증서가 만료되었거나 잘못된 경우, 새로운 인증서를 등록해야 하므로 삭제하는 것입니다.
6️⃣ 새로운 인증서를 Java Keystore(cacerts)에 추가
✅ 새로 가져온 output.cert 인증서를 Java Keystore(cacerts)에 추가합니다.
✅ alias letsencrypt라는 이름으로 저장되며, 이후 Jenkins 또는 Java 애플리케이션이 git-pms.jgshin.co.kr과 TLS 통신할 때 인증서 신뢰 문제 없이 사용할 수 있습니다.
📌 최종 정리
- InstallCert.java를 다운로드하여 특정 서버의 SSL 인증서를 가져옴.
- 가져온 인증서를 Java Keystore(jssecacerts)에 저장.
- Java의 기본 인증서 저장소(cacerts)에 기존 LetsEncrypt 인증서를 삭제 후 새로운 인증서(output.cert)를 추가.
- 최종적으로 Java 애플리케이션(Jenkins 포함)이 git-pms.jgshin.co.kr과의 SSL/TLS 통신을 신뢰할 수 있도록 설정.
✅ 이 작업을 수행한 후 Jenkins에서 git-pms.jgshin.co.kr과 SSL 인증 문제 없이 정상적으로 통신 가능합니다. 🚀
🛠 추가 명령어
1️⃣ Java Keystore의 현재 인증서 목록 확인
➡ 현재 cacerts에 저장된 인증서 목록을 확인할 수 있음.
2️⃣ 특정 인증서 상세 정보 확인
➡ letsencrypt라는 alias로 등록된 인증서의 상세 정보 출력.
'IT > 기타' 카테고리의 다른 글
SAN 스위치 주요 명령어 정리 (0) | 2025.02.17 |
---|---|
SAN 스위치 zoning 방법 설명 (0) | 2025.02.17 |
Kubernetes ingress SSL 인증서 적용 (0) | 2025.02.17 |
Kubernetes INGRESS 생성 (0) | 2025.02.17 |
Kubernetes 내부망 이미지 사용 시 (0) | 2025.02.17 |