AWS IOT 连接在 IPAD OS v12.1.1 上关闭
AWS IOT connection is getting closed on IPAD OS v12.1.1
当我们在 ios 版本 12.1.1 上使用 wss 协议连接到 AWS IoT 时,我们能够成功连接到 IoT,但我们立即可以看到 IoT 触发了 onError 事件,然后连接被关闭。它尝试再次重新连接但没有任何运气。我们从 IoT 得到的错误是“{IsTrusted : true}”。
我们不使用任何证书,只使用配置文件访问密钥和秘密密钥。
相同的构建能够在 ios 12.0.1、12.1
上正确连接
IOS version:12.1.1(非工作版本)
AWS 物联网 SDK:2.0.0
iOS 12.1.1 引入了 Apple 的新证书透明度政策。来自 Apple 的发行说明:
iOS 12.1.1 requires that publicly-trusted Transport Layer Security (TLS) server authentication certificates issued after October 15, 2018 meet the Certificate Transparency policy to be evaluated as trusted on Apple platforms.
此政策正在成为一项广泛使用的标准,Google 已在其 Chrome 浏览器中强制执行。 Amazon 知道这种情况即将发生,并为响应这些新政策,发布了对其 MQTT 后端 (AWS IoT) 的更新,以在新端点上包含适当的认证。见 https://aws.amazon.com/blogs/iot/aws-iot-core-ats-endpoints/:
You must explicitly request an Amazon Trust Services endpoint for each region in your account. Any existing customer endpoint you have is most likely a VeriSign endpoint. If your endpoint has “-ats” at the end of the first subdomain, then it is an Amazon Trust Services endpoint. For example, ‘asdfasdf-ats.iot.us-east-2.amazonaws.com’ is an ATS endpoint.
简而言之,对于我的 iOS 应用程序,我们使用的是 AWS 提供的 MQTT 端点 asdfasdf.iot.us-east-2.amazonaws.com
(仅举个例子),没有 -ats
。我将端点更新为 asdfasdf-ats.iot.us-east-2.amazonaws.com
,我们能够完成 SSL 握手。
希望对您的问题有所帮助!祝你好运!
当我们在 ios 版本 12.1.1 上使用 wss 协议连接到 AWS IoT 时,我们能够成功连接到 IoT,但我们立即可以看到 IoT 触发了 onError 事件,然后连接被关闭。它尝试再次重新连接但没有任何运气。我们从 IoT 得到的错误是“{IsTrusted : true}”。 我们不使用任何证书,只使用配置文件访问密钥和秘密密钥。
相同的构建能够在 ios 12.0.1、12.1
上正确连接IOS version:12.1.1(非工作版本)
AWS 物联网 SDK:2.0.0
iOS 12.1.1 引入了 Apple 的新证书透明度政策。来自 Apple 的发行说明:
iOS 12.1.1 requires that publicly-trusted Transport Layer Security (TLS) server authentication certificates issued after October 15, 2018 meet the Certificate Transparency policy to be evaluated as trusted on Apple platforms.
此政策正在成为一项广泛使用的标准,Google 已在其 Chrome 浏览器中强制执行。 Amazon 知道这种情况即将发生,并为响应这些新政策,发布了对其 MQTT 后端 (AWS IoT) 的更新,以在新端点上包含适当的认证。见 https://aws.amazon.com/blogs/iot/aws-iot-core-ats-endpoints/:
You must explicitly request an Amazon Trust Services endpoint for each region in your account. Any existing customer endpoint you have is most likely a VeriSign endpoint. If your endpoint has “-ats” at the end of the first subdomain, then it is an Amazon Trust Services endpoint. For example, ‘asdfasdf-ats.iot.us-east-2.amazonaws.com’ is an ATS endpoint.
简而言之,对于我的 iOS 应用程序,我们使用的是 AWS 提供的 MQTT 端点 asdfasdf.iot.us-east-2.amazonaws.com
(仅举个例子),没有 -ats
。我将端点更新为 asdfasdf-ats.iot.us-east-2.amazonaws.com
,我们能够完成 SSL 握手。
希望对您的问题有所帮助!祝你好运!