сертификаты ядра облачного интернета вещей Google

#google-cloud-iot

#google-cloud-iot

Вопрос:

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

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

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

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

для получения сертификата roots.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=unused"
  

Ответ №1:

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

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

-C

Ответ №2:

Я лично использую 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 в командной строке.

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

Комментарии:

1. Просто используйте openssl: openssl genrsa -des3 -out rootCA.key 4096 а затем openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out root.pem я просто попытался сгенерировать rpi и работает…