예제 #1
0
        public void Peer()
        {
            PeerCredential p = new ServiceCredentials().Peer;

            Assert.IsNull(p.Certificate, "#1");
            Assert.IsNull(p.MeshPassword, "#2");
            X509PeerCertificateAuthentication pa = p.MessageSenderAuthentication;

            Assert.AreEqual(X509CertificateValidationMode.PeerOrChainTrust, pa.CertificateValidationMode, "#3-1");
            Assert.IsNull(pa.CustomCertificateValidator, "#3-2");
            Assert.AreEqual(X509RevocationMode.Online, pa.RevocationMode, "#3-3");
            Assert.AreEqual(StoreLocation.CurrentUser, pa.TrustedStoreLocation, "#3-4");
            pa = p.PeerAuthentication;
            Assert.AreEqual(X509CertificateValidationMode.PeerOrChainTrust, pa.CertificateValidationMode, "#4-1");
            Assert.IsNull(pa.CustomCertificateValidator, "#4-2");
            Assert.AreEqual(X509RevocationMode.Online, pa.RevocationMode, "#4-3");
            Assert.AreEqual(StoreLocation.CurrentUser, pa.TrustedStoreLocation, "#4-4");
        }
예제 #2
0
 internal void ApplyConfiguration(X509PeerCertificateAuthentication cert)
 {
     if (cert == null)
     {
         throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("cert");
     }
     cert.CertificateValidationMode = this.CertificateValidationMode;
     cert.RevocationMode            = this.RevocationMode;
     cert.TrustedStoreLocation      = this.TrustedStoreLocation;
     if (!string.IsNullOrEmpty(this.CustomCertificateValidatorType))
     {
         Type c = Type.GetType(this.CustomCertificateValidatorType, true);
         if (!typeof(X509CertificateValidator).IsAssignableFrom(c))
         {
             throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ConfigurationErrorsException(System.ServiceModel.SR.GetString("ConfigInvalidCertificateValidatorType", new object[] { this.CustomCertificateValidatorType, typeof(X509CertificateValidator).ToString() })));
         }
         cert.CustomCertificateValidator = (X509CertificateValidator)Activator.CreateInstance(c);
     }
 }