我使用 WSO2 IoT 来管理智能手机。当我打开 web devicemgt 时,我有这样的不安全连接: 没有 ssl。我已生成 SSL 证书 - .cer、.pem、.key 文件和密钥密码。如何设置与 WSO2IoT 设备管理站点的安全连接?
1 回答
IoTS“devicemgt”应用支持 SSL(端口 9443)。但是,自签名证书用于 SSL 通信,为了获得有效的证书,您可能需要使用受信任的 CA 创建新证书。
创建新密钥后,您可以按照 [1] 进行配置。如果您在生成新密钥的过程中创建了新主机名,那么您可能还需要遵循 [2]。
除了上述之外,如果您更改了 IP 和密钥,那么您可能还需要检查以下配置。
1) 如果您从 wso2carbon 更改了默认证书的别名,请确保将新值输入到 [1] 中列出的文件中。此外,确保将“wso2carbon”别名更改为以下文件中的新别名。
核心/存储库/部署/服务器/jaggeryapps/portal/configs/designer.json(identityAlias)
核心/存储库/部署/服务器/jaggeryapps/devicemgt/app/conf/app-conf.json(identityAlias)
core/repository/conf/etc/webapp-authenticator-config.xml(将有 3 个条目)
2) wso2 IoT 服务器使用 JWT 令牌进行服务器到服务器的通信。如果您更改了证书,那么是否可以使用新证书更新身份提供者(IDP)?请按照以下步骤更新 IDP。
2.1) 将公共证书导出为 pem 格式(如果它还不是 pem 格式)
openssl x509 -inform DER -outform PEM -in mycert.cert -out server.crt.pem
2.2) 打开server.crt.pem,复制BEGIN CERTIFICATE和END CERTIFICATE之间的内容,替换基于IDP的文件中的元素,可以在“core/repository/conf/identity/identity-providers/iot_default.xml”中找到
3) 将 localhost 替换为 core/bin/wso2server.sh 中的以下条目
-Diot.keymanager.host="wso2.exterminator.com" \
-Diot.gateway.host="wso2.exterminator.com" \
-Diot.core.host="wso2.exterminator.com" \
4)在文件“core/repository/conf/etc/webapp-publisher-config.xml”中将“true”设置为“EnabledUpdateApi”。这将使用新主机重新发布所有 API。
5)在“core/repository/deployment/server/jaggeryapps/portal/configs/designer.json”中,将下面的json条目中的localhost替换为wso2.prokino.nl。
“主持人”: {
"hostname": "wso2.prokino.nl",
"port": "",
"protocol": ""
}
[1] https://docs.wso2.com/display/IoTS300/Configuring+Keystores+in+WSO2+Products
[2] https://docs.wso2.com/display/IoTS300/Configuring+WSO2+IoT+Server+with+the+IP