public virtual void ValidateCertificate(X509Certificate2 certificate, DateTime signatureDate) { var certificateValidRule = new IsCertificateValidRule(signatureDate); if (!certificateValidRule.IsSatisfied(certificate)) { var errors = new List <Exception>(); foreach (var message in certificateValidRule.Messages) { errors.Add(new InvalidDataException(message)); } if (errors.Count > 0) { #if (DEBUG) Debug.WriteLine(string.Join(Environment.NewLine, errors)); #else throw new AggregateException(errors); #endif } } }
private void ValidateCertificates(X509Certificate2 userCertificate) { var certificateValidRule = new IsCertificateValidRule(); if (certificateValidRule.IsSatisfied(userCertificate) == false) { var errors = new List<string>(); foreach (var chainStatus in certificateValidRule.Chain.ChainStatus) { if (chainStatus.Status != X509ChainStatusFlags.NoError) { errors.Add(chainStatus.StatusInformation); } } if (errors.Count > 0) { throw new CertificateNotValidException(errors); } } }