aws / aws-iot-device-sdk-arduino-yun

SDK for connecting to AWS IoT from an Arduino Yún.
Apache License 2.0
163 stars 77 forks source link

Connect Failed! (-10) issue using BasicPubSub Example #41

Closed Victor9936084 closed 6 years ago

Victor9936084 commented 7 years ago

Hello, I am trying to connect my YUN (with OpenWrt) to AWS IoT using this SDK. I have followed every step carefully, and sometime i got success and sometime it return "Connect failed" with code "-10" when I try using BasicPubSub Example. I have tried to run script on YUN to connect AWS IoT, it also sometimes success and sometimes fail.

My config is: //=======================================================

define AWS_IOT_MQTT_HOST "ae83bn430lcel.iot.ap-southeast-1.amazonaws.com" // your endpoint

define AWS_IOT_MQTT_PORT 8883 // your port

define AWS_IOT_CLIENT_ID "DS01" // your client ID

define AWS_IOT_MY_THING_NAME "Testing03" // your thing name

define AWS_IOT_ROOT_CA_FILENAME "rootCA.crt" // your root-CA filename

define AWS_IOT_CERTIFICATE_FILENAME "certificate.pem.crt" // your certificate filename

define AWS_IOT_PRIVATE_KEY_FILENAME "private.pem.key" // your private key filename

//=============================================================== // SDK config, DO NOT modify it

define AWS_IOT_PATH_PREFIX "../certs/"

define AWS_IOT_ROOT_CA_PATH AWS_IOT_PATH_PREFIX AWS_IOT_ROOT_CA_FILENAME // use this in config call

define AWS_IOT_CERTIFICATE_PATH AWS_IOT_PATH_PREFIX AWS_IOT_CERTIFICATE_FILENAME // use this in config call

define AWS_IOT_PRIVATE_KEY_PATH AWS_IOT_PATH_PREFIX AWS_IOT_PRIVATE_KEY_FILENAME // use this in config call

endif

//-------------------------------------------------------------------- Here is the log of success when i use script to connect AWS IoT: root@DS:~/aws-iot-device-sdk-python-master/samples/basicPubSub# python basicPubSub.py -e ae83bn430lcel.iot.ap-southeast-1.amazonaws.com -r /root/AWS-IoT-Python-Runtime/certs/rootCA.crt -c /root/AWS-IoT-Python-Runtime/certs/certificate.pem.crt -k /root/AWS-IoT-Python-Runtime/certs/private.pem.key 2017-03-20 04:31:12,006 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Paho MQTT Client init. 2017-03-20 04:31:12,010 - AWSIoTPythonSDK.core.protocol.mqttCore - INFO - ClientID: basicPubSub 2017-03-20 04:31:12,013 - AWSIoTPythonSDK.core.protocol.mqttCore - INFO - Protocol: MQTTv3.1.1 2017-03-20 04:31:12,017 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Register Paho MQTT Client callbacks. 2017-03-20 04:31:12,019 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - mqttCore init. 2017-03-20 04:31:12,022 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Load CAFile from: /root/AWS-IoT-Python-Runtime/certs/rootCA.crt 2017-03-20 04:31:12,024 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Load Key from: /root/AWS-IoT-Python-Runtime/certs/private.pem.key 2017-03-20 04:31:12,031 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Load Cert from: /root/AWS-IoT-Python-Runtime/certs/certificate.pem.crt 2017-03-20 04:31:12,035 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Custom setting for backoff timing: baseReconnectTime = 1 sec 2017-03-20 04:31:12,038 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Custom setting for backoff timing: maximumReconnectTime = 32 sec 2017-03-20 04:31:12,042 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Custom setting for backoff timing: minimumConnectTime = 20 sec 2017-03-20 04:31:12,046 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Custom setting for publish queueing: queueSize = -1 2017-03-20 04:31:12,049 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Custom setting for publish queueing: dropBehavior = Drop Newest 2017-03-20 04:31:12,053 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Custom setting for draining interval: 0.5 sec 2017-03-20 04:31:12,056 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Set maximum connect/disconnect timeout to be 10 second. 2017-03-20 04:31:12,059 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Set maximum MQTT operation timeout to be 5 second 2017-03-20 04:31:12,065 - AWSIoTPythonSDK.core.protocol.mqttCore - INFO - Connection type: TLSv1.2 Mutual Authentication 2017-03-20 04:31:14,216 - AWSIoTPythonSDK.core.protocol.mqttCore - INFO - Connected to AWS IoT. 2017-03-20 04:31:14,219 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Connect time consumption: 260.0ms. 2017-03-20 04:31:14,214 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Connect result code 0 2017-03-20 04:31:14,229 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Started a subscribe request 1 2017-03-20 04:31:15,100 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - _resubscribeCount: -1 2017-03-20 04:31:15,103 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Subscribe request 1 sent. 2017-03-20 04:31:15,107 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Subscribe request 1 succeeded. Time consumption: 860.0ms. 2017-03-20 04:31:15,110 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Recover subscribe context for the next request: subscribeSent: False 2017-03-20 04:31:17,120 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Try to put a publish request 2 in the TCP stack. 2017-03-20 04:31:17,123 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Publish request 2 succeeded. Received a new message: New Message 0 from topic: sdk/test/Python

2017-03-20 04:31:18,129 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Try to put a publish request 3 in the TCP stack. 2017-03-20 04:31:18,132 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Publish request 3 succeeded. Received a new message: New Message 1 from topic: sdk/test/Python

//--------------------------------------------------- Here is the log of failure when i use script to connect AWS IoT: root@DS:~/aws-iot-device-sdk-python-master/samples/basicPubSub# python -V Python 2.7.3 root@DS:~/aws-iot-device-sdk-python-master/samples/basicPubSub# openssl version -v OpenSSL 1.0.1h 5 Jun 2014 root@DS:~/aws-iot-device-sdk-python-master/samples/basicPubSub# python basicPubSub.py -e ae83bn430lcel.iot.ap-southeast-1.amazonaws.com -r /root/AWS-IoT-Python-Runtime/certs/rootCA.crt -c /root/AWS-IoT-Python-Runtime/certs/certificate.pem.crt -k /root/AWS-IoT-Python-Runtime/certs/private.pem.key 2016-04-07 12:21:39,823 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Paho MQTT Client init. 2016-04-07 12:21:39,826 - AWSIoTPythonSDK.core.protocol.mqttCore - INFO - ClientID: basicPubSub 2016-04-07 12:21:39,830 - AWSIoTPythonSDK.core.protocol.mqttCore - INFO - Protocol: MQTTv3.1.1 2016-04-07 12:21:39,833 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Register Paho MQTT Client callbacks. 2016-04-07 12:21:39,837 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - mqttCore init. 2016-04-07 12:21:39,841 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Load CAFile from: /root/AWS-IoT-Python-Runtime/certs/rootCA.crt 2016-04-07 12:21:39,844 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Load Key from: /root/AWS-IoT-Python-Runtime/certs/private.pem.key 2016-04-07 12:21:39,848 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Load Cert from: /root/AWS-IoT-Python-Runtime/certs/certificate.pem.crt 2016-04-07 12:21:39,852 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Custom setting for backoff timing: baseReconnectTime = 1 sec 2016-04-07 12:21:39,854 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Custom setting for backoff timing: maximumReconnectTime = 32 sec 2016-04-07 12:21:39,857 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Custom setting for backoff timing: minimumConnectTime = 20 sec 2016-04-07 12:21:39,859 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Custom setting for publish queueing: queueSize = -1 2016-04-07 12:21:39,864 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Custom setting for publish queueing: dropBehavior = Drop Newest 2016-04-07 12:21:39,868 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Custom setting for draining interval: 0.5 sec 2016-04-07 12:21:39,871 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Set maximum connect/disconnect timeout to be 10 second. 2016-04-07 12:21:39,875 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Set maximum MQTT operation timeout to be 5 second 2016-04-07 12:21:39,879 - AWSIoTPythonSDK.core.protocol.mqttCore - INFO - Connection type: TLSv1.2 Mutual Authentication Traceback (most recent call last): File "basicPubSub.py", line 133, in myAWSIoTMQTTClient.connect() File "/usr/lib/python2.7/site-packages/AWSIoTPythonSDK/MQTTLib.py", line 403, in connect return self._mqttCore.connect(keepAliveIntervalSecond) File "/usr/lib/python2.7/site-packages/AWSIoTPythonSDK/core/protocol/mqttCore.py", line 290, in connect self._pahoClient.connect(self._host, self._port, keepAliveInterval) # Throw exception... File "/usr/lib/python2.7/site-packages/AWSIoTPythonSDK/core/protocol/paho/client.py", line 655, in connect return self.reconnect() File "/usr/lib/python2.7/site-packages/AWSIoTPythonSDK/core/protocol/paho/client.py", line 798, in reconnect ciphers=self._tls_ciphers) File "/usr/lib/python2.7/ssl.py", line 381, in wrap_socket ciphers=ciphers) File "/usr/lib/python2.7/ssl.py", line 143, in init self.do_handshake() File "/usr/lib/python2.7/ssl.py", line 305, in do_handshake self._sslobj.do_handshake() ssl.SSLError: [Errno 1] _ssl.c:504: error:14090086:lib(20):func(144):reason(134)

Please help me, thanks! @liuszeng

liuszeng commented 7 years ago

Hi @Victor9936084 ,

Thank you very much for your interest in AWS IoT Python SDK.

From the error code, it seems that the client is not recognize the server certificate coming back from the ssl handshake. I found something related to this specific error: http://blaoism.blogspot.com/2010/05/sslerrorssl-error14090086lib20func144re.html

Are you using self-signed certificate? Can you try the following command on OpenWRT and attach the output logs so that we can further spot the root cause?

openssl s_client -connect <customer endpoint>:8883 -tls1_2 -CAfile <path to Root CA cert> -cert <Path to device cert> -key <Path to device private key>

Since you mentioned that it is happening occasionally, can you try again using another network?

Thanks, Liusu

Victor9936084 commented 7 years ago

@liuszeng Thanks for your help. For certificate, it's generated by AWS IoT, not self-signed. I tried python and command you suggested, and can't connect to server both, here is the log: root@DS:~/aws-iot-device-sdk-python-master/samples/basicPubSub# python basicPubSub.py -e ae83bn430lcel.iot.ap-southeast-1.amazonaws.com -r /root/AWS-IoT-Python-Runtime/cer ts/rootCA.crt -c /root/AWS-IoT-Python-Runtime/certs/certificate.pem.crt -k /root/AWS-IoT-Python-Runtime/certs/private.pem.key 2016-06-01 20:42:49,522 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Paho MQTT Client init. 2016-06-01 20:42:49,525 - AWSIoTPythonSDK.core.protocol.mqttCore - INFO - ClientID: basicPubSub 2016-06-01 20:42:49,529 - AWSIoTPythonSDK.core.protocol.mqttCore - INFO - Protocol: MQTTv3.1.1 2016-06-01 20:42:49,532 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Register Paho MQTT Client callbacks. 2016-06-01 20:42:49,536 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - mqttCore init. 2016-06-01 20:42:49,540 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Load CAFile from: /root/AWS-IoT-Python-Runtime/certs/rootCA.crt 2016-06-01 20:42:49,543 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Load Key from: /root/AWS-IoT-Python-Runtime/certs/private.pem.key 2016-06-01 20:42:49,547 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Load Cert from: /root/AWS-IoT-Python-Runtime/certs/certificate.pem.crt 2016-06-01 20:42:49,550 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Custom setting for backoff timing: baseReconnectTime = 1 sec 2016-06-01 20:42:49,552 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Custom setting for backoff timing: maximumReconnectTime = 32 sec 2016-06-01 20:42:49,555 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Custom setting for backoff timing: minimumConnectTime = 20 sec 2016-06-01 20:42:49,557 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Custom setting for publish queueing: queueSize = -1 2016-06-01 20:42:49,562 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Custom setting for publish queueing: dropBehavior = Drop Newest 2016-06-01 20:42:49,566 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Custom setting for draining interval: 0.5 sec 2016-06-01 20:42:49,570 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Set maximum connect/disconnect timeout to be 10 second. 2016-06-01 20:42:49,573 - AWSIoTPythonSDK.core.protocol.mqttCore - DEBUG - Set maximum MQTT operation timeout to be 5 second 2016-06-01 20:42:49,577 - AWSIoTPythonSDK.core.protocol.mqttCore - INFO - Connection type: TLSv1.2 Mutual Authentication Traceback (most recent call last): File "basicPubSub.py", line 133, in myAWSIoTMQTTClient.connect() File "/usr/lib/python2.7/site-packages/AWSIoTPythonSDK/MQTTLib.py", line 355, in connect return self._mqttCore.connect(keepAliveIntervalSecond) File "/usr/lib/python2.7/site-packages/AWSIoTPythonSDK/core/protocol/mqttCore.py", line 282, in connect self._pahoClient.connect(self._host, self._port, keepAliveInterval) # Throw exception... File "/usr/lib/python2.7/site-packages/AWSIoTPythonSDK/core/protocol/paho/client.py", line 655, in connect return self.reconnect() File "/usr/lib/python2.7/site-packages/AWSIoTPythonSDK/core/protocol/paho/client.py", line 798, in reconnect ciphers=self._tls_ciphers) File "/usr/lib/python2.7/ssl.py", line 381, in wrap_socket ciphers=ciphers) File "/usr/lib/python2.7/ssl.py", line 143, in init self.do_handshake() File "/usr/lib/python2.7/ssl.py", line 305, in do_handshake self._sslobj.do_handshake() ssl.SSLError: [Errno 1] _ssl.c:504: error:14090086:lib(20):func(144):reason(134)

//---------- root@DS:~/aws-iot-device-sdk-python-master/samples/basicPubSub# openssl s_client -connect ae83bn430lcel.iot.ap-southeast-1.amazonaws.com:8883 -tls1_2 -CAfile /root/AWS-IoT -Python-Runtime/certs/rootCA.crt -cert /root/AWS-IoT-Python-Runtime/certs/certificate.pem.crt -key /root/AWS-IoT-Python-Runtime/certs/private.pem.key CONNECTED(00000003) depth=2 C = US, O = "VeriSign, Inc.", OU = VeriSign Trust Network, OU = "(c) 2006 VeriSign, Inc. - For authorized use only", CN = VeriSign Class 3 Public Primary Certification Authority - G5 verify return:1 depth=1 C = US, O = Symantec Corporation, OU = Symantec Trust Network, CN = Symantec Class 3 Secure Server CA - G4 verify return:1 depth=0 C = US, ST = Washington, L = Seattle, O = "Amazon.com, Inc.", CN = .iot.ap-southeast-1.amazonaws.com verify error:num=9:certificate is not yet valid notBefore=Jan 31 00:00:00 2017 GMT verify return:1 depth=0 C = US, ST = Washington, L = Seattle, O = "Amazon.com, Inc.", CN = .iot.ap-southeast-1.amazonaws.com notBefore=Jan 31 00:00:00 2017 GMT verify return:1 //--------------------- Certificate chain 0 s:/C=US/ST=Washington/L=Seattle/O=Amazon.com, Inc./CN=.iot.ap-southeast-1.amazonaws.com i:/C=US/O=Symantec Corporation/OU=Symantec Trust Network/CN=Symantec Class 3 Secure Server CA - G4 1 s:/C=US/O=Symantec Corporation/OU=Symantec Trust Network/CN=Symantec Class 3 Secure Server CA - G4 i:/C=US/O=VeriSign, Inc./OU=VeriSign Trust Network/OU=(c) 2006 VeriSign, Inc. - For authorized use only/CN=VeriSign Class 3 Public Primary Certification Authority - G5 //--------------------- Server certificate //-----BEGIN CERTIFICATE----- MIIGJjCCBQ6gAwIBAgIQEWNBmcCfvO2RKy+NEAaOoDANBgkqhkiG9w0BAQsFADB+ MQswCQYDVQQGEwJVUzEdMBsGA1UEChMUU3ltYW50ZWMgQ29ycG9yYXRpb24xHzAd BgNVBAsTFlN5bWFudGVjIFRydXN0IE5ldHdvcmsxLzAtBgNVBAMTJlN5bWFudGVj IENsYXNzIDMgU2VjdXJlIFNlcnZlciBDQSAtIEc0MB4XDTE3MDEzMTAwMDAwMFoX DTE4MDIyNTIzNTk1OVowfDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCldhc2hpbmd0 b24xEDAOBgNVBAcMB1NlYXR0bGUxGTAXBgNVBAoMEEFtYXpvbi5jb20sIEluYy4x KzApBgNVBAMMIiouaW90LmFwLXNvdXRoZWFzdC0xLmFtYXpvbmF3cy5jb20wggEi MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCQzvwhOs09RiNCPIArCiPBOv1c 31y3nplnO0P5V/3uZwcWcQ3moKhj1Ff+OHpCNHx7HISH3kOn+01Q9GApoTqSOVoi soMRulcdc0DH44qlfDchLCu06pgPkgI6KACYS8DRfYCOOhBWnQ9vYdCzUBlNHkoI 9uZrq05Cj6uAVFxlmdWBBGPsknYwCY/QrQhPQ81kQykBtmx+R/jYJrAVWCtqQuF7 zAMWtjmIdRwBYKsJJQcxb0djKfTnCVubdcuvcYyaVjWlMRqOZ4Q4+e1z164HiEIW CjHN/SCIkC9YwHnDs6Inpq8r/LcaZYeppu1RdVb95cpDPUUEQIplXpmE23KbAgMB AAGjggKgMIICnDBPBgNVHREESDBGgiBpb3QuYXAtc291dGhlYXN0LTEuYW1hem9u YXdzLmNvbYIiKi5pb3QuYXAtc291dGhlYXN0LTEuYW1hem9uYXdzLmNvbTAJBgNV HRMEAjAAMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYB BQUHAwIwYQYDVR0gBFowWDBWBgZngQwBAgIwTDAjBggrBgEFBQcCARYXaHR0cHM6 Ly9kLnN5bWNiLmNvbS9jcHMwJQYIKwYBBQUHAgIwGQwXaHR0cHM6Ly9kLnN5bWNi LmNvbS9ycGEwHwYDVR0jBBgwFoAUX2DPYZBV34RDFIpgKrL1evRDGO8wKwYDVR0f BCQwIjAgoB6gHIYaaHR0cDovL3NzLnN5bWNiLmNvbS9zcy5jcmwwVwYIKwYBBQUH AQEESzBJMB8GCCsGAQUFBzABhhNodHRwOi8vc3Muc3ltY2QuY29tMCYGCCsGAQUF BzAChhpodHRwOi8vc3Muc3ltY2IuY29tL3NzLmNydDCCAQMGCisGAQQB1nkCBAIE gfQEgfEA7wB2AN3rHSt6DU+mIIuBrYFocH4ujp0B1VyIjT0RxM227L7MAAABWfaB 15YAAAQDAEcwRQIgAxwJi+gKsJrZiUor6IUrwmZByjO5/h2hRASxlstEFz8CIQDZ l5bce3FYYSKa0jbX3jkXIZWCkEJUY+cVq4rdoBKjKAB1AKS5CZC0GFgUh7sTosxn cAo8NZgE+RvfuON3zQ7IDdwQAAABWfaB174AAAQDAEYwRAIgAZchj1i5A39irpR6 eOmk5H5gGs5CXeCHebjWABpV66ICIGZH81C0REAtHZ4nS4bx8GzEFIPar7XFUjQI zYtxurV/MA0GCSqGSIb3DQEBCwUAA4IBAQBzzx3FB5RFQZNduUf4tC04ETiJlzWU 0pJPcANu5bngDPQ3QXGHkb7k0SdNqyus2J8crpEAp1iu8uzUeh8xonUtVjTPa7Vx Me7AhXuxgKhJR2fU4JOuFhEoipdpjEs1wWQJLkWxWe8mHo7vpLMJYWIoVlu6EaPW qUV9fAPgXSPwMqlH7HUSXRBYv5E6DmtCdAJW01CetqQOcVYapEgoiKWI4BXdqOtm uHFtvzI3+yYuFPiPeB0xaQsI1cNyIShumZbEPZHeDj4RalXjWd1124Q7ChFFhDZ2 fx253VZapswFA5otIpwnBYuHEPR9aaxVFwJJcXHAgT4p9P7VDnd0kQpq //-----END CERTIFICATE----- subject=/C=US/ST=Washington/L=Seattle/O=Amazon.com, Inc./CN=.iot.ap-southeast-1.amazonaws.com issuer=/C=US/O=Symantec Corporation/OU=Symantec Trust Network/CN=Symantec Class 3 Secure Server CA - G4 //--- No client certificate CA names sent //--- SSL handshake has read 3661 bytes and written 1528 bytes //--- New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA Server public key is 2048 bit Secure Renegotiation IS supported Compression: NONE Expansion: NONE SSL-Session: Protocol : TLSv1.2 Cipher : DHE-RSA-AES256-SHA Session-ID: 58D33A0224A60533DF00B5F853647A343915C93E79C320DBFF9A2EAD6751EFC7 Session-ID-ctx: Master-Key: 0FAA279167BEBC5A4D8F342709A074776A3D0A2F7929C6B9F1E2859D2DFACBD7765FE203AEE5935F6AD5AA178E6D86B8 Key-Arg : None PSK identity: None PSK identity hint: None SRP username: None Start Time: 1464813779 Timeout : 7200 (sec) Verify return code: 9 (certificate is not yet valid) //--- closed

For the network, the BasicPubSub Example can run properly 2 month ago, and it began to unstable this month. Maybe because i'm in China?

hedeshianaws commented 6 years ago

Thank you for using AWS IoT. For connectivity issues not related to particular SDK (i.e.. random drop-outs with multiple SDKs), you might have better luck on the AWS forums.

Since this appears to be a connectivity issue with no activity since March, I'm closing. Please feel free to open a new issue if you have any additional questions about the SDK.