From 6bb1999dffe4a790992cd874c076ab705e41c3f4 Mon Sep 17 00:00:00 2001 From: William Chong Date: Wed, 28 Feb 2024 10:39:42 +0400 Subject: [PATCH] Add certificate in http fallback handler --- src/EventStore.Client/HttpFallback.cs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/EventStore.Client/HttpFallback.cs b/src/EventStore.Client/HttpFallback.cs index b9efc5664..294242cb0 100644 --- a/src/EventStore.Client/HttpFallback.cs +++ b/src/EventStore.Client/HttpFallback.cs @@ -17,11 +17,16 @@ internal HttpFallback (EventStoreClientSettings settings) { _defaultCredentials = settings.DefaultCredentials; var handler = new HttpClientHandler(); - if (!settings.ConnectivitySettings.Insecure && !settings.ConnectivitySettings.TlsVerifyCert) { + if (!settings.ConnectivitySettings.Insecure) { handler.ClientCertificateOptions = ClientCertificateOption.Manual; - handler.ServerCertificateCustomValidationCallback = (_, _, _, _) => true; + + if (settings.ConnectivitySettings.TlsCaFile != null) + handler.ClientCertificates.Add(settings.ConnectivitySettings.TlsCaFile); + + if (!settings.ConnectivitySettings.TlsVerifyCert) + handler.ServerCertificateCustomValidationCallback = (_, _, _, _) => true; } - + _httpClient = new HttpClient(handler); if (settings.DefaultDeadline.HasValue) { _httpClient.Timeout = settings.DefaultDeadline.Value;