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"); }
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); } }