Directly Pass SSL certificates
-
Hi All, Good Day.
I am using my Gpy board to connect AWS IoT core using the mqtt.py library. There is no issue that arises when I connect with AWS IoT using SSL certificates, SSL certificates were saved in a separate file and I accessing their directory. But the requirement is SSL certificates need to be in the buffer or string, so when I directly pass the string containing SSL certificates in mqtt.MQTTClient() method, there appears a whole lot of issues.Here is the code for refrence
AWS_CLIENT_CERT = "MIIDWjCCAkKgAwIBAgIVAMRIbQzWQ" # Complete certificate AWS_PRIVATE_KEY = "MIIEowIBAAKCAQEAmVfhZ40rnuK" #Complete key AWS_Port = 8883 AWS_URL = "AWS URL" clientID = "PYCOM_GPY_3" topicPb = "$aws/things/update" topicSb= "$aws/things/update/accepted" client = mqtt.MQTTClient("PYCOMGPY3", "AWS_URL", port=8883, keepalive=10000, ssl=True, ssl_params={ "certfile":AWS_CLIENT_CERT, "keyfile":AWS_PRIVATE_KEY #"server_side"=False }) time.sleep(2) client.set_callback(sub_cb) #client.subscribe(topic=topicSb) client.connect()
Here debug output.
/Users/ehlers/pycom/pycom-esp-idf/components/freertos/queue.c:1442 (xQueueGenericReceive)- assert failed! abort() was called at PC 0x400943a0 on core 1 ELF file SHA256: 0000000000000000000000000000000000000000000000000000000000000000 Backtrace: 0x4008eeef:0x3ffd7960 0x4008f071:0x3ffd7980 0x400943a0:0x3ffd79a0 0x40112893:0x3ffd79e0 0x400e17b9:0x3ffd7a00 0x400e2c25:0x3ffd7a50 0x400f4268:0x3ffd7bc0 0x40116d62:0x3ffd7c40 0x40101459:0x3ffd7cc0 0x400fd811:0x3ffd7cf0 0x400fded0:0x3ffd7d10 0x401098a1:0x3ffd7d70 0x40101500:0x3ffd7e10 0x400fd811:0x3ffd7e90 0x400fd8a1:0x3ffd7eb0 0x40109853:0x3ffd7ed0 0x40101500:0x3ffd7f70 0x400fd811:0x3ffd7fa0 0x400fd83e:0x3ffd7fc0 0x400e12e5:0x3ffd7fe0 0x400e1431:0x3ffd8080 0x400e0006:0x3ffd80b0 ================= CORE DUMP START ================= KDkAAAEAAAAQAAAAbAEAAA== /EP8P6B4/T/kgf0/ 0Hf9P4CB/T8xBAIAGEH8PxhB/D/8Q/w/EEH8Pw4AAADgdfs/4HX7P/xD/D8AAAAA CwAAAOhR/T9NaWNyb1B5AAAAAAAAAAAAAQAAAOSB/T8AAAAAIA8GAAsAAAABAAAA +DT7PxyS/D8AAAAAAAAAAAAAAADUZPs/PGX7P6Rl+z8AAAAAAAAAAAEAAAAAAAAA Z4RAPwAAAABoGAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAA== A whole lot of other garbage data in between. ================= CORE DUMP END ================= Rebooting... ets Jun 8 2016 00:22:57 rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:1 load:0x3fff8020,len:8 load:0x3fff8028,len:2140 ho 0 tail 12 room 4 load:0x4009fa00,len:19740 entry 0x400a05bc Pycom MicroPython 1.20.2.r3 [v1.11-d945d33ee] on 2020-03-08; GPy with ESP32 Type "help()" for more information.
Please guide me on this issue any help would be appreciated.
-
Hello everyone, Hello @Abdul-Rehman
A year later but might you see it what was your solution for this kind of error? I have quite the same case in my code. So I try to connect a client on the gpy and get it along with a localhost server.
Server-side:
httpd.socket = ssl.wrap_socket(httpd.socket, server_side=True, certfile='cert.pem', keyfile='key.pem', ssl_version=ssl.PROTOCOL_TLS)
Client-side:
socket_get = ussl.wrap_socket(socket_get, certfile='cert5.pem', keyfile='key5.pem', server_side=False)
In my case peters (not known) home folder is called.
/home/peter/docs/pycom-esp-idf/components/freertos/queue.c:1442 (xQueueGenericReceive)- assert failed! abort() was called at PC 0x40094114 on core 1 ELF file SHA256: 0000000000000000000000000000000000000000000000000000000000000000 Backtrace: 0x4008ef0f:0x3ffd8140 0x4008f091:0x3ffd8160 0x40094114:0x3ffd8180 0x401130e7:0x3ffd81c0 0x400e17e5:0x3ffd81e0 0x400e2c51:0x3ffd8230 0x400f4760:0x3ffd83a0 0x401175be:0x3ffd8420 0x40101a19:0x3ffd84a0 0x400fddb5:0x3ffd84d0 0x400fde45:0x3ffd84f0 0x40109e13:0x3ffd8510 0x40101ac0:0x3ffd85b0 0x400fddb5:0x3ffd85e0 0x400fe470:0x3ffd8600 0x40109dc5:0x3ffd8660 0x40101ac0:0x3ffd8700 0x400fddb5:0x3ffd8770 0x400fde45:0x3ffd8790 0x40109e13:0x3ffd87b0 0x40101ac0:0x3ffd8850 0x400fddb5:0x3ffd8880 0x400fde45:0x3ffd88a0 0x40109e13:0x3ffd88c0 0x40101ac0:0x3ffd8960 0x400fddb5:0x3ffd89e0 0x400fde45:0x3ffd8a00 0x40109e13:0x3ffd8a20 0x40101ac0:0x3ffd8ac0 0x400fddb5:0x3ffd8af0 0x400fde45:0x3ffd8b10 0x40109e13:0x3ffd8b30 0x40101ac0:0x3ffd8bd0 0x400fddb5:0x3ffd8c40 0x400fdde2:0x3ffd8c60 0x400e1311:0x3ffd8c80 0x400e15b5:0x3ffd8d20 0x400e0020:0x3ffd8d40
Has anyone a idea what I am doing wrong?