You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
esp-idf 4.4 esp-tls change causes esp-https-server to always prompt for client certificates, even when client cert verification is not configured (IDFGH-7047)
#8664
Closed
sbytnar opened this issue
Mar 25, 2022
· 1 comment
Development Kit: none
Module or chip used: ESP32-WROVER
IDF version : v4.4-12-ga0404a9ed2
Build System: idf.py
Compiler version: xtensa-esp32-elf-gcc (crosstool-NG esp-2021r2-patch3) 8.4.0
Operating System: Windows
(Windows only) environment type: WSL
Using an IDE?: No
Problem Description
A HTTPS server not configured to verify client certificates is now prompting for client certificates.
This change disrupts the normal HTTPS workflow for the web browser user that previous never prompted for a client certificate. The HTTPS server is not configured to verify client certificates, and this change basically asks the browser to prompt the user for a certificate. And, if a browser user chooses a cert, it’s ignored (the new callback that was added with this commit also isn’t hooked because prompting for certs is basically the new non-backward compatible feature that's been implemented). And, if the browser user doesn’t choose a cert, then the user is repeatedly asked for a client/peer certificate, which is extremely annoying.
Expected Behavior
When the HTTPS server is not configured to verify client certificates, the web browser does not prompt for a client certificate.
Actual Behavior
The HTTPS server prompts for a client certificate.
Steps to reproduce
The sample web server is sufficient to demonstrate this behavior.
However, the web browser computer must have at least one client certificate configured in their Keychain/Trusted Certificates. It doesn't matter what's in the cert as long as it is usable as a client certificate.
A fix is to revert this change. A better fix would allow MBEDTLS_SSL_VERIFY_OPTIONAL to be a requested option, and MBEDTLS_SSL_VERIFY_NONE is the default.
The text was updated successfully, but these errors were encountered:
github-actionsbot
changed the title
esp-idf 4.4 esp-tls change causes esp-https-server to always prompt for client certificates, even when client cert verification is not configured
esp-idf 4.4 esp-tls change causes esp-https-server to always prompt for client certificates, even when client cert verification is not configured (IDFGH-7047)
Mar 25, 2022
- Added a config option to set the minimum Certificate Verification
mode to Optional
- When this option is enabled, the peer (the client) certificate
is checked by the server, however the handshake continues even if
verification failed.
- By default, the peer certificate is not checked and ignored by the server.
Closes#8664
Environment
Development Kit: none
Module or chip used: ESP32-WROVER
IDF version : v4.4-12-ga0404a9ed2
Build System: idf.py
Compiler version: xtensa-esp32-elf-gcc (crosstool-NG esp-2021r2-patch3) 8.4.0
Operating System: Windows
(Windows only) environment type: WSL
Using an IDE?: No
Problem Description
A HTTPS server not configured to verify client certificates is now prompting for client certificates.
This change disrupts the normal HTTPS workflow for the web browser user that previous never prompted for a client certificate. The HTTPS server is not configured to verify client certificates, and this change basically asks the browser to prompt the user for a certificate. And, if a browser user chooses a cert, it’s ignored (the new callback that was added with this commit also isn’t hooked because prompting for certs is basically the new non-backward compatible feature that's been implemented). And, if the browser user doesn’t choose a cert, then the user is repeatedly asked for a client/peer certificate, which is extremely annoying.
Expected Behavior
When the HTTPS server is not configured to verify client certificates, the web browser does not prompt for a client certificate.
Actual Behavior
The HTTPS server prompts for a client certificate.
Steps to reproduce
The sample web server is sufficient to demonstrate this behavior.
However, the web browser computer must have at least one client certificate configured in their Keychain/Trusted Certificates. It doesn't matter what's in the cert as long as it is usable as a client certificate.
Code to reproduce this issue
The change that causes this problem:
A fix is to revert this change. A better fix would allow MBEDTLS_SSL_VERIFY_OPTIONAL to be a requested option, and MBEDTLS_SSL_VERIFY_NONE is the default.
The text was updated successfully, but these errors were encountered: