AWS(Amazon Web Services)의 IoT Core 서비스를 사용하여 MQTT를 테스트하게 되었는데 AWS에서 제공되는 인증서 파일들이 PEM 포맷으로 제공됩니다. AWS에서 인증서 다운로드 방법은 아래 게시글을 참고하시기 바랍니다.
아래는 제가 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 파일을 다운로드 받아야합니다.
저는 단순히 포맷만 변환할 것이 때문에 용량이 적은 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 접속 시 이 인증 파일을 읽어 들여 인증을 하면 됩니다.
'Hardware > Raspberry PI' 카테고리의 다른 글
라즈베리파이 피코 W를 사용한 MQTT 테스트(AWS IoT Core 사용) (0) | 2022.12.16 |
---|---|
라즈베리파이 피코 W 구매 및 기본 동작 테스트 (2) | 2022.12.10 |
MQTT사용을 위한 AWS(Amazon Web Services) IoT Core 설정하기 (0) | 2022.12.07 |
라즈베리파이 피코와 A4988 스텝모터 모듈용 PCB 제작 (0) | 2022.10.27 |
Raspberry Pi Pico 에서 A4988 스텝모터 드라이버 사용하기 (5) | 2022.10.25 |
댓글