diff --git a/adafruit_aws_iot.py b/adafruit_aws_iot.py index f8ffa62..f8fa392 100644 --- a/adafruit_aws_iot.py +++ b/adafruit_aws_iot.py @@ -79,7 +79,7 @@ def __init__(self, mmqttclient, keep_alive=30): # Shadow-interaction topic self.shadow_topic = "$aws/things/{}/shadow".format(self.cid) # Ensure set_certificate and set_private_key were run from ESP32SPI - assert self.client.wifi.esp.set_psk and self.client.wifi.esp.set_cert, "Certificate \ + assert self.client.wifi.esp.set_psk and self.client.wifi.esp.set_crt, "Certificate \ and private key must be set to your AWS Device Cert and Private Key." # keep_alive timer must be between 30 <= keep alive interval <= 1200 seconds # https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html diff --git a/certificates.py b/certificates.py deleted file mode 100644 index 0a65ec0..0000000 --- a/certificates.py +++ /dev/null @@ -1,47 +0,0 @@ -# Replace with the Device Certificate (.crt) from AWS IoT -DEVICE_CERT = "-----BEGIN CERTIFICATE-----\n"\ -"MIICljCCAX4CAQAwUTELMAkGA1UEBhMCVVMxETAPBgNVBAgMCE5ldyBZb3JrMREw\n"\ -"DwYDVQQHDAhOZXcgWW9yazEcMBoGA1UECgwTQWRhZnJ1aXQgSW5kdXN0cmllczCC\n"\ -"ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKQSbmfDnFDb1Ul+SjkGmX14\n"\ -"WpwNMH2hlkP2tyPTlCyks8mEN9q28Xs7ikT0K8mzhhuvuWkmwNEtEJimRpEq8i2L\n"\ -"foaxOzguCFBH0O+5PLzNpTH0AphIKPhE92xeR3rSO3KSVHESqL7CItXstogZO4br\n"\ -"h74bkL/UzS5EzIUv+vCLoiYV6sNt2PNcrSWHST1ARHLV94Qdkm6NKX2Ag3dndexk\n"\ -"8eZ014kzkfNtZm6S2+DXtc+CZLhZnyien0r1zIM9C1Heu9Fsjs7I20hWWgq9MjgM\n"\ -"NBTQxJQgTNvDzMNWV1uPEH23cht/j84UaVePGH+1NvWvFudVL2UPLeoxGTY9Or8C\n"\ -"AwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IBAQB0Oh669kmjdv8D20fQavzzHPZMO/WO\n"\ -"aAB8rXggOcyKSNpHys3kYmTLT3DPoswfYijOL/Owdzy/e38FBJhKq1THHVpOXtD+\n"\ -"3egaBOZxhEFCCuk1gi2+XGYuymE4YmFKYENUOeKX0rwgCMgt8v+PBUsVFFGsAfAl\n"\ -"cXeVI/5oTgCRKVsqEAQzGT2AmakLojpm1uqfoNXq+d70e8xC+gstxYWZAJTygSA7\n"\ -"3N2vqsQsN5H7ZGL+ZzoBeVGMH/5QHSr6emp4AWHe/OwmFiSyVYgCtX1OFxtJ6KC6\n"\ -"2wJhNj1KVGeVRnhXPHiT/+L92eZHi+eiu2SnRjNYxZsuma2Z+h8lK28w\n"\ -"-----END CERTIFICATE-----\n" - -# Replace with the RSA Private Key from AWS IoT -DEVICE_KEY = "-----BEGIN PRIVATE KEY-----\n"\ -"MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCkEm5nw5xQ29VJ\n"\ -"fko5Bpl9eFqcDTB9oZZD9rcj05QspLPJhDfatvF7O4pE9CvJs4Ybr7lpJsDRLRCY\n"\ -"pkaRKvIti36GsTs4LghQR9DvuTy8zaUx9AKYSCj4RPdsXkd60jtyklRxEqi+wiLV\n"\ -"7LaIGTuG64e+G5C/1M0uRMyFL/rwi6ImFerDbdjzXK0lh0k9QERy1feEHZJujSl9\n"\ -"gIN3Z3XsZPHmdNeJM5HzbWZuktvg17XPgmS4WZ8onp9K9cyDPQtR3rvRbI7OyNtI\n"\ -"VloKvTI4DDQU0MSUIEzbw8zDVldbjxB9t3Ibf4/OFGlXjxh/tTb1rxbnVS9lDy3q\n"\ -"MRk2PTq/AgMBAAECggEAIq0OjnmmIOTFSDobv7+oUv9Lzy1ucS7kjkqnXDgMWf8Z\n"\ -"TF7YWy5NDSmBSJ9+XavGjTVvb0zUdaEbn9eMlIPKGVwhCqCMjowUD7uN6gxxTMn9\n"\ -"vvf+UGb32bjhvhKS8t9Z1xYcKKWz6lUnfaUA0vTaQuKmlsRGrHRyRPQfcYq5c3sI\n"\ -"yv3a+KObNaVQphhri7NdCGyE0J0Ob4Pc7coKg8I7M9KbhUagfygkg33HtXd7rNPn\n"\ -"RLcn2UH74KuEX+Edx/2mFnEpdTplo5h0MRBMYG5rMJWiLDJlY5tcZ7k5IlzoN0gc\n"\ -"MjyIkmqF1NQ32KQ4xdN9I2J1w0e9syI9W/6y1uozcQKBgQDSF707g5wJRM2clMeQ\n"\ -"2+zdh28gRHhJwDJzoXPvxZvNR2iqxRyh1QAsR1C6pP7e8zPfwDlvpHrGYX+L1v2V\n"\ -"7G1taSGef6uPt8Mp6ahdkuWxr1+QqKmnqAlmMzWnpOTyKslN8YN9hX7KnRrPKJ3K\n"\ -"6baEy2ujqjb/o6gIlFfrN7uReQKBgQDH7F0e/CBTzts+aahFzjBdQdV0JLgZHYCJ\n"\ -"I3c7vYlc8IIVkAO7GHTB0F57tcekzGEhn3Vg7vIaXB6OwqidoGn2Slb7hropEEr8\n"\ -"xL+9WwzLPWFYcUMMLVZG6c4Yx8J3ikIjRztHKpTYy26CdFx+UruIEIGkCYF0u/Oj\n"\ -"3JWJfUIX9wKBgQDMayrFuJXfcuG45A6VxVdgaUHYHKcJ44dzePnMp/Kjt0KBPo9Q\n"\ -"a2birnU/VgFjvzGPGYMJPPn1ArLOxt4wvT3wAiYjCUhN61hq9J3Mhn0V+XS71VBW\n"\ -"ACs9FMC1IL1fYABE5aSyQm0PCfQm8vctk1/zL9bJBXrEHGIIDwbIqI7JyQKBgQCR\n"\ -"ZE7QktE7wcrmF9a9dVbs60y9m1qbQT5R/Y3fz1ZPVcV0wvhDn2SB8vRTiX54Vf4p\n"\ -"gprNdNhy3R2H+v6/K4MED0o0v+Uwqd2u97LtlYK3Z5scw7nb6Di/d5dfpB7D6rNw\n"\ -"joQInGoFQ+TJULBXWflx2Xc+gX85Etr8BxZlF8fyPwKBgQCkBmi9s0rAqdNLB28Q\n"\ -"31+q39XZMMlT8BPJ225GwekjWiIL6n0Jrm/KkZ6fureBYm3STGLvQbWBao61n4vp\n"\ -"1bSncfADm8rgdkf+/iokP9uZnEIwo050pNNpIFgsJVT2mmu2tHdQFFT6UluQL9q2\n"\ -"733Hks5cHEhAinxLfgLh81+HsQ==\n" -"-----END PRIVATE KEY-----\n" diff --git a/examples/aws_iot_shadows.py b/examples/aws_iot_shadows.py index a26217c..12069ea 100644 --- a/examples/aws_iot_shadows.py +++ b/examples/aws_iot_shadows.py @@ -18,12 +18,20 @@ print("WiFi secrets are kept in secrets.py, please add them there!") raise -# Get device certificate and private key from a certificates.py file +# Get device certificate try: - from certificates import DEVICE_CERT, DEVICE_KEY + with open("aws_cert.pem.crt", "rb") as f: + DEVICE_CERT = f.read() except ImportError: - print("Certificate and private key data is kept in certificates.py, \ - please add them there!") + print("Certificate (aws_cert.pem.crt) not found on CIRCUITPY filesystem.") + raise + +# Get device private key +try: + with open("private.pem.key", "rb") as f: + DEVICE_KEY = f.read() +except ImportError: + print("Certificate (private.pem.key) not found on CIRCUITPY filesystem.") raise # If you are using a board with pre-defined ESP32 Pins: diff --git a/examples/aws_iot_simpletest.py b/examples/aws_iot_simpletest.py index 58e9279..09d41a4 100644 --- a/examples/aws_iot_simpletest.py +++ b/examples/aws_iot_simpletest.py @@ -18,12 +18,20 @@ print("WiFi secrets are kept in secrets.py, please add them there!") raise -# Get device certificate and private key from a certificates.py file +# Get device certificate try: - from certificates import DEVICE_CERT, DEVICE_KEY + with open("aws_cert.pem.crt", "rb") as f: + DEVICE_CERT = f.read() except ImportError: - print("Certificate and private key data is kept in certificates.py, \ - please add them there!") + print("Certificate (aws_cert.pem.crt) not found on CIRCUITPY filesystem.") + raise + +# Get device private key +try: + with open("private.pem.key", "rb") as f: + DEVICE_KEY = f.read() +except ImportError: + print("Certificate (private.pem.key) not found on CIRCUITPY filesystem.") raise # If you are using a board with pre-defined ESP32 Pins: