ESP32 HTTPS REST Please Help me!

Hello everyone. I tried to connect with HTTPS to make REST calls. I acquired the site certificate to try but I can't connect.
i am only connecting to one site, so the code is right.
I attach my sketch.

#include <Arduino.h>
#include <WiFi.h>
#include <WiFiMulti.h>
#include <HTTPClient.h>
#define USE_SERIAL Serial

WiFiMulti wifiMulti;

const char* ca = \ 
     "-----BEGIN CERTIFICATE-----\n" \
     "MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/\n" \
     "MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT\n" \
     "DkRTVCBSb290IENBIFgzMB4XDTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVow\n" \
     "PzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQD\n" \
     "Ew5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\n" \
     "AN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmTrE4O\n" \
     "rz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEq\n" \
     "OLl5CjH9UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9b\n" \
     "xiqKqy69cK3FCxolkHRyxXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw\n" \
     "7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40dutolucbY38EVAjqr2m7xPi71XAicPNaD\n" \
     "aeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV\n" \
     "HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQMA0GCSqG\n" \
     "SIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69\n" \
     "ikugdB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXr\n" \
     "AvHRAosZy5Q6XkjEGB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZz\n" \
     "R8srzJmwN0jP41ZL9c8PDHIyh8bwRLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5\n" \
     "JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubSfZGL+T0yjWW06XyxV3bqxbYo\n" \
     "Ob8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ\n" \
     "-----END CERTIFICATE-----\n";

const char* ca2 = \ 
"-----BEGIN CERTIFICATE-----\n" \
"MIIDwTCCA0egAwIBAgISBAdWg960qpifwAOY11y9wT2BMAoGCCqGSM49BAMDMDIx\n" \
"CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQDEwJF\n" \
"MTAeFw0yMzA1MDYwNDM1MDFaFw0yMzA4MDQwNDM1MDBaMBcxFTATBgNVBAMTDHR5\n" \
"cGljb2RlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABBIa2cHaF8Z3NBiJ\n" \
"UWzSRw8RK9f4ZTfniQPv/ADfLPpc7ZMbpSoAoK4LfjN5qduy1SZz/4i8ZxTo5Ru3\n" \
"V8PCcBOjggJWMIICUjAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0lBBYwFAYIKwYBBQUH\n" \
"AwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFPvjnj+Qf/HCeQ3R\n" \
"1xX3VPedol/FMB8GA1UdIwQYMBaAFFrz7Sv8NsI3eblSMOpUb89Vyy6sMFUGCCsG\n" \
"AQUFBwEBBEkwRzAhBggrBgEFBQcwAYYVaHR0cDovL2UxLm8ubGVuY3Iub3JnMCIG\n" \
"CCsGAQUFBzAChhZodHRwOi8vZTEuaS5sZW5jci5vcmcvMCcGA1UdEQQgMB6CDiou\n" \
"dHlwaWNvZGUuY29tggx0eXBpY29kZS5jb20wTAYDVR0gBEUwQzAIBgZngQwBAgEw\n" \
"NwYLKwYBBAGC3xMBAQEwKDAmBggrBgEFBQcCARYaaHR0cDovL2Nwcy5sZXRzZW5j\n" \
"cnlwdC5vcmcwggEDBgorBgEEAdZ5AgQCBIH0BIHxAO8AdQB6MoxU2LcttiDqOOBS\n" \
"HumEFnAyE4VNO9IrwTpXo1LrUgAAAYfvjm2XAAAEAwBGMEQCIBDmu3KfGHRrb6Kl\n" \
"PgZK6/LToNu34xsLNFl5cZHh6aJnAiAWjpzW/oeD1BHqrNF6QxVtKuNR+A3Fy2e/\n" \
"n4C99n+dUwB2AOg+0No+9QY1MudXKLyJa8kD08vREWvs62nhd31tBr1uAAABh++O\n" \
"bXcAAAQDAEcwRQIgDWpZ9o+lw5PgJdjUQe5IPXGfPHZxnFxYDF2O11JshRACIQCG\n" \
"OCHyzSljTxJSOhrPTyvbAPdwwxDu7Hv25eqs46vDLjAKBggqhkjOPQQDAwNoADBl\n" \
"AjEAtwJB3thPs4lw/FjO6Tj+yJJHREG1MEMOSIcfvFqB70Po4adL2k0kq9j/6sdW\n" \
"UleWAjBd8qr2VKqEH33gTJqcAmDcKWFrlcZx0IryuKB8VFkY7onvooWYLhd0yePi\n" \
"ps85N5E=\n" \
"-----END CERTIFICATE-----\n";

char * URL2  = "http://jsonplaceholder.typicode.com/comments?id=1";
char * URLS = "https://www.howsmyssl.com/a/check";
 
void setup() {

    USE_SERIAL.begin(115200);

    USE_SERIAL.println();
    USE_SERIAL.println();
    USE_SERIAL.println();

    wifiMulti.addAP("Redmi 7", "maiononlaso");

}

void loop() {
    // wait for WiFi connection
    if((wifiMulti.run() == WL_CONNECTED)) {

        HTTPClient http;

        USE_SERIAL.print("[HTTP] begin...\n");
        http.addHeader("Content-Type","application/json");      
        http.addHeader("Accept", "application/json");
        http.sendRequest("text/json", "{\"name\": \"Hello world\"}");
        http.begin(URLS, ca); //HTTPS OK
 //       http.begin(URL2, ca2); // NON VA
        
        USE_SERIAL.print("[HTTP] GET...\n");
        int httpCode = http.GET();

        if(httpCode > 0) {
            USE_SERIAL.printf("[HTTP] GET... code: %d\n", httpCode);

            if(httpCode == HTTP_CODE_OK) {
                String payload = http.getString();
                USE_SERIAL.println(payload);
            }
        } else {
            USE_SERIAL.printf("[HTTP] GET... failed, error: %s\n", http.errorToString(httpCode).c_str());
        }

        http.end();
    }
    delay(5000);
}

Looks like you are using the wrong client..
check this.. WifiCientSecure

good luck.. ~q

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.