[PKI] 인증서 파일 형식 및 확장자

MAY 03, 2020

1. 인코딩 (확장자로 쓰이기도 한다.)

# der

  • Distinguished Encoding Representation (DER)
  • 바이너리 DER 형식으로 인코딩된 인증서. 텍스트 편집기에서 열었는데 읽어들일 수 없다면 이 인코딩일 확률이 높다.

# pem

  • X.509 v3 파일의 한 형태
  • PEM (Privacy Enhanced Mail)은 Base64인코딩된 ASCII text file이다.
  • 원래는 secure email에 사용되는 인코딩 포멧이었는데 더이상 email쪽에서는 잘 쓰이지 않고 인증서 또는 키값을 저장하는데 많이 사용된다.
  • -----BEGIN XXX-----, -----END XXX----- 로 묶여있는 text file을 보면 이 형식으로 인코딩 되어있다고 생각하면 된다. (담고있는 내용이 무엇인지에 따라 XXX 위치에 CERTIFICATE, RSA PRIVATE KEY 등의 키워드가 들어있다)
  • 인증서(Certificate = public key), 비밀키(private key), 인증서 발급 요청을 위해 생성하는 CSR (certificate signing request) 등을 저장하는데 사용된다.

2. 확장자

# crt, cer

  • 인증서를 나타내는 확장자인 cer과 crt는 거의 동일하다고 생각하면 된다.
  • cer은 Microsoft 제품군에서 많이 사용되고, crt는 unix, linux 계열에서 많이 사용된다.
  • 확장자인 cer이나 crt만 가지고는 파일을 열어보기 전에 인코딩이 어떻게되어있는지 판단하긴 힘들다.

# key

  • 개인 또는 공개 PKCS#8 키를 의미

# p12

  • PKCS#12 형식으로 하나 또는 그이상의 certificate(public)과 그에 대응하는 private key를 포함하고 있는 key store 파일이며 패스워드로 암호화 되어있다.
  • 열어서 내용을 확인하려면 패스워드가 필요하다.

# pfx

  • PKCS#12는 Microsoft의 PFX파일을 계승하여 만들어진 포멧이라 pfx와 p12를 구분없이 동일하게 사용하기도 한다.

작업 기록 블로그