Linux 환경 Java 인증서 등록

컴업·2022년 12월 13일
0

Spring 어플리케이션에서 PKIX에러가 발생하는 경우 인증서에 관한 문제일 가능성이 높다.

리눅스 환경에서 URL에 대한 인증서 유효기간 검색 방법을 알아보고 그것을 갱신하는 방법에 대해 알아보자.

인증서 유효기간 검색

URL을 확인하고 아래 명령어 실행.

명령어

echo | openssl s_client -servername [url:port] -connect [url:port] 2> /dev/null | openssl x509 -noout -dates

output

notBefore=Dec 11 10:24:06 2022 GMT
notAfter=Dec 6 10:24:06 2023 GMT

인증서 등록

리눅스 Keytool을 사용하면 간단하게 인증서를 등록할 수 있다.

명령어

keytool -importcert -alias "alias명" -keystore "keystore위치" -file "인증서파일 위치" -storepass "keystore비밀번호"
  • alias : 구분 가능한 임의의 명칭
  • keystore : 인증서 저장소
    - 일반적으로 java 경로 아래 jre/lib/security/cacerts 파일이 인증서 저장소이다.
  • file : 인증서 파일
  • storepass : keystore 비밀번호로 초기 기본설정은 changeit이다.

인증서 추출

해당 URL의 인증서를 받을 수 없는 경우 직접 인증서를 추출 할 수 있다. (항상 되는 것은 아니다.)

명령어

openssl s_client -connect url:port | tee certlog

위 명령어를 바로 수행해도 괜찮고 파일로 추출하여 열어보면 인증서에 대한 정보가 담겨있다.

위 명령어를 통해 받은 정보

...

-----BEGIN CERTIFICATE-----

...

-----END CERTIFICATE-----

...

이중 "-----BEGIN CERTIFICATE-----" 부터 "-----END CERTIFICATE-----" 까지가 인증서임으로, 복사하여 별도의 파일에 저장한다.

profile
좋은 사람, 좋은 개발자 (되는중.. :D)

0개의 댓글