Zum Inhalt springen
ecdsa.com
.NET HttpClient.NET

Fehlermeldung

The SSL connection could not be established, see inner exception.

Auch ausgegeben als

  • System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception.

Der Text ist von .NET Core 3.x bis .NET 10 stabil. Frameworks (Refit, gRPC, Azure SDKs) verpacken ihn womöglich noch einmal, sodass die innere Exception zwei oder drei Ebenen tiefer liegen kann.

.NET HttpClient — HttpRequestException wrapping the AuthenticationException or IOException of the TLS handshake

Was der Fehler bedeutet

Der generische Wrapper von HttpClient für jeden TLS-Fehler beim Verbindungsaufbau. Die Meldung selbst enthält keine Diagnose: Der eigentliche Grund steht in InnerException (eine AuthenticationException, die das Zertifikatsproblem nennt, oder eine IOException aus dem Transport). Wenn du nur e.Message loggst, geht er verloren; logge die gesamte Kette der Exceptions.

Warum der Fehler auftritt

So behebst du den Fehler

  1. 1.

    Vollständige Exception-Kette loggen

    Folge der Kette über InnerException (oder logge das Exception-Objekt, nicht nur Message), um die eigentliche Ursache zu sehen.

    csharp
    catch (HttpRequestException e)
    {
        for (Exception? ex = e; ex != null; ex = ex.InnerException)
            logger.LogError("{Type}: {Message}", ex.GetType().FullName, ex.Message);
    }
  2. 2.

    Innere Meldung ihrer Ursache zuordnen

    Jede innere Meldung führt zu einer anderen Lösung; die verwandten Einträge weiter unten behandeln sie einzeln.

    text
    Inner exception                                                       -> look at
    "...errors in the certificate chain: UntrustedRoot / PartialChain"    -> trust store, server chain
    "...errors in the certificate chain: NotTimeValid"                    -> dates, clock
    "...validation procedure: RemoteCertificateNameMismatch"              -> host name vs SAN
    "Cannot determine the frame size or a corrupted frame was received."  -> port is not TLS
    "Received an unexpected EOF or 0 bytes from the transport stream."    -> server/proxy closed
    "SSL Handshake failed with OpenSSL error - SSL_ERROR_SSL."            -> protocol/cipher (Linux)

Verwandte Fehler

Gesamte Signaturfehler-Datenbank durchsuchen