static SF_Services()

in sfintegration/ServiceData.cs [502:579]


        static SF_Services()
        {
            try
            {
                partitions_ = null;

                if (!string.IsNullOrWhiteSpace(EnvoyDefaults.client_cert_subject_name) ||
                    EnvoyDefaults.client_cert_issuer_thumbprints != null)
                {
                    EnvoyDefaults.LogMessage("Client: Creating, secure");

                    X509Credentials creds = new X509Credentials();
                    if (!string.IsNullOrWhiteSpace(EnvoyDefaults.client_cert_subject_name))
                    {
                        creds.FindType = X509FindType.FindBySubjectName;
                        creds.FindValue = EnvoyDefaults.client_cert_subject_name;
                        if (EnvoyDefaults.client_cert_issuer_thumbprints != null)
                        {
                            foreach (var issuer in EnvoyDefaults.client_cert_issuer_thumbprints)
                            {
                                creds.IssuerThumbprints.Add(issuer);
                            }
                        }
                    }
                    else
                    {
                        creds.FindType = X509FindType.FindByThumbprint;
                        creds.FindValue = EnvoyDefaults.client_cert_issuer_thumbprints[0];
                    }

                    if (EnvoyDefaults.server_cert_common_names != null)
                    {
                        foreach (var commonName in EnvoyDefaults.server_cert_common_names)
                        {
                            creds.RemoteCommonNames.Add(commonName);
                        }
                    }
                    else if (!string.IsNullOrWhiteSpace(EnvoyDefaults.client_cert_subject_name))
                    {
                        creds.RemoteCommonNames.Add(EnvoyDefaults.client_cert_subject_name);
                    }
                    if (EnvoyDefaults.server_cert_issuer_thumbprints != null)
                    {
                        foreach (var issuer in EnvoyDefaults.server_cert_issuer_thumbprints)
                        {
                            creds.RemoteCertThumbprints.Add(issuer);
                        }
                    }
                    else if (EnvoyDefaults.client_cert_issuer_thumbprints != null)
                    {
                        foreach (var issuer in EnvoyDefaults.client_cert_issuer_thumbprints)
                        {
                            creds.RemoteCertThumbprints.Add(issuer);
                        }
                    }
                    creds.StoreLocation = StoreLocation.LocalMachine;
                    creds.StoreName = "/var/lib/sfcerts";

                    EnvoyDefaults.LogMessage("Client: Start Create, secure");
                    client = new FabricClient(creds, EnvoyDefaults.fabricUri);
                    EnvoyDefaults.LogMessage("Client: End Create, secure");
                }
                else
                {
                    EnvoyDefaults.LogMessage("Client: Creating, nonsecure");
                    client = new FabricClient(EnvoyDefaults.fabricUri);
                    EnvoyDefaults.LogMessage("Client: End Create, nonsecure");
                }
                EnvoyDefaults.LogMessage("Client sucessfully created");

                EnableResolveNotifications.RegisterNotificationFilter("fabric:", client, Handler);
                EnvoyDefaults.LogMessage("Notification handler sucessfully set");
            }
            catch (Exception e)
            {
                EnvoyDefaults.LogMessage(String.Format("Error = {0}", e));
            }
        }