Получение AWS Root сертификатов для IoT Core Thing - PullRequest
0 голосов
/ 22 апреля 2020

В AWS IoT Core Я создал вещь , создал Политику для вещи, создал Сертификат для и приложил Политику к Сертификату.

После этого я скачал .crt и .key Сертификат, который я подтвердил если они соответствуют следующей команде:

(openssl x509 -noout -modulus -in certificate.pem.crt | openssl md5 ; openssl rsa -noout -modulus -in private.pem.key | openssl md5) | uniq

и получили один га sh назад, что указывает на то, что они соответствуют

(stdin)= 97c1a8816c35acbfgt04f325aeacae6

Осталось только найти Root CA , с которым был подписан мой сертификат.

Я нашел руководство разработчика AWS для серверных сертификатов здесь и я скачал VeriSign Class 3 Publi c Primary G5 root CA сертификат , который я переименовал в rootCA.pem .

Но когда я запустил тест для проверки CA с помощью следующей команды:

openssl s_client -connect <my ID>.iot.ap-southeast-2.amazonaws.com:8443 / -CAfile /etc/mosquitto/certs/rootCA.pem / -cert /etc/mosquitto/certs/certificate.pem.crt / -key /etc/mosquitto/certs/private.pem.key

Я получаю этот ответ с ошибкой не удалось получить локальный Сертификат suer (см. ниже)

CONNECTED(00000003)
depth=1 C = US, O = Symantec Corporation, OU = Symantec Trust Network, CN = Symantec Class 3 ECC 256 bit SSL CA - G2
verify error:num=20:unable to get local issuer certificate
---
Certificate chain
 0 s:/C=US/ST=Washington/L=Seattle/O=Amazon.com, Inc./CN=*.iot.ap-southeast-2.amazonaws.com
   i:/C=US/O=Symantec Corporation/OU=Symantec Trust Network/CN=Symantec Class 3 ECC 256 bit SSL CA - G2
 1 s:/C=US/O=Symantec Corporation/OU=Symantec Trust Network/CN=Symantec Class 3 ECC 256 bit SSL CA - G2
   i:/C=US/O=VeriSign, Inc./OU=VeriSign Trust Network/OU=(c) 2006 VeriSign, Inc. - For authorized use only/CN=VeriSign Class 3 Public Primary Certification Authority - G5
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIDlTCCAzygAwIBAgIQGw ...
——END CERTIFICATE-----
subject=/C=US/ST=Washington/L=Seattle/O=Amazon.com, Inc./CN=*.iot.ap-southeast-2.amazonaws.com
issuer=/C=US/O=Symantec Corporation/OU=Symantec Trust Network/CN=Symantec Class 3 ECC 256 bit SSL CA - G2
---
No client certificate CA names sent
Client Certificate Types: RSA sign, DSA sign, ECDSA sign
Requested Signature Algorithms: ECDSA+SHA512:RSA+SHA512:ECDSA+SHA384:RSA+SHA384:ECDSA+SHA256:RSA+SHA256:DSA+SHA256:ECDSA+SHA224:RSA+SHA224:DSA+SHA224:ECDSA+SHA1:RSA+SHA1:DSA+SHA1
Shared Requested Signature Algorithms: ECDSA+SHA512:RSA+SHA512:ECDSA+SHA384:RSA+SHA384:ECDSA+SHA256:RSA+SHA256:DSA+SHA256:ECDSA+SHA224:RSA+SHA224:DSA+SHA224:ECDSA+SHA1:RSA+SHA1:DSA+SHA1
Peer signing digest: SHA512
Server Temp Key: ECDH, P-256, 256 bits
---
SSL handshake has read 2398 bytes and written 1448 bytes
Verification error: unable to get local issuer certificate
---
New, TLSv1.2, Cipher is ECDHE-ECDSA-AES256-GCM-SHA384
Server public key is 256 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : ECDHE-ECDSA-AES256-GCM-SHA384
    Session-ID: EB3B32C8 …
    Session-ID-ctx: 
    Master-Key: 783A17EB6 …
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1587558792
    Timeout   : 7200 (sec)
    Verify return code: 20 (unable to get local issuer certificate)
    Extended master secret: yes
---

Кто-нибудь знает, как получить Root CA для моего сертификата ?

Спасибо


Редактировать:

Благодаря совету Бена Т я создал новую вещь в регионе Мумбаи . Удивительно, но теперь я вижу возможность загрузить сертификат root прямо с экрана создания сертификата (см. Ниже)

enter image description here

После запуска openssl s_client -connect снова с новыми сертификатами / ключом я, наконец, получаю verify return:1.

УДИВИТЕЛЬНЫЙ

1 Ответ

1 голос
/ 22 апреля 2020

Сертификат Verisign используется для устаревших конечных точек.

Вы должны использовать более новые сертификаты для конечных точек Amazon Trust Services. например, один на https://www.amazontrust.com/repository/AmazonRootCA1.pem

См. https://docs.aws.amazon.com/iot/latest/developerguide/server-authentication.html#server -Authentication-Certs

Все новые AWS Основные области IoT начиная с запуска 9 мая 2018 года AWS IoT Core в азиатском регионе Pacifi c (Мумбаи), обслуживать только сертификаты ATS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...