espressif / esp-mqtt

ESP32 mqtt component
Apache License 2.0
603 stars 255 forks source link

TRANS_SSL: mbedtls_ssl_handshake returned -0x2700 #47

Closed borch84 closed 6 years ago

borch84 commented 6 years ago

Hi I am trying to connect to my mqtt broker using SSL. I am copying my certificates directly to the code just for testing:

const char* raspberrypi_pem=\ //next server certificate of my raspberrypi 192_mqtt_srv.crt "-----BEGIN CERTIFICATE-----\n"\ "MIIDlDCCAnwCCQDokqMaDCZuYzANBgkqhkiG9w0BAQsFADCBizELMAkGA1UEBhMC\n"\ ...TRUNCATED... "/wNyf821mrUkNOqo8yH1KN21qJkJQb3hbbmHlEuw2DSKdMAZDTDb7NcH89kYPVWf\n"\ "b+jcOvfgFW8=\n"\ "-----END CERTIFICATE-----\n"\ //next server key from my pi 192_mqtt_server.key "-----BEGIN RSA PRIVATE KEY-----\n"\ "MIIEogIBAAKCAQEAxnBrr2URRKS4qTlBW1nq4hW3/DOC51ukUZVKCg4w8B8uhWgB\n"\ ...TRUNCATED... "vm4b5eTD59jUGQMMT66wiSUc0VaPeFkWZc6H48aLBkih0QljoMGA5udejXCZoMIU\n"\ "xtg+Elmrwp+6Li/BjtpLie+xJYHWFRwqk+NupXzLiIz/F+VULtY=\n"\ "-----END RSA PRIVATE KEY-----\n"\ //next CA root certificate from my raspberrypi: 192_mqtt_ca.crt "-----BEGIN CERTIFICATE-----\n"\ "MIID7jCCAtagAwIBAgIJALRpVJTQuFNvMA0GCSqGSIb3DQEBCwUAMIGLMQswCQYD\n"\ ...TRUNCATED... "2w3jmt1V5v9HsST/CYoBzAgMe9oylpr7miJF1e1iB3tdNTGqrprZAi+wMWydHTDc\n"\ "do0=\n"\ "-----END CERTIFICATE-----\n";

I cat contents of the files the server certificate, server key and mqtt ca certificate to create variable raspberrypi_pem. I used same approach with Adafruit MQTT examples and the same ESP32 dev module.

Next I call the raspberrypi const char definition:

const esp_mqtt_client_config_t mqtt_cfg = { .uri = "mqtts://192.168.0.16:8883", .event_handle = mqtt_event_handler, //.cert_pem = (const char *)iot_eclipse_org_pem_start, .cert_pem = raspberrypi_pem, };

Fom the console I getting this message:

W (107474) MQTT_CLIENT: Connection refused, not authorized

From my mqtt broker's log I see this:

1526754871: Sending CONNACK to 192.168.0.33 (0, 5) 1526754871: Socket error on client , disconnecting

Thank you.

borch84 commented 6 years ago

I forgot to add the username and password of my mqtt broker. Now I can connect to my mqtt broker using SSL. Thank you