/// <summary> /// Validates the given certificate. /// </summary> /// <param name="certificate">X.509 Certificate to validate.</param> /// <exception cref="ArgumentNullException">The input parameter 'certificate' is null.</exception> /// <exception cref="SecurityTokenValidationException">X.509 Certificate validation failed.</exception> public override void Validate(X509Certificate2 certificate) { if (certificate == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("certificate"); } X509CertificateChain chain = new X509CertificateChain(this.useMachineContext, (uint)this.chainPolicyOID); if (this.chainPolicy != null) { chain.ChainPolicy = this.chainPolicy; } if (!chain.Build(certificate)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError( new SecurityTokenValidationException( SR.GetString( SR.ID4070, X509Util.GetCertificateId(certificate), GetChainStatusInformation(chain.ChainStatus)))); } }
public override void Validate(X509Certificate2 certificate) { if (certificate == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("certificate"); } X509CertificateChain chain = new X509CertificateChain(this.useMachineContext, this.chainPolicyOID); if (this.chainPolicy != null) { chain.ChainPolicy = this.chainPolicy; } if (!chain.Build(certificate)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new SecurityTokenValidationException(System.IdentityModel.SR.GetString("X509ChainBuildFail", new object[] { System.IdentityModel.SecurityUtils.GetCertificateId(certificate), GetChainStatusInformation(chain.ChainStatus) }))); } }