govorox / SSLClient

SSLClient - generic secure client Arduino library using mbedtls
GNU General Public License v3.0
78 stars 38 forks source link

Wrong guard error checking result of `verify_server_cert` in `ssl_start_client` #72

Closed Bascy closed 2 months ago

Bascy commented 2 months ago

It looks like line 339 is testing on the wrong variable ret in stead if flags

// ssl__client.cpp
// starting at line 334 
// ....
ret = perform_ssl_handshake(ssl_client, cli_cert, cli_key); // Step 7 - Perform SSL/TLS handshake
if (ret != 0) {
    break;
}
int flags = verify_server_cert(ssl_client); // Step 8 - Verify the server certificate
if (ret != 0) {                                            // <====== Wrong guard??
  log_failed_cert(flags);
} else {
  log_v("Certificate verified.");
}