Ejemplo n.º 1
0
        public void ConfigureClientCredentials(ClientCredentials clientCredentials)
        {
            Trace.Information("Loading certificate from {0}", _certificatePemFile);

            if (!File.Exists(_certificatePemFile))
            {
                Trace.Critical("Unable to load certificate from '{0}'.", _certificatePemFile);
                throw new FileNotFoundException("The certificate could not be found.", _certificatePemFile);
            }

            clientCredentials.ServiceCertificate.Authentication.CertificateValidationMode =
                X509CertificateValidationMode.Custom;

            clientCredentials.ServiceCertificate.Authentication.CustomCertificateValidator =
                new ServerX509CertificateValidator(_caCertificate);

            clientCredentials.ServiceCertificate.Authentication.RevocationMode = X509RevocationMode.NoCheck;

            X509Certificate2 cert = new X509Certificate2();
            cert.LoadFromPemFile(_certificatePemFile);

            clientCredentials.ClientCertificate.Certificate = cert;
        }