From f7e32a669ef253679d61e3ba56497343c3170738 Mon Sep 17 00:00:00 2001
From: Jan Tattermusch <jtattermusch@google.com>
Date: Wed, 4 Mar 2015 11:29:09 -0800
Subject: [PATCH] C# interop client support for external CA file

---
 src/csharp/Grpc.IntegrationTesting/InteropClient.cs | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/csharp/Grpc.IntegrationTesting/InteropClient.cs b/src/csharp/Grpc.IntegrationTesting/InteropClient.cs
index e560112a89..30301f165b 100644
--- a/src/csharp/Grpc.IntegrationTesting/InteropClient.cs
+++ b/src/csharp/Grpc.IntegrationTesting/InteropClient.cs
@@ -103,8 +103,16 @@ namespace Grpc.IntegrationTesting
             Credentials credentials = null;
             if (options.useTls)
             {
-                // TODO: use also Env variable for location of the ca file.
-                credentials = new SslCredentials(File.ReadAllText("data/ca.pem"));
+                string caPath = "data/ca.pem";  // Default testing CA
+                if (!options.useTestCa)
+                {
+                    caPath = Environment.GetEnvironmentVariable("SSL_CERT_FILE");
+                    if (string.IsNullOrEmpty(caPath))
+                    {
+                        throw new ArgumentException("CA path environment variable is not set.");
+                    }
+                }
+                credentials = new SslCredentials(File.ReadAllText(caPath));
             }
 
             ChannelArgs channelArgs = null;
-- 
GitLab