본문 바로가기

OpenSSL을 사용한 AWS 인증서 포맷(PEM, DER) 변환하기

by rudals.kim 2022. 12. 7. 댓글 개
반응형

AWS(Amazon Web Services)의 IoT Core 서비스를 사용하여 MQTT를 테스트하게 되었는데 AWS에서 제공되는 인증서 파일들이 PEM 포맷으로 제공됩니다. AWS에서 인증서 다운로드 방법은 아래 게시글을 참고하시기 바랍니다.

 

MQTT사용을 위한 AWS(Amazon Web Services) IoT Core 설정하기

AWS(Amazon Web Services) IoT Core를 사용하여 MQTT 서비스를 이용하기 위해서는 아래와 같은 절차가 필요합니다. docs.aws.amazon.com의 개발자 안내서의 내용인데 자세하게 잘 설명이 되어 있습니다. AWS IoT 리

rudalskim.tistory.com

아래는 제가 AWS에서 받은 인증서인데 라즈베리파이 피코W 보드를 사용하여 AWS MQTT 서비스를 사용하기 위해서는 이 PEM 포맷의 키들을 DER로 변경하여 사용하는 것이 좋습니다.

PEM파일과 DER파일의 차이점이 궁금해서 검색을 해 보았습니다.

PEM 포맷은 Privacy Enhanced Mail의 약자로 X.509 인증서, CSR 및 암호화 키의 가장 일반적인 형식으로 아래와 같은 포맷으로 구성되어 있습니다. 

-----BEGIN CERTIFICATE-----
MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsF
ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6
b24gUm9vdCBDQSAxMB4XDTE1MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTEL
MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv
...
N+gDS63pYaACbvXy8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vv
o/ufQJVtMVT8QtPHRh8jrdkPSHCa2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU
5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2xJNDd2ZhwLnoQdeXeGADbkpy
rqXRfboQnoZsG4q5WTP468SQvvG5
-----END CERTIFICATE-----

 

  PEM   파일은 일반 텍스트 파일-----BEGIN CERTIFICATE-----와 -----END CERTIFICATE-----의 머리글과 바닥글이 있으며 가운데에 Base64 ASCII로 인코딩된 텍스트 파일입니다 

 

  DER   포맷은 Distinguished Encoding Rules의 약자로 X.509 인증서 및 개인 키에 대한 이진 인코딩 파일입니다.

 

인증서의 포맷을 변환하기 위해서는 먼저 아래 사이트에 접속하여 윈도우용 OpenSSL 파일을 다운로드 받아야합니다.

 

Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions

Minimum system requirements: Windows XP or later 32MB RAM 200MHz CPU 30MB hard drive space Recommended system requirements: Windows XP or later 128MB RAM 500MHz CPU 300MB hard drive space September 9, 2021 - OpenSSL 3.0 is available. Users should currently

slproweb.com

저는 단순히 포맷만 변환할 것이 때문에 용량이 적은 Light 버전으로 다운로드 받아 설치를 하였습니다.

설치를 하면 기본적으로 "C:\Program Files\OpenSSL-Win64"에 설치가 됩니다.

아래 명령어를 사용하여 AWS에서 다운로드 받은 PEM 파일의 인증서를 DER 포맷으로 변경을 합니다.

openssl rsa -in private.pem.key -out private.der -outform DER
openssl x509 -in certificate.pem.crt -out certificate.der -outform DER

 

실행해 보면 아래 그림과 같이 정상적으로 변경이 되어 DER 파일이 생성된 것을 확인할 수 있습니다.

이렇게 변경된 DER 파일을 라즈베리파이 피코W 보드 등과 같은 디바이스에 넣은 후 AWS 접속 시 이 인증 파일을 읽어 들여 인증을 하면 됩니다.

반응형

댓글