파일 업로드
  1. base64hub
  2. 키와 해시
  3. PEM → DER

PEM을 DER로 변환 (인증서와 키)

PEM 블록을 붙여넣고 .der 파일을 다운로드하거나, 코드와 설정 파일용으로 DER를 한 줄 Base64나 hex로 복사하세요.

무료 가입 없음, 제한 없음 로컬 업로드 없음 출력 3가지 .der 파일, 한 줄 Base64, hex 업데이트 2026. 10. 27.
입력 –DER –출력 –

브라우저에서 처리됩니다. 이 페이지는 데이터를 어디로도 보낼 수 없습니다 – 확인 방법

PEM을 DER로 변환하는 방법

  1. PEM 블록을 입력란에 붙여넣거나 .pem, .crt, .key, .csr 파일을 놓으세요.
  2. 변환 형식에서 출력을 고르세요.
    • DER – 한 줄 Base64: 헤더 줄과 줄 바꿈을 뺀 PEM 본문으로, JSON 필드나 환경 변수에 바로 쓸 수 있습니다.
    • DER – hex: 같은 바이트를 hex로 표시하며, 바이트 배열과 프로토콜 추적에 씁니다.
    • PEM (64열) 과 공개 키 (PEM) 는 반대 방향 변환과 공개 키 추출을 위해 있습니다.
  3. .der 다운로드를 눌러 바이너리 파일을 저장하거나, 텍스트 형태는 출력 복사를 누르세요.

변환기는 인증서, CSR, CRL, 공개 키, 개인 키(PKCS#1, PKCS#8, SEC1 EC)를 감지하므로 입력 형식을 고를 필요가 없습니다.

변환이 하는 일

PEM은 DER를 감싼 텍스트 래퍼입니다. 다음 인증서(줄임)를 보세요.

-----BEGIN CERTIFICATE-----
MIIBtzCCAV2gAwIBAgIUfX6gOa1S96OttEsj3WbuIdu0cE0wCgYIKoZIzj0EAwIw
...
-----END CERTIFICATE-----

표시 줄 두 개를 지우고, 나머지 줄을 이어 붙이고, Base64를 디코딩하면 DER 파일이 됩니다. 이 예에서는 ASN.1 SEQUENCE 헤더인 30 82 01 b7로 시작하는 443바이트입니다. 사라지는 정보는 표시 줄의 레이블뿐입니다. DER 파일에는 레이블이 없으므로, DER를 읽는 도구는 파일이 무엇인지 알려 주거나 구조를 보고 추측해야 합니다.

형태이 인증서의 크기쓰이는 곳
PEM656바이트nginx, Apache, HAProxy, 대부분의 Linux 도구
한 줄 Base64 DER592자JSON API, JWK의 x5c 배열, 환경 변수
DER (바이너리)443바이트Java와 Windows 도구, 펌웨어, application/pkix-cert 다운로드

DER가 필요한 곳

  • 임베디드 기기와 펌웨어: C에 바이트 배열로 컴파일해 넣는 인증서는 거의 항상 DER입니다. hex 출력을 배열에 붙여넣으세요.
  • Apple 플랫폼: SecCertificateCreateWithData는 PEM 텍스트가 아니라 DER 데이터를 받습니다.
  • JWK의 x5c 파라미터와 SAML 메타데이터의 <ds:X509Certificate> 요소에는 PEM 헤더 없는 Base64 DER가 들어갑니다.
  • 인증서의 CA 발급자 URL은 대개 DER .cer 파일을 제공합니다.
  • Windows: .cer 파일은 두 형태 모두일 수 있지만, 일부 오래된 가져오기 대화 상자와 장비는 DER만 받습니다.

OpenSSL, Python, certutil로 PEM을 DER로

openssl x509 -in cert.pem -outform der -out cert.der
openssl req  -in app.csr  -outform der -out app.der
openssl pkey -in key.pem  -outform der -out key.der
grep -v -- '-----' cert.pem | tr -d '\n'

마지막 줄은 인증서 하나가 든 파일의 한 줄 Base64 DER를 출력합니다. Python에서는 ssl.PEM_cert_to_DER_cert(open("cert.pem").read())가 인증서의 DER 바이트를 돌려줍니다. Windows에서는 certutil -decode cert.pem cert.der가 표시 줄을 지우고 디코딩합니다. 자세한 내용은 OpenSSL의 Base64와 Python의 Base64에 있습니다.

자주 생기는 문제

  • 파일 하나에 블록이 여러 개: 텍스트 출력은 모든 블록을 변환하지만, DER 파일에는 객체가 정확히 하나만 들어가므로 .der 다운로드는 첫 번째 객체만 저장합니다. 먼저 체인을 나누거나, 인증서 디코더에서 인증서마다 카드에서 다운로드하세요.
  • -----BEGIN ENCRYPTED PRIVATE KEY-----: 변환은 되지만 DER도 여전히 암호화되어 있습니다. 복호화에는 비밀번호가 필요하며 여기서는 하지 않습니다.
  • Proc-Type: 4,ENCRYPTED 헤더: 레거시 OpenSSL 암호화에는 DER 형태가 없습니다. 먼저 비밀번호와 함께 openssl pkey -in key.pem -out plain.pem을 실행하세요.
  • -----BEGIN OPENSSH PRIVATE KEY-----: 아예 ASN.1이 아니므로 만들 DER가 없습니다. 공개 키는 SSH 키 도구를 사용하세요.

자주 묻는 질문

PEM은 DER의 Base64일 뿐인가요?

네. PEM 파일은 DER 바이트를 Base64로 인코딩해 64자에서 줄을 바꾸고, -----BEGIN label----- 줄과 -----END label----- 줄 사이에 넣은 것입니다. 이 두 줄을 지우고 Base64를 디코딩하면 정확히 DER 파일이 나옵니다.

PEM 개인 키를 DER로 바꾸려면 어떻게 하나요?

여기에 붙여넣고 DER – 한 줄 Base64나 .der 다운로드를 고르거나, openssl pkey -in key.pem -outform der -out key.der를 실행하세요. 키는 페이지 밖으로 나가지 않으며 비밀 값은 표시되지 않습니다.

DER 파일이 PEM보다 작은 이유는 무엇인가요?

Base64는 3바이트를 4문자로 바꾸고, PEM은 줄 바꿈과 헤더 줄 두 개를 더합니다. 443바이트 DER 인증서는 656바이트 PEM 파일이 되어 약 48% 커집니다.