public ValidationError ValidationHandler1(XmlDocument xmlDoc, string xmlFileName)
        {
            ValidationError validationError = new ValidationError(xmlFileName, null);

            X509Certificate signerCert = GetSignerCertificate(xmlDoc);

            if (signerCert == null)
            {
                return(validationError.AppendErrorMessage("Timestamp signer certificate missing."));
            }

            if (!signerCert.IsValidNow)
            {
                return(validationError.AppendErrorMessage("Timestamp signer certificate is not valid to current date."));
            }

            X509CrlEntry crlEntry = CrlHelper.GetRevokedCertificateEntry(signerCert.SerialNumber);

            if (crlEntry != null)
            {
                return(validationError.AppendErrorMessage("Timestamp signer certificate is revoked."));
            }

            return(validationError);
        }
        public ValidationError ValidationHandler1(XmlDocument xmlDoc, string xmlFileName)
        {
            ValidationError validationError = new ValidationError(xmlFileName, null);

            TimeStampToken token = XmlNodeHelper.GetTimeStampToken(xmlDoc);

            Org.BouncyCastle.X509.X509Certificate certificate = XmlNodeHelper.GetX509Certificate(xmlDoc);

            if (certificate == null)
            {
                return(validationError.AppendErrorMessage("Nepodarilo sa nájsť certifikát"));
            }

            if (token == null)
            {
                return(validationError.AppendErrorMessage("Nepodarilo sa nájsť token"));
            }

            // Check certificate validity against timestamp token time
            try
            {
                certificate.CheckValidity(token.TimeStampInfo.GenTime);
            }
            catch (Exception ex)
            {
                return(validationError.AppendErrorMessage("Platnosť podpisového certifikátu neodpovedá času z časovej pečiatky. ErrorMessage ->" + ex.Message));
            }

            // Check certificate validity against crl
            X509CrlEntry entry = CrlHelper.GetRevokedCertificateEntry(certificate.SerialNumber);

            if (entry == null)
            {
                return(validationError);
            }

            if (entry.RevocationDate < token.TimeStampInfo.GenTime)
            {
                return(validationError.AppendErrorMessage("Platnosť certifikátu vypršala"));
            }

            return(validationError);
        }