在iOS中与AWS IoT代理连接

时间:2016-01-22 07:01:46

标签: ios swift mqtt aws-iot

我们正在开发一个需要根据MQTT协议偏差使用AWS IoT服务的应用程序。我们目前面临与AWS IoT云服务器提供的MQTT代理连接的问题。

以下是环境:

  1. iOS版本:8.0 / 9.0
  2. 编程语言:Swift
  3. MQTT图书馆:Moscapsule
  4. 遵循的步骤:

    1. 设置初始配置clientid,主机,端口
    2. 使用私钥设置客户端证书,提供.pem文件路径(例如cert.pem,privateKey.pem)
    3. 设置服务器证书,即根证书.pem文件路径(例如rootCA.pem)
    4. 使用tsl_insecure设置tls opts:false,cert_reqs:SSL_VERIFY_PEER,tls version:tlsv1.2,ciphers:nil
    5. 面临的问题:

      1. 尝试连接到服务器/代理时出现错误“无法创建TLS_Context”。
      2. 通过设置tls cert_reqs:SSL_VERIFY_NONE,使用subcribe和publish sucess提供连接状态成功,但不反映在服务器或代理上。
      3. 在这方面的任何帮助都非常值得赞赏。

1 个答案:

答案 0 :(得分:1)

The AWS SDK for iOS已经支持通过MQTT连接到AWS IoT。您可以看到一个示例Swift程序,该程序使用基于证书的身份验证here通过MQTT与AWS IoT之间传输数据。如果您想使用其他MQTT客户端并且只需知道如何设置它,您可以从the AWS SDK for iOS开始,然后查看code involved in setting up the TLS connection.

感谢您使用AWS IoT。