Используйте aws и сертификаты пути в mqtt - PullRequest
0 голосов
/ 03 января 2019

Мне нужно знать, как мы можем указать сертификат, который существует в менеджере сертификатов aws в опциях node.js ssl.Мне нужно использовать этот сертификат при реализации mqtt.

Пока я создал самозаверяющие сертификаты, но они дают ошибку

Error: self signed certificates

Как только я передаю опцию rejectUnauthorized, чтобы ложьработает, но с true выдает ошибку.

mqtt.connect('mqtts://domainname.com', {
                    clientId: clientId,
                    connectTimeout: config.connectTimeout,
                    rejectUnauthorized: false,
                    key: KEY,
                    cert: CERT,
                    ca: TRUSTED_CA
          });

Мне нужно знать, что

  1. является rejectUnauthorized единственный способ удалить ошибку: самоподписанный сертификат?
  2. как мы можем использовать сертификат менеджера сертификатов aws в вышеупомянутых опциях (как общий capath)?

Ответы [ 2 ]

0 голосов
/ 04 января 2019

является rejectUnauthorized единственный способ удалить ошибку: самоподписанный сертификат?

Если вы хотите удалить ошибку, вы можете либо подписать свой сертификат доверенным центром сертификации (вы можетесделать это через Let's Encrypt).

В качестве альтернативы, если вам просто нужно удалить ошибку для целей тестирования, вы можете установить параметр 'ca', чтобы он соответствовал самозаверяющему сертификату.Это задокументировано в https://nodejs.org/api/tls.html#tls_tls_createsecurecontext_options:

Сертификат однорангового узла должен быть связан с ЦС, которому доверяет сервер, для аутентификации соединения.При использовании сертификатов, которые нельзя связать с известным CA, CA сертификата должен быть явно указан как доверенный, иначе соединение не сможет пройти аутентификацию.Если одноранговый узел использует сертификат, который не соответствует или не связан с одним из CA по умолчанию, используйте опцию ca, чтобы предоставить сертификат CA, с которым сертификат однорангового узла может сопоставляться или цепочкой. Для самозаверяющих сертификатов сертификат является собственным ЦС и должен быть предоставлен.

0 голосов
/ 03 января 2019

Вы не можете использовать SSL-сертификаты из AWS Certificate Manager (ACM) с вашими собственными серверами.Управляемые сертификаты можно использовать только с поддерживаемыми управляемыми сервисами AWS, которые интегрированы с ACM.Поддерживаемые сервисы включают в себя Elastic Load Balancers, CloudFront и API Gateway.

AWS также имеет другую сервис, AWS Certicate Manager, частный центр сертификации.С этим сервисом вы можете создавать и управлять своими собственными сертификатами.Вы платите ежемесячную плату (в настоящее время $ 400,00) и плату за сертификат ($ 0,75).

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