Спасибо. Ваша информация помогла мне решить ... но поездка была не такой легкой
Вот весь шаг, который разрешает соединение
1-Создание сертификата корневого ЦС с использованием вашей правильной информации (страна, штат, город и т. д.)
openssl genrsa -aes256 -passout pass:password123 -out rootCA_key.pem 2048
openssl req -new -sha256 -x509 -days 3560 -subj "/C=IT/ST=Itali/L=Milano/O=MyOrg/OU=MyOrg Corporate/CN=MyOrg Root CA" -extensions v3_ca -set_serial 1 -passin pass:password123 -key rootCA_key.pem -out rootCA_certificate.pem -config ext.cfg
2-Загрузка сертификата корневого центра сертификации на платформу IoT
Вам необходимо загрузить сертификат корневого центра сертификации в платформу IoT с помощью консоли. В разделе настроек перейдите в раздел «Сертификаты ЦС» в разделе «Безопасность». Выберите «Добавить сертификат», затем выберите файл rootCA_certificate.pem, который вы только что создали, для загрузки на платформу, затем нажмите «Сохранить».
3-Генерирует ключ и сертификат для сервера MQTT, используя вашу правильную информацию (страна, штат, город и т. д.), а CN ДОЛЖЕН совпадать с вашим сервером Интернета вещей (MyOrg.messaging... ..)
openssl genrsa -aes256 -passout pass:password123 -out mqttServer_key.pem 2048
openssl req -new -sha256 -subj "/C=IT/ST=Itali/L=Milano/O=MyOrg/OU=MyOrg Corporate/CN=MyOrg.messaging.internetofthings.ibmcloud.com" -passin pass:password123 -key mqttServer_key.pem -out mqttServer_crt.csr
4-Добавьте сертификат сервера на платформу IoT В платформу IoT в разделе настроек консоли в разделе Сертификаты сервера сообщений в разделе Безопасность. Выберите «Добавить сертификат», затем загрузите сертификат (mqttServer_crt.pem) и закрытый ключ (mqttServer_key.pem). Вам также необходимо указать пароль (password123).
5-Проверьте сертификат сервера с помощью openssl:
openssl s_client -CAfile mqttServer_crt.pem -showcerts -state -servername MyOrg.messaging.internetofthings.ibmcloud.com -connect MyOrg.messaging.internetofthings.ibmcloud.com:8883
6 – Чтобы загрузить сертификат в формате PEM, его можно легко импортировать в хранилище доверенных сертификатов и поместить в MyOrg.messaging.internetofthings.ibmcloud.com.pem.
echo | openssl s_client -connect MyOrg.messaging.internetofthings.ibmcloud.com:8883 -showcerts 2>&1 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > MyOrg.messaging.internetofthings.ibmcloud.com.pem
7-Теперь вы можете использовать в
mosquitto_sub -h MyOrg.messaging.internetofthings.ibmcloud.com -p 8883 -i a:MyOrg:myapp -u MyOrgAppKey -P MyOrgToken -t iot-2/type/+/id/+/evt/+/fmt/+ -d --cafile MyOrg.messaging.internetofthings.ibmcloud.com.pem
Чтобы завершить информацию, вот некоторый учебник, который может мне помочь.
разработчик .ibm.com
поддержка ibm.com
github, включая файлы srvext.cfg,ext.cfg
person
LucaAmato
schedule
30.11.2020
-d
к аргументам командной строки, чтобы включить отладочный вывод. Также вам нужно передать-cafile
или-capath
с допустимыми значениями, чтобы включить TLS/SSL. - person hardillb   schedule 30.11.2020