Discuss this help topic in SecureBlackbox Forum


TElX509CertificateValidator     See also     

Filter: C#  VB.NET  Pascal  C++  PHP  Java  

Use this method to check validity of the certificates received from the remote party in a time-stamping protocol (TSP) communication.


    Sub ValidateForTimestamping(ByVal Certificate As TElX509Certificate, ByVal AdditionalCertificates As TElCustomCertStorage, ByVal CompleteChainValidation As Boolean, ByVal ValidityMoment As DateTime, ByRef Validity As TSBCertificateValidity, ByRef Reason As TSBCertificateValidityReason)

    void ValidateForTimestamping(TElX509Certificate $Certificate, TElCustomCertStorage $AdditionalCertificates, bool $CompleteChainValidation, DateTime $ValidityMoment, integer &$Validity, integer &$Reason)

    void validateForTimestamping(TElX509Certificate Certificate, TElCustomCertStorage AdditionalCertificates, boolean CompleteChainValidation, Date ValidityMoment, TElX509CertificateValidatorResult Res);


  • Certificate - Certificate to be validated.
  • AdditionalCertificates - Additional certificates that might be known.
  • CompleteChainValidation - Specifies whether to check issuer (CA) certificates when the certificate is invalid.
  • ResetCertificateCache - Specifies whether the internal cache of already checked certificates must be cleared.
  • ValidityMoment - Specifies the time when the certificate must be valid (i.e. the moment of e-mail creation or sending or receipt).
  • Validity - On return contains validity status of the certificate.
  • Reason - On return contains validity status reasons of the certificate.
  • Res -

Validity values

Validity reasons


     Use this method to validate the certificate received during timestamping (e.g., via OnCertificateValidate event of the TSP client). You need to pass the end-entity certificate only - CA certificates will be retrieved via Certificate's Chain property. So the event handler for OnCertificateValidate should look like this (in pseudocode):

if (Certificate.Chain = null) or (Certificate.Chain.Certificates[0] = Certificate) then
Validator.ValidateForTimestamping(Certificate, …)
If the chain is not available, you can pass CA certificates via AdditionalCertificates parameter or using AddKnownCertificates() method.

     When CompleteChainValidation = true and the certificate is found to be not valid, certificate validation continues, i.e. issuer (CA) certificates are validated as well. This lets you create validation report which should include all certificates in the chain. When CompleteChainValidation = false and the certificate is not valid, further validation is not performed and Validate() method returns immediately.

     Since version 13 ResetCertificateCache parameter has been replaced with ResetCertificateCache class method.

See also:     ResetCertificateCache     Validate     ValidateForSMIME     ValidateForSSL    

Discuss this help topic in SecureBlackbox Forum