728x90
반응형

1. 인증서 형식 오류 (PEM 형식 아님)

  • 인증서 파일은 반드시 **PEM 형식 (Base64 인코딩)**이어야 하며, 다음과 같은 헤더가 포함되어야 합니다:
-----BEGIN CERTIFICATE-----
... (Base64 encoded content)
-----END CERTIFICATE-----
  • 형식이 맞지 않으면 무시됩니다.

확인 방법:

cat /etc/pki/ca-trust/source/anchors/your-cert.crt.pem

 

2. 잘못된 경로에 파일을 넣음

  • 유효한 경로는 다음 중 하나입니다:
    • /etc/pki/ca-trust/source/anchors/ ✅ (권장)
    • /etc/pki/ca-trust/source/blacklist/ ❌ (차단 리스트)
    • /usr/share/pki/ca-trust-source/ (시스템 전역)
  • anchors 폴더 외 경로에 넣으면 적용되지 않습니다.

3. 파일 확장자가 .crt 또는 .pem이 아님

  • 파일 확장자는 반드시 .crt, .pem, .cer 중 하나여야 하며, 그렇지 않으면 무시됩니다.

✔️ 권장 예:

your-cert.crt

 

4. 인증서 내용이 실제로 CA 인증서가 아님

  • 개인 인증서(Client Cert)나 중간 인증서가 아닌 Root 또는 Intermediate CA 인증서여야 합니다.
  • openssl x509 -in cert.pem -text -noout 명령어로 Basic Constraints: CA:TRUE 여부를 확인하세요.

5. extract 실행 후 시스템에 적용 안 됨

  • update-ca-trust extract는 시스템 내 /etc/ssl/certs/ca-bundle.crt 등을 갱신하지만,
    • 이를 사용하는 앱(OpenSSL, curl 등)만 영향을 받음
    • Java는 전혀 영향을 받지 않습니다. (cacerts 별도 관리)

빠르게 점검하는 체크리스트

항목점검
.crt 파일이 PEM 형식인가요?
파일에 -----BEGIN CERTIFICATE----- 헤더가 있나요?
anchors 폴더에 위치했나요? (/etc/pki/ca-trust/source/anchors/)
update-ca-trust extract를 실행했나요?
openssl verify로 테스트해 봤나요?
적용 여부 테스트
openssl verify -CAfile /etc/ssl/certs/ca-bundle.crt your-target-cert.pem​

이 명령어로 시스템에 반영되었는지 테스트할 수 있습니다.

 

/etc/pki/ca-trust/extracted/java/cacerts 에 update-ca-trust extract로 your-cert.cer를 등록하는 방법
 
/etc/pki/ca-trust/extracted/java/cacerts 경로에 인증서를 등록하려는 경우, 이는 Java용 Trust Store에 해당하는 시스템 CA 통합 결과 파일입니다. 이 파일은 직접 수정하는 것이 아니라, update-ca-trust extract 명령으로 자동 생성되며, 다음 절차에 따라야 등록이 성공합니다.

 

목적:

update-ca-trust extract 실행 시 **/etc/pki/ca-trust/extracted/java/cacerts**에
your-cert.cer 인증서가 포함되도록 만드는 절차

등록 절차 요약

1. 인증서를 PEM 형식으로 준비

# 확인: PEM 형식인지 체크
grep "BEGIN CERTIFICATE" your-cert.cer

2. anchors 폴더에 복사

sudo cp your-cert.cer /etc/pki/ca-trust/source/anchors/​

⚠️ 반드시 .cer, .crt, .pem 확장자 중 하나여야 하고, PEM 형식이어야 합니다.

3. Trust Store 갱신

sudo update-ca-trust extract​

이 명령은 /etc/ssl/certs/ca-bundle.crt와 함께 /etc/pki/ca-trust/extracted/java/cacerts도 함께 갱신합니다.

4. 등록 성공 여부 확인

grep -A 1 "BEGIN CERTIFICATE" /etc/pki/ca-trust/extracted/java/cacerts | less​

또는, 파일 내부에 인증서 정보가 포함됐는지 openssl로 확인:

openssl x509 -in /etc/pki/ca-trust/extracted/java/cacerts -text -noout

(위 명령은 일부 시스템에서 오류 발생 가능 — 이 경우 단순 문자열 검색이 더 유효함)

인증서가 포함되지 않는 경우 주요 원인

원인설명
인증서 형식이 DER openssl x509 -inform der로 확인 및 PEM 변환 필요
인증서에 CA:TRUE가 없음 루트 또는 중간 CA 인증서가 아닌 경우 무시됨
파일 위치 또는 확장자 오류 /anchors/가 아닌 위치거나 확장자가 비표준일 경우 무시됨
필요시 PEM 변환
openssl x509 -in your-cert.cer -inform der -out your-cert.pem -outform pem
sudo cp your-cert.pem /etc/pki/ca-trust/source/anchors/
sudo update-ca-trust extract

결론

/etc/pki/ca-trust/extracted/java/cacerts는 수동 수정 대상이 아니며,
PEM 인증서를 anchors/에 넣고 update-ca-trust extract를 실행해야 반영됩니다.

728x90
반응형

+ Recent posts