public async Task Validate(object sender, BackchannelCertificateValidationContext context, Func <object, BackchannelCertificateValidationContext, Task> next) { var isValid = base.Validate(sender, context.Certificate, context.Chain, context.SslPolicyErrors); if (isValid) { context.Validated(); } else { await next(sender, context); } }
public async Task Validate(object sender, BackchannelCertificateValidationContext context, Func <object, BackchannelCertificateValidationContext, Task> next) { //ToDo: Review bool backchannelLocalValidatorEnabled = true; var found = true;//AppSettingsConfigurationManager.TryGetSettingAndParse<bool>("backchannelLocalValidatorEnabled", false, out backchannelLocalValidatorEnabled); if (!backchannelLocalValidatorEnabled) { return; } #if (DEBUG) var webRequest = sender as HttpWebRequest; if (webRequest == null) { return; } var isLocal = Utility.IsLocalIpAddress(webRequest.Host); if (webRequest != null && isLocal) { foreach (X509ChainElement chainElement in context.Chain.ChainElements) { string thumbprint = chainElement.Certificate.Thumbprint; if (thumbprint != null && this._validThumbprints.Contains(thumbprint)) { context.Validated(); break; } } } else { await next(sender, context); } #endif }
protected override bool ValidateInternal(BackchannelCertificateValidationContext context) { context.Validated(); return(true); }