자유게시판

Azure에서 Baltimore Certification에서 안되시는 분들께
2022. 9. 8 (목) 08:04 IRON 조회 39 좋아요 4 스크랩 0 댓글 1

저는 예제의 Step9에서 넘어가지 못하여 하루를 허비 했네요.

분명 똑같이 했는데 ???? 왜 연결이 되지 않을까????

 

Step 9: Adding the Baltimore Certificate Azure

 

IoT Hub 에서 Pico W 를 신뢰할 수 있도록 볼티모어 SSL 인증서를 사용하여 MQTT 연결을 암호화합니다. 여러분 사이에서 눈길을 끄는 독수리는 우리가 이미이 인증서를 코드에서 참조하고 있다는 것을 알게 될 것이므로 이제 Pico W 에 이것을 추가해야합니다. 새 파일을 만들고 다음을 붙여 넣습니다.

-----BEGIN CERTIFICATE-----

MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1 BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3 DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92 9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0 Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp

-----END CERTIFICATE-----

원인은 새파일을 만들고 붙여넣는 위치에 있었습니다. 

당연히 Certificate문서도 /lib에 있어야 한다고 생각해서  /lib folder에 붙여 넣기를 했습니다. 

이것이 패착이였습니다. 

 

Certificate문서는 반드시 RicoW의 Root에 붙여넣기를 하시기 바랍니다.   

다른 방법으로는 Path를 변경해 주시면 됩니다. 

def mqtt_connect():
    certificate_path = "/lib/baltimore.cer"

 

 

AWS연결 에서도 *.der file을 Root에 넣어 주셔야 연결이 됩니다. 

아니면 하기와 같이 AWS의 Key File과 Certi file의 위치의 Path를 변경하여 주시기 바랍니다. 

    # downloaded from AWS website is in pem format
    keyfile = 'lib/certs/private.der'
    certfile = "lib/certs/certificate.der"

 

에산(Esan) 2022.09.10 21:25 답글  |  신고
저의 경우 baltimore.cer 문제는 없었는데 어떻게 해도 계속 연결 실패, 그리고, 연결 성공 후에도 telemetry에서 수신 안 되는 등 문제 때문에 혹시 인증서가 문제인가 해서 DigiCert TLS ECC P384 Root G5라는 인증서로 바꿔 보기도 했습니다. 연결 안 되거나 telemetry에서 수신 안 되는 문제하고는 관계 없는 것으로 확인되었지만 덕분에 다른 인증서도 써 보게 됐습니다.

로그인 후
참가 상태를 확인할 수 있습니다.