SSL 인증서 및 키 확장자

정미·2024년 8월 28일

인코딩, 포맷

1. PEM (Privacy Enhanced Mail)

  • Base64 인코딩된 ASCII 텍스트 파일
  • 개인키, 서버 인증서, 루트 인증서, 체인 인증서 및 SSL 발급 요청 시 생성하는 CSR(Certificate Signing Request)에서 사용된다.
  • 대부분의 시스템에 호환되는 산업 표준 포맷
  • .pem 확장자 파일로도 사용됨
  • -----BEGIN로 시작, -----END로 끝난다.

예시

  1. 인증서

    -----BEGIN CERTIFICATE-----
    DJEOscls=qlkjd~~
    ...
    ~~~~
    -----END CERTIFICATE-----
  2. 개인키

    -----BEGIN RSA PRIVATE KEY-----
    Proc-Type: 4, ENCRYPTED
    DEK-Info: AES-128-CBC, ~
    ...
    -----END RSA PRIVATE KEY-----
  3. CSR(Certificate Signing Request)

    -----BEGIN NEW CERTIFICATE REQUEST-----
    ...
    -----END NEW CERTIFICATE REQUEST-----

2. DER (Distinguished Encoding Representation)

  • Binary 인코딩 포맷
  • 바이너리 포맷을 읽을 수 있는 인증서 라이브러리 필요
    - 메모장과 같은 텍스트 편집기로 읽을 수 없음
  • 사설, 금융 등 특수 분야 및 오래된 구형 시스템에서 사용됨

확장자

1. .crt

  • 인증서 파일이다 라는 의미
  • 대부분 PEM 포맷
    - .crt 보다는 파일 포맷이 명확하도록 .pem이나 .der을 붙이는 것을 권장한다.
  • 주로 유닉스/리눅스 기반 시스템에서 통용되는 인증서 파일
  • 윈도우에서도 기본으로 인식됨

2. .jks

  • Java Key Store
  • Java 기반의 독자 인증서 바이너리 포맷
  • 개인키, 서버인증서, 루트 인증서, 체인 인증서 모두 담을 수 있어 인증서 적용이나 이전, 파일 관리 시 유용하다.
  • Java 기반 Tomcat에 SSL 인증서 적용할 때 가장 많이 사용됨.
  • 인증서라기보다는 인증서를 모아 놓은 저장소, 컨테이너 용도의 파일

기타

  1. .key
    • openssl 및 java에서 개인키 파일 구분하기 위해 사용
    • 저장할 때 PEM, DER 포맷 둘 다 가능함.
      - 확장자만으로는 파일 상태 확인 불가하고 열어서 확인해봐야 한다.
  2. .csr
    • Certificate Signing Request
    • 대부분 PEM 포맷
    • SSL 발급 신청을 위해 CA(인증 기관)에 제출하는 요청서 파일
    • 공개키 정보, 사용하는 알고리즘 정보 등이 들어있다.
  3. .cer
    • 대부분 PEM 포맷
    • 주로 Windows 기반 시스템에서 사용되는 인증서 파일
    • .crt와 거의 동일한 의미
      - .cer이든 .crt든 파일 생성한 사람 붙이기 나름
  4. .pfx
    • Personal Information Exchange Format
    • PKCS#12 바이너리 포맷
    • 주로 Windows IIS 기반에서 사용되는 파일
    • 개인키, 서버인증서, 루트 인증서, 체인 인증서 해당 파일에 묶어 담을 수 있어 인증서 적용이나 이전, 파일 관리 시 유용하다.
    • Tomcat에서도 지원함.

출처

0개의 댓글