Облачные сертификаты Google iot core - PullRequest
0 голосов
/ 22 апреля 2019

Я запутался с сертифицированным, связанным с ядром Google Cloud iot. какой сертификат CA используется на уровне реестра и как его генерировать. И сертификат «roots.pem», используемый для связи между устройством и облачным ядром с помощью моста mqtt, который я получил по этой ссылке https://pki.google.com/roots.pem'. Он отличается от того, который связан с сертификатом уровня реестра?

Я попытался добавить сертификат roots.pem, но выдает ошибку, что файл слишком велик. Я также добавил открытый ключ, который используется для аутентификации устройства с помощью пары открытый / закрытый ключ, он был успешно добавлен. но я запутался, какой использовать и где использовать и как его создать.

Как проверить Устройство с сертификатами уровня реестра ca для большей безопасности?

Я использую следующую команду,

для получения сертификата root.pem «https://pki.google.com/roots.pem'

для получения пары открытый / закрытый ключ "openssl req -x509 -nodes -newkey rsa: 2048 -keyout rsa_private.pem -days 1000000 -out rsa_cert.pem -subj" / CN = не используется ""

Ответы [ 2 ]

0 голосов
/ 02 мая 2019

Я лично использую python для подключения моего устройства, и строка кода выглядит следующим образом:

self.Mqttclient = self.get_client(
        self.projectId, cloud_region, self.registryId, self.deviceId,
        self.credential, algorithm, root_certificate,
        mqtt_hostname, mqtt_port)

так что да, я создал root.pem точно так же, как вы, и создаю открытый и закрытый файл сскрипт Python, который в основном аналогичен тому, что вы делаете с openssl в командной строке.

Вы можете посмотреть здесь для получения дополнительной информации о сертификатах.

0 голосов
/ 25 апреля 2019

Я надеюсь, что смогу помочь ответить на ваш вопрос.Одна вещь, которая выскакивает, это ваше использование Google roots.pem.Я не уверен, что это за файл, но мне он не нужен для проверки моих клиентов ICP GCP.Я использую команду openssl, почти идентичную вашей (я просто не использовал параметр «-days:», но, возможно, мне следует!), Затем на веб-странице консоли GCP для устройства я использую «Добавить открытый ключ»вручную скопировать / вставить содержимое сгенерированного файла ключа public (то есть: "rsa_cert.pem").Наконец, я использую сгенерированный закрытый файл ключа (то есть: "rsa_private.pem") в своем коде, чтобы подписать JWT.

Помогает ли это?Я не "эксперт", но я довольно регулярно работаю с этим материалом в течение пары месяцев.

-C

...