Forum Discussion

Andrew Sparks's avatar
Andrew Sparks
Iron Contributor
Jan 09, 2020
Solved

Certifcate Errors only in Edge Insider

On a number of sites, I get a certificate error, NET::ERR_CERT_COMMON_NAME_INVALID.   The sites work fine in IE, Chrome, Firefox and old Edge   For example if I go to https://myapplications.micro...
  • Eric_Lawrence's avatar
    Jan 24, 2020

    Andrew Sparks Thanks for the report! This issue should be fixed by now, as Edge Dev should contain the workaround/fix.

     

    Using my psychic debugging skills, I predict that your network has deployed a ZScaler network interception device. If you're still on a build with the problem, try upgrading. If you can't for whatever reason, as a workaround, try:

     

    1. Close all Edge instances.

    2. Win+R and run

     

       msedge.exe --disable-features=PostQuantumCECPQ

     

    3. Retry the sites.

    Technical explanation:
    These ZScaler devices attempt to parse the ClientHello TLS message before sending the request to the target server. However, if a ClientHello message spans multiple packets (as will happen when the request is large) the ZScaler device does not see the ServerNameIndicator TLS extension in the client hello and fails to send that extension to the target server. As a consequence the target server gets a request without the SNI telling it what certificate to return to the client, and depending on the configuration, it sends the wrong certificate, meaning that the hostname(s) in the certificate do not match the URL requested, leading to the security error message.

    Now, why did the ClientHello messages start getting large? There was an experiment (see https://crbug.com/1028602) that resulted in the key_share TLS extension growing by ~1200 bytes, causing the ClientHello to grow bigger than what could fit in one TCP/IP packet. 

    What's next:

    1. Zscaler is working on a fix for their software. Your network admins will need to deploy the update when available.

    2. The reason that it doesn't repro in Edge Stable is that the regression landed in Chromium 80.0.3967.0, and the reason it doesn't repro in Edge Dev/Canary is it was disabled in 81.0.4021.0.
    For Edge 80 Beta, it was fixed in Edge Beta v80.0.361.33 because that uses Chromium v80.0.3987.53.

Resources