【ESP32/NBIOT/AWS IOT】как установить три сертификата для подключения aws iot с сим-картой nbiot? (используя arduino IDE)

Эта проблема беспокоила меня давно...

Я использую sim7020c и пытаюсь подключить aws iot с их тремя сертификатами, я перепробовал так много решений, которые искал в Интернете, но ни одно из них не работает ... Пока я просто могу подключиться к сети!

Было бы очень признательно, если бы кто-нибудь знал, как использовать сим-карту nbiot (любая модель может работать на Тайване) с ESP32 для подключения AWS IOT(особенно часть, устанавливающая три сертификата aws iot)!

Большое спасибо!

1 ответ

Модули SIMCOM довольно требовательны к используемому сертификату корневого центра сертификации.

В большинстве браузеров в качестве корневого ЦС отображается Amazon Root CA 1, например, для aws.amazon.com(Вы увидите это, если щелкнете значок замка в поле ввода URL в любом браузере), однако это не главный корневой ЦС. Модули SIMCOM требуют главного корневого ЦС (но это никогда четко или явно не задокументировано в их паршивой документации). Поэтому, если вы попытаетесь загрузить сертификат «Amazon Root CA 1» в качестве корневого CA в модуль, это не удастся.

Вот как я использовал, чтобы узнать и получить главный корневой ЦС. Запустите следующий сценарий оболочки, чтобы узнать цепочку сертификатов до уровня 5.

      openssl s_client -showcerts -verify 5 -connect aws.amazon.com:443 < /dev/null

Это покажет список из 4 сертификатов и заметит последний OUis , и это главный корневой ЦС AWS.

        :
Certificate chain
 0 s:/CN=aws.amazon.com
   i:/C=US/O=Amazon/OU=Server CA 1B/CN=Amazon
-----BEGIN CERTIFICATE-----
  :
  :
-----END CERTIFICATE-----
 1 s:/C=US/O=Amazon/OU=Server CA 1B/CN=Amazon
   i:/C=US/O=Amazon/CN=Amazon Root CA 1
-----BEGIN CERTIFICATE-----
  :
  :
-----END CERTIFICATE-----
 2 s:/C=US/O=Amazon/CN=Amazon Root CA 1
   i:/C=US/ST=Arizona/L=Scottsdale/O=Starfield Technologies, Inc./CN=Starfield Services Root Certificate Authority - G2
-----BEGIN CERTIFICATE-----
  :
  :
-----END CERTIFICATE-----
 3 s:/C=US/ST=Arizona/L=Scottsdale/O=Starfield Technologies, Inc./CN=Starfield Services Root Certificate Authority - G2
   i:/C=US/O=Starfield Technologies, Inc./OU=Starfield Class 2 Certification Authority
-----BEGIN CERTIFICATE-----
  :
  :
-----END CERTIFICATE-----

Затем я использую свой компьютер, чтобы получить сертификат ЦС для корневого ЦС. На компьютерах с macOS и Linux все сертификаты хранятся в /etc/ssl, Linux хранит каждый отдельный сертификат отдельно, поэтому вам просто нужно найти файл для , macOS упаковывает все сертификаты в один certs.pemфайл, поэтому вам нужно запустить текстовый редактор и найти его.

Она является корневым ЦС для Starfield Class 2 Certification Authority(вы можете проверить это с помощью openssl):

      -----BEGIN CERTIFICATE-----
MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzEl
MCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMp
U3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQw
NjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBoMQswCQYDVQQGEwJVUzElMCMGA1UE
ChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZp
ZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqGSIb3
DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf
8MOh2tTYbitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN
+lq2cwQlZut3f+dZxkqZJRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0
X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVmepsZGD3/cVE8MC5fvj13c7JdBmzDI1aa
K4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSNF4Azbl5KXZnJHoe0nRrA
1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HFMIHCMB0G
A1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fR
zt0fhvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0
YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBD
bGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8w
DQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGsafPzWdqbAYcaT1epoXkJKtv3
L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLMPUxA2IGvd56D
eruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl
xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynp
VSJYACPq4xJDKVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEY
WQPJIrSPnNVeKtelttQKbfi3QBFGmh95DmK/D5fs4C8fF5Q=
-----END CERTIFICATE-----

Кстати, убедитесь, что RTC вашего модуля SIMCOM настроен правильно, иначе может произойти сбой при загрузке или использовании сертификата.

Другие вопросы по тегам