У меня есть проект на базе Google Cloud Platform, который включает добавление устройств Raspberry Pi в реестр Google IoT. Что мне нужно сделать, так это сгенерировать подписанные сертификаты как для реестра, так и для устройств, чтобы гарантировать, что мошеннические устройства не будут зарегистрированы.
Я уже пробовал сгенерировать подписанные сертификаты X.509 следующим образом:
openssl req -new -x509 -nodes -days 365 -newkey rsa:2048 -keyout ca.key -out ca.crt
openssl genrsa -out device.key 2048
openssl req -new -days 365 -key device.key -out device.csr
openssl x509 -req -days 365 -in device.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out device.crt
Обратите внимание, что при появлении запроса я ввожу дополнительную информацию subj, например имя, страну, адрес электронной почты, организацию, которая согласно другой вопрос SO должен заставить его работать.
После вызова этих команд я получаю следующие файлы:
ca.crt ca.key ca.srl device.crt device.csr device.key
Итак, я бы добавил ca.crt в качестве сертификата реестра, а затем, когда я пытался загрузить device.crt в качестве устройства сертификат (тип RS256_X509) Я получаю сообщение об ошибке Certificate is not supported by Cloud IoT
Что я делаю не так? Я хочу убедиться, что создаю правильные сертификаты и привязываю их к реестру и устройству.
Common Name
, установленным на неиспользуемое при запускеopenssl req -new -days 365 -key device.key -out device.csr
и оставив все остальное по умолчанию, я смог зарегистрировать устройство с вашими точно такими же командами. Не могли бы вы предоставить дополнительную информацию о том, какую дополнительную информацию о Subj вы использовали? - person Alex Hong   schedule 30.03.2019