谢谢。
你的信息帮我解决了……但这次旅行并不容易
这是解决连接的所有步骤
1-使用正确的信息(国家、州、城市等)创建根 CA 证书
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-上传根CA证书到物联网平台
您需要使用控制台将根 CA 证书加载到 IoT 平台。在设置部分转到安全部分的 CA 证书。选择添加证书然后选择刚刚生成的rootCA_certificate.pem文件上传到平台,然后按保存
3-使用您的正确信息(国家、州、城市等)生成 MQTT 服务器的密钥和证书,并且 CN 必须与您的 IotServer 相同(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-将服务器证书添加到物联网平台
在安全性下的 Messaging Server Certificates 部分中的控制台的设置部分中进入 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 格式的证书,该证书可以轻松导入到信任库并将 ii 放入 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
为了完成这里的信息是一些可以帮助我的教程
developer.ibm.com
ibm.com support
github including srvext.cfg,ext.cfg files