Ios OSX上的AWS MQTT

Ios OSX上的AWS MQTT,ios,macos,amazon-web-services,mqtt,Ios,Macos,Amazon Web Services,Mqtt,在OSX应用程序中,我可以在iOS9中使用AWS MQTT,但当我在OSX10.11中尝试同样的方法时,会出现以下错误: CFN网络SSLHandshake失败(-9829) 错误-9828定义为 errSSLPeerCertUnknown=-9829,/*未知证书*/ 我的OSX info.plist是 <key>NSAppTransportSecurity</key> <dict> <key>NSAllowsAr

在OSX应用程序中,我可以在iOS9中使用AWS MQTT,但当我在OSX10.11中尝试同样的方法时,会出现以下错误:

CFN网络SSLHandshake失败(-9829)

错误-9828定义为

errSSLPeerCertUnknown=-9829,/*未知证书*/

我的OSX info.plist是

<key>NSAppTransportSecurity</key>
    <dict>
            <key>NSAllowsArbitraryLoads</key>
            <true/>
            <key>NSExceptionDomains</key>
            <dict>
                    <key>amazonaws.com</key>
                    <dict>
                            <key>NSExceptionRequiresForwardSecrecy</key>
                            <false/>
                            <key>NSExceptionAllowsInsecureHTTPLoads</key>
                            <true/>
                            <key>NSThirdPartyExceptionMinimumTLSVersion</key>
                            <string>TLSv1.0</string>
                            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
                            <false/>
                            <key>NSIncludesSubdomains</key>
                            <true/>
                    </dict>
                    <key>amazonaws.com.cn</key>
                    <dict>
                            <key>NSExceptionRequiresForwardSecrecy</key>
                            <false/>
                            <key>NSExceptionAllowsInsecureHTTPLoads</key>
                            <true/>
                            <key>NSThirdPartyExceptionMinimumTLSVersion</key>
                            <string>TLSv1.0</string>
                            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
                            <false/>
                            <key>NSIncludesSubdomains</key>
                            <true/>
                    </dict>
            </dict>
    </dict>
NSAppTransportSecurity
NSAllowsArbitraryLoads
NSExceptionDomains
亚马逊网站
NSExceptionRequiresForwardSecretary
N异常低安全Http负载
第三方例外最小版本
TLSv1.0
N第三方例外要求转发保密
n包括多个域
亚马逊网站
NSExceptionRequiresForwardSecretary
N异常低安全Http负载
第三方例外最小版本
TLSv1.0
N第三方例外要求转发保密
n包括多个域
p12(来自awsiot identity.p12中的“openssl pkcs12-info-in”)是:

MAC迭代2048
MAC验证正常
PKCS7加密数据:pbewithsha1和40bitrc2 CBC,迭代2048
证书袋
行李属性
localKeyID:5F 80 DC 6E AB F1 98 6A AA FC 0B 7B 04 F9 0E 66 99 E9 86 4F
主题=/CN=AWS物联网证书
issuer=/OU=Amazon Web Services O=Amazon.com Inc.L=西雅图ST=华盛顿C=US
-----开始证书-----
Miidccakggawibagiujqgfgjmobooq7ejo+NTRs5wr8KMwDQYJKoZIhvcNAQEL
BQAWTTFLMEKGA1UECWXCQW1HEM9UIFDLYIBTZXJ2AWNLCYBPUFTYXPVBI5JB20G
SW5JLIBMPVNLYXR0BGUGU1Q9V2FZAGLUZ3RVBIBDPVVTMB4XDE2MDCYNTA2NDU0
NloxDq5Mtizmtizntk1ovowhjecmboga1eawwtqvdtielvcbdzxj0awzpy2f0
ZTCCAsiwdqyjkozihvcnaqebqadggepadcaqocggebak57rck3ppdk22tpa+97
2 COZEO36LJPZ9M/0l6xHyeQiiVZMKGrkP3S+ej4Dgd+q4gviB2g5dc9T6jMwRSA8
QKDADXSPSMETCWDFY3POVOPSD7Z0S3LVWBSGTIZTFQO15YTYJHKS0GS9TBG1SI
Xijoyuxxehkojhum8yalul71jylxdmp5yhgvhz55usszurwue4ut4ebhj8+Ef+z
caJtJB6YMEeKpKMvZ0vrb+jHytD6s7K20SnfTvEHsXNwWIfwXsxmqkG9KHT7q9Dd
XlaeKiP0tWE/8ObOPk1W7xT9HTAvkrveJIEFYhMcfi0yTtxm9CyEG0p36yor2HAK
T/UCAWEAANGF4WHWYDVR0JBBGWFOAU8KEI7LBQZKZRV3IF5SWXGF9WTM8WHQYD
VR0OBBYEFM7oRgS5iXeFPcI4pzY/0BQCCE3MMAWGALUDEWEB/WQCMAWDGYDVR0P
AQH/BAQDAgeAMA0GCSqGSIb3DQEBCwUAA4IBAQBDzKiP+Gldz4RUe0QyMcYDWS0V
/3PEJTRJOD7IxUO9CZOCX46DXJKP1IJZUQNEAEP7OUQXOHEPQPDLBSYCxV3
i/Ty649c/d2dizYqO2iM+6M+xdDLYPBmEAD4aQ9Qj8TpnC5OCSdqGq9XCFLTnz4j
icx2lYS3COdfZbKs9KQG7dkPK7CWSjHHy21Ftz0zBx7wj5v+2LbCHCFMYN9+lYg
Jw1zUR/rGqTcQZHGUvgv3Mfp8xWtHDFhYAKnwGbhIxCanOM6An+yzEwLUEvkQ81Q
Lzv/yReCVHO4M0+JTW4Fu6BWEaTThPzdN3kQbIzJsViIL9Q6dfAXlvepkHr4
-----结束证书-----
PKCS7数据
带护罩的钥匙袋:PBewithsha1和3钥匙三重定位CBC,迭代2048
行李属性
localKeyID:5F 80 DC 6E AB F1 98 6A AA FC 0B 7B 04 F9 0E 66 99 E9 86 4F
关键属性:

为什么OSX失败而iOS成功

由于SSL握手问题,它失败。它正在检测一个无效的证书

报告并解决了类似的问题,引用了相同的错误代码。由于p12文件中存在多个标识,该问题可追溯到标识不匹配

在这种情况下,p12文件中有两个证书,但代码仅读取第一个证书


我建议转储.p12文件的内容,并确认证书。将它们发布到此处以查看。

如果您的OS X上缺少证书的签名CA,这取决于您创建证书的方式,您需要将CA导入密钥链。参考

这些答案都没有帮助。我最终从Amazon得到了一个答案,说“我们还不支持OSX MQTT。”这并不是特别有用,而且让人沮丧的是,该键有时在某些机器上工作,但我现在的选择是:

  • 也许有一天Amazon会支持OSX MQTT
  • 将嵌入式C SDK用于MQTT

  • 我们最近在MAC app store上发布了MQTTBox应用程序,以创建MQTT客户端和负载测试MQTT。您可以连接到任何可用的MQTT代理。那可能对你有帮助。请查看此以了解更多详细信息


    注意:我是这个工具的开发者之一。

    我发布了第12页。我看不出两个身份。嗨,罗德里戈,我可以付钱让你帮我。通过mi sitio web tel punto redI与我联系我们已将iOS SDK AWSCore和AWSIoT框架的基本端口连接到OS X。这里有一个示例应用程序,演示如何连接:
    MAC Iteration 2048
    MAC verified OK
    PKCS7 Encrypted data: pbeWithSHA1And40BitRC2-CBC, Iteration 2048
    Certificate bag
    Bag Attributes
        localKeyID: 5F 80 DC 6E AB F1 98 6A AA FC 0B 7B 04 F9 0E 66 99 E9 86 4F 
    subject=/CN=AWS IoT Certificate
    issuer=/OU=Amazon Web Services O=Amazon.com Inc. L=Seattle ST=Washington C=US
    -----BEGIN CERTIFICATE-----
    MIIDWTCCAkGgAwIBAgIUJQgfGjmoboOQ7eJo+NTRs5wr8KMwDQYJKoZIhvcNAQEL
    BQAwTTFLMEkGA1UECwxCQW1hem9uIFdlYiBTZXJ2aWNlcyBPPUFtYXpvbi5jb20g
    SW5jLiBMPVNlYXR0bGUgU1Q9V2FzaGluZ3RvbiBDPVVTMB4XDTE2MDcyNTA2NDU0
    NloXDTQ5MTIzMTIzNTk1OVowHjEcMBoGA1UEAwwTQVdTIElvVCBDZXJ0aWZpY2F0
    ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK57RCK3ppDk22TPA+97
    2coZeo36lJpZ9M/0l6xHyeQiiVZMKGrkP3S+ej4Dgd+q4gviB2g5dc9T6jMwRSA8
    qkdadxspSmEtCCwdFY3poVOpsD7Z0s3lVwBSgTiztfQo15yTyIjhkS0gS9tBg1sI
    xIJoYuxXEHkoJKHum8yaluL71jYLxdmp5YHGVHZ55ussZUrWuE4ut4EbHJ8+Ef+z
    caJtJB6YMEeKpKMvZ0vrb+jHytD6s7K20SnfTvEHsXNwWIfwXsxmqkG9KHT7q9Dd
    XlaeKiP0tWE/8ObOPk1W7xT9HTAvkrveJIEFYhMcfi0yTtxm9CyEG0p36yor2HAK
    T/UCAwEAAaNgMF4wHwYDVR0jBBgwFoAU8Kei7lBQZkzRV3if5sWxgF9WtM8wHQYD
    VR0OBBYEFM7oRgS5iXeFPcI4pzY/0BQCCE3mMAwGA1UdEwEB/wQCMAAwDgYDVR0P
    AQH/BAQDAgeAMA0GCSqGSIb3DQEBCwUAA4IBAQBDzKiP+Gldz4RUe0QyMcYDWS0V
    /3PeJTRjoD7IxUOO9czCZoCX46dxJkP1ijzuuqneaEPK7OUQxoHepqPdlbsycXv3
    i/Ty649c/d2dizYqO2iM+6M+xdDLYPBmEAD4aQ9Qj8TpnC5OCSdqGq9XCFLTnz4j
    icx2lYS3COdfZbKs9KQG7dkPK7CWSjHHy21Ftz0zBx7wj5v+2lNbcHCFmYn9+lYg
    Jw1zUR/rGqTcQZHGUvgv3Mfp8xWtHDFhYAKnwGbhIxCanOM6An+yzEwLUEvkQ81Q
    Lzv/yReCVHO4M0+JTW4Fu6BWEaTThPzdN3kQbIzJsViIL9Q6dfAXlvepkHr4
    -----END CERTIFICATE-----
    PKCS7 Data
    Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2048
    Bag Attributes
        localKeyID: 5F 80 DC 6E AB F1 98 6A AA FC 0B 7B 04 F9 0E 66 99 E9 86 4F 
    Key Attributes: <No Attributes>