CertificateValidator Component
Properties Methods Events Configuration Settings Errors
The CertificateValidator component provides fine-grained validation of X.509 certificates.
Syntax
TsbxCertificateValidator
Remarks
This is a powerful and configurable component which can be used to validate all kinds of certificates and their chains.
The purpose of CertificateValidator is to validate certificate chains according to the X.509 specification. It supports a variety of technologies, including CRL and OCSP services, and can provide a comprehensive output on the certificate cryptographic validity, chain integrity, and trust levels. CertificateValidator is used internally in many other SecureBlackbox components, such as PDFSigner, HTTPClient, and OfficeVerifier.
To validate a certificate, please tune up the component as following:
- Assign the certificate to be validated to the Certificate property.
- Set RevocationCheck in accordance with your revocation check preferences.
- Enable UseSystemCertificates property to trust certificates that are trusted by the operating system. Copy any certificates that are not available in the standard system locations to KnownCertificates and TrustedCertificates collections (see Note 1 below).
- Optionally, adjust TLSSettings and SocketSettings.
- Adjust ValidationMoment if you would like to check the certificate validity at a different moment in time. Leave it unchanged to validate the certificate at the current time moment.
- Call Validate or ValidateForSSL method to initiate chain validation.
Depending on the complexity of the chain and the configuration of the component, the validation routine may take certain amount of time. The validator reports chain validation progress using a selection of events, such as BeforeCertificateProcessing, AfterCertificateProcessing, and CRLDownloaded events. It may also ask you for missing objects using CRLNeeded or CACertificateNeeded events. In each such event handler you can access the currently validated certificate via the CurrentCertificate property, and the interim validity figures via the InterimValidationResult and InterimValidationDetails property.
The return of the Validate (or similar) method indicates the completion of the validation procedure. The outcome of the chain validation is represented with the two parameters:
- ChainValidationResult reports the general validation outcome: valid, valid-but-untrusted, invalid, and unknown. As a rule, only the valid result can be taken as a good reason to consider the chain valid.
- ChainValidationDetails provides insights into the factors that caused the validation to fail.
Note 1: On Windows, CertificateValidator can use CA and ROOT system stores to look for any missing CA certificates and trust anchors. No similar functionality is currently available for other platforms, so in most cases you must provide your own list of trusted and CA certificates via TrustedCertificates and KnownCertificates collections to have your chains validate fully in Linux and macOS projects.
Note 2: The OfflineMode property is a handy way to check the completeness of your revocation/validation information. When the offline mode is on, CertificateValidator won't go online for any missing certificates, CRLs, and OCSP responses. Paired with a switched-off UseSystemCertificates property, it allows to make sure that any content provided via KnownCertificates, KnownCRLs, and KnownOCSPs represents the complete set of validation information required to validate the chain.
Property List
The following is the full list of the properties of the component with short descriptions. Click on the links for further details.
BlockedCertCount | The number of records in the BlockedCert arrays. |
BlockedCertBytes | Returns raw certificate data in DER format. |
BlockedCertHandle | Allows to get or set a 'handle', a unique identifier of the underlying property object. |
CacheValidationResults | Enables or disables validation result caching. |
CertBytes | Returns raw certificate data in DER format. |
CertHandle | Allows to get or set a 'handle', a unique identifier of the underlying property object. |
ChainValidationDetails | The details of a certificate chain validation outcome. |
ChainValidationResult | The general outcome of a certificate chain validation routine. Use ChainValidationDetails to get information about the reasons that contributed to the validation result. |
CurrentCACertBytes | Returns raw certificate data in DER format. |
CurrentCACertCA | Indicates whether the certificate has a CA capability (a setting in BasicConstraints extension). |
CurrentCACertCAKeyID | A unique identifier (fingerprint) of the CA certificate's private key. |
CurrentCACertCRLDistributionPoints | Locations of the CRL (Certificate Revocation List) distribution points used to check this certificate's validity. |
CurrentCACertCurve | Specifies the elliptic curve of the EC public key. |
CurrentCACertFingerprint | Contains the fingerprint (a hash imprint) of this certificate. |
CurrentCACertFriendlyName | Contains an associated alias (friendly name) of the certificate. |
CurrentCACertHandle | Allows to get or set a 'handle', a unique identifier of the underlying property object. |
CurrentCACertHashAlgorithm | Specifies the hash algorithm to be used in the operations on the certificate (such as key signing) SB_HASH_ALGORITHM_SHA1 SHA1 SB_HASH_ALGORITHM_SHA224 SHA224 SB_HASH_ALGORITHM_SHA256 SHA256 SB_HASH_ALGORITHM_SHA384 SHA384 SB_HASH_ALGORITHM_SHA512 SHA512 SB_HASH_ALGORITHM_MD2 MD2 SB_HASH_ALGORITHM_MD4 MD4 SB_HASH_ALGORITHM_MD5 MD5 SB_HASH_ALGORITHM_RIPEMD160 RIPEMD160 SB_HASH_ALGORITHM_CRC32 CRC32 SB_HASH_ALGORITHM_SSL3 SSL3 SB_HASH_ALGORITHM_GOST_R3411_1994 GOST1994 SB_HASH_ALGORITHM_WHIRLPOOL WHIRLPOOL SB_HASH_ALGORITHM_POLY1305 POLY1305 SB_HASH_ALGORITHM_SHA3_224 SHA3_224 SB_HASH_ALGORITHM_SHA3_256 SHA3_256 SB_HASH_ALGORITHM_SHA3_384 SHA3_384 SB_HASH_ALGORITHM_SHA3_512 SHA3_512 SB_HASH_ALGORITHM_BLAKE2S_128 BLAKE2S_128 SB_HASH_ALGORITHM_BLAKE2S_160 BLAKE2S_160 SB_HASH_ALGORITHM_BLAKE2S_224 BLAKE2S_224 SB_HASH_ALGORITHM_BLAKE2S_256 BLAKE2S_256 SB_HASH_ALGORITHM_BLAKE2B_160 BLAKE2B_160 SB_HASH_ALGORITHM_BLAKE2B_256 BLAKE2B_256 SB_HASH_ALGORITHM_BLAKE2B_384 BLAKE2B_384 SB_HASH_ALGORITHM_BLAKE2B_512 BLAKE2B_512 SB_HASH_ALGORITHM_SHAKE_128 SHAKE_128 SB_HASH_ALGORITHM_SHAKE_256 SHAKE_256 SB_HASH_ALGORITHM_SHAKE_128_LEN SHAKE_128_LEN SB_HASH_ALGORITHM_SHAKE_256_LEN SHAKE_256_LEN . |
CurrentCACertIssuer | The common name of the certificate issuer (CA), typically a company name. |
CurrentCACertIssuerRDN | A collection of information, in the form of [OID, Value] pairs, uniquely identifying the certificate issuer. |
CurrentCACertKeyAlgorithm | Specifies the public key algorithm of this certificate. |
CurrentCACertKeyBits | Returns the length of the public key. |
CurrentCACertKeyFingerprint | Returns a fingerprint of the public key contained in the certificate. |
CurrentCACertKeyUsage | Indicates the purposes of the key contained in the certificate, in the form of an OR'ed flag set. |
CurrentCACertKeyValid | Returns True if the certificate's key is cryptographically valid, and False otherwise. |
CurrentCACertOCSPLocations | Locations of OCSP (Online Certificate Status Protocol) services that can be used to check this certificate's validity, as recorded by the CA. |
CurrentCACertOrigin | Returns the origin of this certificate. |
CurrentCACertPolicyIDs | Contains identifiers (OIDs) of the applicable certificate policies. |
CurrentCACertPrivateKeyBytes | Contains the certificate's private key. |
CurrentCACertPrivateKeyExists | Indicates whether the certificate has an associated private key. |
CurrentCACertPrivateKeyExtractable | Indicates whether the private key is extractable. |
CurrentCACertPublicKeyBytes | Contains the certificate's public key in DER format. |
CurrentCACertSelfSigned | Indicates whether the certificate is self-signed (root) or signed by an external CA. |
CurrentCACertSerialNumber | Returns the certificate's serial number. |
CurrentCACertSigAlgorithm | Indicates the algorithm that was used by the CA to sign this certificate. |
CurrentCACertSubject | The common name of the certificate holder, typically an individual's name, a URL, an e-mail address, or a company name. |
CurrentCACertSubjectKeyID | Contains a unique identifier (fingerprint) of the certificate's private key. |
CurrentCACertSubjectRDN | A collection of information, in the form of [OID, Value] pairs, uniquely identifying the certificate holder (subject). |
CurrentCACertValidFrom | The time point at which the certificate becomes valid, in UTC. |
CurrentCACertValidTo | The time point at which the certificate expires, in UTC. |
CurrentCertBytes | Returns raw certificate data in DER format. |
CurrentCertCA | Indicates whether the certificate has a CA capability (a setting in BasicConstraints extension). |
CurrentCertCAKeyID | A unique identifier (fingerprint) of the CA certificate's private key. |
CurrentCertCRLDistributionPoints | Locations of the CRL (Certificate Revocation List) distribution points used to check this certificate's validity. |
CurrentCertCurve | Specifies the elliptic curve of the EC public key. |
CurrentCertFingerprint | Contains the fingerprint (a hash imprint) of this certificate. |
CurrentCertFriendlyName | Contains an associated alias (friendly name) of the certificate. |
CurrentCertHandle | Allows to get or set a 'handle', a unique identifier of the underlying property object. |
CurrentCertHashAlgorithm | Specifies the hash algorithm to be used in the operations on the certificate (such as key signing) SB_HASH_ALGORITHM_SHA1 SHA1 SB_HASH_ALGORITHM_SHA224 SHA224 SB_HASH_ALGORITHM_SHA256 SHA256 SB_HASH_ALGORITHM_SHA384 SHA384 SB_HASH_ALGORITHM_SHA512 SHA512 SB_HASH_ALGORITHM_MD2 MD2 SB_HASH_ALGORITHM_MD4 MD4 SB_HASH_ALGORITHM_MD5 MD5 SB_HASH_ALGORITHM_RIPEMD160 RIPEMD160 SB_HASH_ALGORITHM_CRC32 CRC32 SB_HASH_ALGORITHM_SSL3 SSL3 SB_HASH_ALGORITHM_GOST_R3411_1994 GOST1994 SB_HASH_ALGORITHM_WHIRLPOOL WHIRLPOOL SB_HASH_ALGORITHM_POLY1305 POLY1305 SB_HASH_ALGORITHM_SHA3_224 SHA3_224 SB_HASH_ALGORITHM_SHA3_256 SHA3_256 SB_HASH_ALGORITHM_SHA3_384 SHA3_384 SB_HASH_ALGORITHM_SHA3_512 SHA3_512 SB_HASH_ALGORITHM_BLAKE2S_128 BLAKE2S_128 SB_HASH_ALGORITHM_BLAKE2S_160 BLAKE2S_160 SB_HASH_ALGORITHM_BLAKE2S_224 BLAKE2S_224 SB_HASH_ALGORITHM_BLAKE2S_256 BLAKE2S_256 SB_HASH_ALGORITHM_BLAKE2B_160 BLAKE2B_160 SB_HASH_ALGORITHM_BLAKE2B_256 BLAKE2B_256 SB_HASH_ALGORITHM_BLAKE2B_384 BLAKE2B_384 SB_HASH_ALGORITHM_BLAKE2B_512 BLAKE2B_512 SB_HASH_ALGORITHM_SHAKE_128 SHAKE_128 SB_HASH_ALGORITHM_SHAKE_256 SHAKE_256 SB_HASH_ALGORITHM_SHAKE_128_LEN SHAKE_128_LEN SB_HASH_ALGORITHM_SHAKE_256_LEN SHAKE_256_LEN . |
CurrentCertIssuer | The common name of the certificate issuer (CA), typically a company name. |
CurrentCertIssuerRDN | A collection of information, in the form of [OID, Value] pairs, uniquely identifying the certificate issuer. |
CurrentCertKeyAlgorithm | Specifies the public key algorithm of this certificate. |
CurrentCertKeyBits | Returns the length of the public key. |
CurrentCertKeyFingerprint | Returns a fingerprint of the public key contained in the certificate. |
CurrentCertKeyUsage | Indicates the purposes of the key contained in the certificate, in the form of an OR'ed flag set. |
CurrentCertKeyValid | Returns True if the certificate's key is cryptographically valid, and False otherwise. |
CurrentCertOCSPLocations | Locations of OCSP (Online Certificate Status Protocol) services that can be used to check this certificate's validity, as recorded by the CA. |
CurrentCertOrigin | Returns the origin of this certificate. |
CurrentCertPolicyIDs | Contains identifiers (OIDs) of the applicable certificate policies. |
CurrentCertPrivateKeyBytes | Contains the certificate's private key. |
CurrentCertPrivateKeyExists | Indicates whether the certificate has an associated private key. |
CurrentCertPrivateKeyExtractable | Indicates whether the private key is extractable. |
CurrentCertPublicKeyBytes | Contains the certificate's public key in DER format. |
CurrentCertSelfSigned | Indicates whether the certificate is self-signed (root) or signed by an external CA. |
CurrentCertSerialNumber | Returns the certificate's serial number. |
CurrentCertSigAlgorithm | Indicates the algorithm that was used by the CA to sign this certificate. |
CurrentCertSubject | The common name of the certificate holder, typically an individual's name, a URL, an e-mail address, or a company name. |
CurrentCertSubjectKeyID | Contains a unique identifier (fingerprint) of the certificate's private key. |
CurrentCertSubjectRDN | A collection of information, in the form of [OID, Value] pairs, uniquely identifying the certificate holder (subject). |
CurrentCertValidFrom | The time point at which the certificate becomes valid, in UTC. |
CurrentCertValidTo | The time point at which the certificate expires, in UTC. |
GracePeriod | Specifies a grace period to apply during certificate validation. |
InterimValidationDetails | Contains the validation details of the moment. |
InterimValidationResult | Contains the validation status of the moment. |
KnownCertCount | The number of records in the KnownCert arrays. |
KnownCertBytes | Returns raw certificate data in DER format. |
KnownCertHandle | Allows to get or set a 'handle', a unique identifier of the underlying property object. |
KnownCRLCount | The number of records in the KnownCRL arrays. |
KnownCRLBytes | Returns raw CRL data in DER format. |
KnownCRLHandle | Allows to get or set a 'handle', a unique identifier of the underlying property object. |
KnownOCSPCount | The number of records in the KnownOCSP arrays. |
KnownOCSPBytes | Buffer containing raw OCSP response data. |
KnownOCSPHandle | Allows to get or set a 'handle', a unique identifier of the underlying property object. |
MaxValidationTime | Specifies the maximum time the validation process may take. |
OfflineMode | Switches the component to the offline mode. |
ProxyAddress | The IP address of the proxy server. |
ProxyAuthentication | The authentication type used by the proxy server. |
ProxyPassword | The password to authenticate to the proxy server. |
ProxyPort | The port on the proxy server to connect to. |
ProxyProxyType | The type of the proxy server. |
ProxyRequestHeaders | Contains HTTP request headers for WebTunnel and HTTP proxy. |
ProxyResponseBody | Contains the HTTP or HTTPS (WebTunnel) proxy response body. |
ProxyResponseHeaders | Contains response headers received from an HTTP or HTTPS (WebTunnel) proxy server. |
ProxyUseIPv6 | Specifies whether IPv6 should be used when connecting through the proxy. |
ProxyUseProxy | Enables or disables proxy-driven connection. |
ProxyUsername | Specifies the username credential for proxy authentication. |
Qualified | Indicates a qualified electronic signature. |
RevocationCheck | Specifies the kind(s) of revocation check to perform. |
SocketDNSMode | Selects the DNS resolver to use: the component's (secure) built-in one, or the one provided by the system. |
SocketDNSPort | Specifies the port number to be used for sending queries to the DNS server. |
SocketDNSQueryTimeout | The timeout (in milliseconds) for each DNS query. |
SocketDNSServers | The addresses of DNS servers to use for address resolution, separated by commas or semicolons. |
SocketDNSTotalTimeout | The timeout (in milliseconds) for the whole resolution process. |
SocketIncomingSpeedLimit | The maximum number of bytes to read from the socket, per second. |
SocketLocalAddress | The local network interface to bind the socket to. |
SocketLocalPort | The local port number to bind the socket to. |
SocketOutgoingSpeedLimit | The maximum number of bytes to write to the socket, per second. |
SocketTimeout | The maximum period of waiting, in milliseconds, after which the socket operation is considered unsuccessful. |
SocketUseIPv6 | Enables or disables IP protocol version 6. |
TLSClientCertCount | The number of records in the TLSClientCert arrays. |
TLSClientCertBytes | Returns raw certificate data in DER format. |
TLSClientCertHandle | Allows to get or set a 'handle', a unique identifier of the underlying property object. |
TLSServerCertCount | The number of records in the TLSServerCert arrays. |
TLSServerCertBytes | Returns raw certificate data in DER format. |
TLSServerCertHandle | Allows to get or set a 'handle', a unique identifier of the underlying property object. |
TLSAutoValidateCertificates | Specifies whether server-side TLS certificates should be validated automatically using internal validation rules. |
TLSBaseConfiguration | Selects the base configuration for the TLS settings. |
TLSCiphersuites | A list of ciphersuites separated with commas or semicolons. |
TLSECCurves | Defines the elliptic curves to enable. |
TLSForceResumeIfDestinationChanges | Whether to force TLS session resumption when the destination address changes. |
TLSPreSharedIdentity | Defines the identity used when the PSK (Pre-Shared Key) key-exchange mechanism is negotiated. |
TLSPreSharedKey | Contains the pre-shared for the PSK (Pre-Shared Key) key-exchange mechanism, encoded with base16. |
TLSPreSharedKeyCiphersuite | Defines the ciphersuite used for PSK (Pre-Shared Key) negotiation. |
TLSRenegotiationAttackPreventionMode | Selects renegotiation attack prevention mechanism. |
TLSRevocationCheck | Specifies the kind(s) of revocation check to perform. |
TLSSSLOptions | Various SSL (TLS) protocol options, set of cssloExpectShutdownMessage 0x001 Wait for the close-notify message when shutting down the connection cssloOpenSSLDTLSWorkaround 0x002 (DEPRECATED) Use a DTLS version workaround when talking to very old OpenSSL versions cssloDisableKexLengthAlignment 0x004 Do not align the client-side PMS by the RSA modulus size. |
TLSTLSMode | Specifies the TLS mode to use. |
TLSUseExtendedMasterSecret | Enables Extended Master Secret Extension, as defined in RFC 7627. |
TLSUseSessionResumption | Enables or disables TLS session resumption capability. |
TLSVersions | Th SSL/TLS versions to enable by default. |
TrustedCertCount | The number of records in the TrustedCert arrays. |
TrustedCertBytes | Returns raw certificate data in DER format. |
TrustedCertHandle | Allows to get or set a 'handle', a unique identifier of the underlying property object. |
UsedCertCount | The number of records in the UsedCert arrays. |
UsedCertBytes | Returns raw certificate data in DER format. |
UsedCertCA | Indicates whether the certificate has a CA capability (a setting in BasicConstraints extension). |
UsedCertCAKeyID | A unique identifier (fingerprint) of the CA certificate's private key. |
UsedCertCRLDistributionPoints | Locations of the CRL (Certificate Revocation List) distribution points used to check this certificate's validity. |
UsedCertCurve | Specifies the elliptic curve of the EC public key. |
UsedCertFingerprint | Contains the fingerprint (a hash imprint) of this certificate. |
UsedCertFriendlyName | Contains an associated alias (friendly name) of the certificate. |
UsedCertHandle | Allows to get or set a 'handle', a unique identifier of the underlying property object. |
UsedCertHashAlgorithm | Specifies the hash algorithm to be used in the operations on the certificate (such as key signing) SB_HASH_ALGORITHM_SHA1 SHA1 SB_HASH_ALGORITHM_SHA224 SHA224 SB_HASH_ALGORITHM_SHA256 SHA256 SB_HASH_ALGORITHM_SHA384 SHA384 SB_HASH_ALGORITHM_SHA512 SHA512 SB_HASH_ALGORITHM_MD2 MD2 SB_HASH_ALGORITHM_MD4 MD4 SB_HASH_ALGORITHM_MD5 MD5 SB_HASH_ALGORITHM_RIPEMD160 RIPEMD160 SB_HASH_ALGORITHM_CRC32 CRC32 SB_HASH_ALGORITHM_SSL3 SSL3 SB_HASH_ALGORITHM_GOST_R3411_1994 GOST1994 SB_HASH_ALGORITHM_WHIRLPOOL WHIRLPOOL SB_HASH_ALGORITHM_POLY1305 POLY1305 SB_HASH_ALGORITHM_SHA3_224 SHA3_224 SB_HASH_ALGORITHM_SHA3_256 SHA3_256 SB_HASH_ALGORITHM_SHA3_384 SHA3_384 SB_HASH_ALGORITHM_SHA3_512 SHA3_512 SB_HASH_ALGORITHM_BLAKE2S_128 BLAKE2S_128 SB_HASH_ALGORITHM_BLAKE2S_160 BLAKE2S_160 SB_HASH_ALGORITHM_BLAKE2S_224 BLAKE2S_224 SB_HASH_ALGORITHM_BLAKE2S_256 BLAKE2S_256 SB_HASH_ALGORITHM_BLAKE2B_160 BLAKE2B_160 SB_HASH_ALGORITHM_BLAKE2B_256 BLAKE2B_256 SB_HASH_ALGORITHM_BLAKE2B_384 BLAKE2B_384 SB_HASH_ALGORITHM_BLAKE2B_512 BLAKE2B_512 SB_HASH_ALGORITHM_SHAKE_128 SHAKE_128 SB_HASH_ALGORITHM_SHAKE_256 SHAKE_256 SB_HASH_ALGORITHM_SHAKE_128_LEN SHAKE_128_LEN SB_HASH_ALGORITHM_SHAKE_256_LEN SHAKE_256_LEN . |
UsedCertIssuer | The common name of the certificate issuer (CA), typically a company name. |
UsedCertIssuerRDN | A collection of information, in the form of [OID, Value] pairs, uniquely identifying the certificate issuer. |
UsedCertKeyAlgorithm | Specifies the public key algorithm of this certificate. |
UsedCertKeyBits | Returns the length of the public key. |
UsedCertKeyFingerprint | Returns a fingerprint of the public key contained in the certificate. |
UsedCertKeyUsage | Indicates the purposes of the key contained in the certificate, in the form of an OR'ed flag set. |
UsedCertKeyValid | Returns True if the certificate's key is cryptographically valid, and False otherwise. |
UsedCertOCSPLocations | Locations of OCSP (Online Certificate Status Protocol) services that can be used to check this certificate's validity, as recorded by the CA. |
UsedCertOrigin | Returns the origin of this certificate. |
UsedCertPolicyIDs | Contains identifiers (OIDs) of the applicable certificate policies. |
UsedCertPrivateKeyBytes | Contains the certificate's private key. |
UsedCertPrivateKeyExists | Indicates whether the certificate has an associated private key. |
UsedCertPrivateKeyExtractable | Indicates whether the private key is extractable. |
UsedCertPublicKeyBytes | Contains the certificate's public key in DER format. |
UsedCertSelfSigned | Indicates whether the certificate is self-signed (root) or signed by an external CA. |
UsedCertSerialNumber | Returns the certificate's serial number. |
UsedCertSigAlgorithm | Indicates the algorithm that was used by the CA to sign this certificate. |
UsedCertSubject | The common name of the certificate holder, typically an individual's name, a URL, an e-mail address, or a company name. |
UsedCertSubjectKeyID | Contains a unique identifier (fingerprint) of the certificate's private key. |
UsedCertSubjectRDN | A collection of information, in the form of [OID, Value] pairs, uniquely identifying the certificate holder (subject). |
UsedCertValidFrom | The time point at which the certificate becomes valid, in UTC. |
UsedCertValidTo | The time point at which the certificate expires, in UTC. |
UsedCRLCount | The number of records in the UsedCRL arrays. |
UsedCRLBytes | Returns raw CRL data in DER format. |
UsedCRLHandle | Allows to get or set a 'handle', a unique identifier of the underlying property object. |
UsedCRLIssuer | The common name of the CRL issuer (CA), typically a company name. |
UsedCRLIssuerRDN | A collection of information, in the form of [OID, Value] pairs, uniquely identifying the CRL issuer. |
UsedCRLLocation | The URL that the CRL was downloaded from. |
UsedCRLNextUpdate | The planned time and date of the next version of this CRL to be published. |
UsedCRLThisUpdate | The date and time at which this version of the CRL was published. |
UseDefaultTSLs | Enables or disables the use of the default TSLs. |
UsedOCSPCount | The number of records in the UsedOCSP arrays. |
UsedOCSPBytes | Buffer containing raw OCSP response data. |
UsedOCSPHandle | Allows to get or set a 'handle', a unique identifier of the underlying property object. |
UsedOCSPIssuer | Indicates the issuer of this response (a CA or its authorized representative). |
UsedOCSPIssuerRDN | Indicates the RDN of the issuer of this response (a CA or its authorized representative). |
UsedOCSPLocation | Location of the OCSP responder. |
UsedOCSPProducedAt | Specifies the time when the response was produced, in UTC. |
UseSystemCertificates | Enables or disables the use of the system certificates. |
ValidationLog | Contains the complete log of the certificate validation routine. |
ValidationMoment | The time point at which chain validity is to be established. |
Method List
The following is the full list of the methods of the component with short descriptions. Click on the links for further details.
Config | Sets or retrieves a configuration setting. |
RefreshCache | Refreshes the certificate cache. |
ResetCache | Clears all data contained in the validation cache. |
Terminate | Terminates the validation process. |
Validate | Validates the certificate chain. |
ValidateForSMIME | Validates an e-mail signing certificate. |
ValidateForSSL | Validates a server-side SSL/TLS certificate. |
Event List
The following is the full list of the events fired by the component with short descriptions. Click on the links for further details.
AfterCertificateProcessing | Marks the end of a single certificate processing step. |
AfterCertificateValidation | Marks the end of a single certificate validation step. |
BeforeCACertificateDownload | Fires when a CA certificate is about to be downloaded. |
BeforeCertificateProcessing | Reports the start of certificate processing. |
BeforeCertificateValidation | Reports the start of certificate validation. |
BeforeCRLDownload | Fires when a CRL is about to be downloaded. |
BeforeOCSPDownload | Fires when a certificate's OCSP status is about to be requested. |
CACertificateDownloaded | Marks the success of a certificate download. |
CACertificateNeeded | Requests a missing certificate from the user. |
CRLDownloaded | Marks the success of a CRL download. |
CRLNeeded | Requests a missing CRL from the user. |
Error | Information about errors during certificate validation. |
Notification | This event notifies the application about an underlying control flow event. |
OCSPDownloaded | Marks the success of an OCSP request. |
TLSCertValidate | This event is fired upon receipt of the TLS server's certificate, allowing the user to control its acceptance. |
Configuration Settings
The following is a list of configuration settings for the component with short descriptions. Click on the links for further details.
CacheValidityTime | Time period during which to keep validation cache. |
CheckStrongAlgorithmForTrusted | Whether to check a 'strong' hash algorithm for trusted certificates. |
CheckValidityPeriodForTrusted | Whether to check validity period for trusted certificates. |
CrossCertificationValidationStrategy | Defines how the cross certification validation is performed. |
ForceCompleteChainValidationForTrusted | Whether to validate the whole chain. |
ForceRevocationCheckForRoot | Whether to check revocation info for root certificates. |
IgnoreBadOCSPChains | Whether to ignore bad OCSP chains during validation. |
IgnoreCABasicConstraints | Whether to ignore the Basic Constraints extension for the CA certificates. |
IgnoreCAKeyUsage | Whether to ignore Key Usage extension for CA certificates. |
IgnoreCANameConstraints | Whether to ignore the Name Constraints extension for the CA certificates. |
IgnoreOCSPNoCheckExtension | Whether OCSP NoCheck extension should be ignored. |
IgnoreRevocationKeyUsage | Whether to check the CA certs used to sign revocation info. |
IgnoreSSLKeyUsage | Whether to check the CA certs used in SSL/TLS. |
IgnoreSystemTrust | Whether trusted Windows Certificate Stores should be treated as trusted. |
ImplicitlyTrustSelfSignedCertificates | Whether to trust self-signed certificates. |
LookupCRLByNameIfDPNotPresent | Whether to look for implicit CRL Distribution Points. |
PromoteLongOCSPResponses | Whether long OCSP responses are requested. |
RevocationMomentGracePeriod | Grace period for revocation information propagation. |
SkipSubjectNameIfAltNameExists | Whether to check CommonName if SubjectAltName is present. |
UseMicrosoftCTL | Enables or disables automatic use of Microsoft online certificate trust list. |
ValidateInvalidCertificates | Whether to do all checks on invalid certificates. |
WeakAlgorithmHandlingMode | How to handle certificates signed with a 'weak' hash algorithm. |
CustomTSLs | Specifies the custom TSLs. |
QualifiedStatus | Indicates a qualified electronic signature. |
TSLDistributionPoints | Contains XML content of distribution points of the TSL used. |
TSLDistributionPoints[Idx] | Contains distribution point of the specified index of the TSL used. |
TSLHistoricalInformationPeriod | Contains historical information period of the TSL used. |
TSLLegalNotices | Contains XML content of legal notices of the TSL used. |
TSLLegalNotices[lang] | Contains legal notices for the specified language of the TSL used. |
TSLListIssueDateTime | Contains list issue date and time of the TSL used. |
TSLNextUpdate | Contains next update date and time of the TSL used. |
TSLPolicies | Contains XML content of policies of the TSL used. |
TSLPolicies[lang] | Contains policies for the specified language of the TSL used. |
TSLSchemeExtensions | Contains XML content of scheme extensions of the TSL used. |
TSLSchemeExtensions[Idx] | Contains XML content of scheme extension of the specified index of the TSL used. |
TSLSchemeInformationURI | Contains XML content of scheme information URI of the TSL used. |
TSLSchemeInformationURI[lang] | Contains scheme information URI for the specified language of the TSL used. |
TSLSchemeName | Contains XML content of scheme name of the TSL used. |
TSLSchemeName[lang] | Contains scheme name for the specified language of the TSL used. |
TSLSchemeOperatorAddress | Contains XML content of scheme operator address of the TSL used. |
TSLSchemeOperatorName | Contains XML content of scheme operator name of the TSL used. |
TSLSchemeOperatorName[lang] | Contains scheme operator name for the specified language of the TSL used. |
TSLSchemeTerritory | Contains scheme territory of the TSL used. |
TSLSchemeTypeCommunityRules | Contains XML content of scheme type/community/rules of the TSL used. |
TSLSchemeTypeCommunityRules[lang] | Contains scheme type/community/rules for the specified language of the TSL used. |
TSLSequenceNumber | Contains sequence number of the TSL used. |
TSLsRetrieveLog | Contains the complete log of the TSLs retrieve. |
TSLStatusDeterminationApproach | Contains status determination approach of the TSL used. |
TSLsValidationLog | Contains the complete log of the TSLs validation. |
TSLTSPAdditionalServiceInformation | Contains addtional service information of the TSP service used. |
TSLTSPAddress | Contains XML content of the address of the TSP used. |
TSLTSPHistoryInstance | Indicates that TSP service history instance used. |
TSLTSPHistoryInstanceAdditionalServiceInformation | Contains addtional service information of the TSP service history instance used. |
TSLTSPHistoryInstanceQualifiers | Contains list of qualifiers of the TSP service history instance used. |
TSLTSPHistoryInstanceServiceInformationExtensions | Contains XML content of information extensions of the TSP service history instance used. |
TSLTSPHistoryInstanceServiceInformationExtensions[Idx] | Contains XML content of information extension of the specified index of the TSP service history instance used. |
TSLTSPHistoryInstanceServiceName | Contains XML content of name of the TSP service history instance used. |
TSLTSPHistoryInstanceServiceName[lang] | Contains name for the specified language of the TSP service history instance used. |
TSLTSPHistoryInstanceServiceStatus | Contains status of the TSP service history instance used. |
TSLTSPHistoryInstanceServiceStatusStartingTime | Contains status starting time of the TSP service history instance used. |
TSLTSPHistoryInstanceServiceTypeIdentifier | Contains type identifier of the TSP service history instance used. |
TSLTSPHistoryInstanceXML | Contains XML content of the TSP service history instance used. |
TSLTSPInformationExtensions | Contains XML content of information extensions of the TSP used. |
TSLTSPInformationExtensions[Idx] | Contains XML content of information extension of the specified index of the TSP used. |
TSLTSPInformationURI | Contains XML content of information URI of the TSP used. |
TSLTSPInformationURI[lang] | Contains information URI for the specified language of the TSP used. |
TSLTSPName | Contains XML content of name of the TSP used. |
TSLTSPName[lang] | Contains name for the specified language of the TSP used. |
TSLTSPSchemeServiceDefinitionURI | Contains XML content of scheme service definition URI of the TSP service used. |
TSLTSPSchemeServiceDefinitionURI[lang] | Contains scheme service definition URI for the specified language of the TSP service used. |
TSLTSPServiceDefinitionURI | Contains XML content of definition URI of the TSP service used. |
TSLTSPServiceDefinitionURI[lang] | Contains definition URI for the specified language of the TSP service used. |
TSLTSPServiceInformationExtensions | Contains XML content of information extensions of the TSP service used. |
TSLTSPServiceInformationExtensions[Idx] | Contains XML content of information extension of the specified index of the TSP service used. |
TSLTSPServiceName | Contains XML content of name of the TSP service used. |
TSLTSPServiceName[lang] | Contains name for the specified language of the TSP service used. |
TSLTSPServiceQualifiers | Contains list of qualifiers of the TSP service used. |
TSLTSPServiceStatus | Contains status of the TSP service used. |
TSLTSPServiceStatusStartingTime | Contains status starting time of the TSP service used. |
TSLTSPServiceSupplyPoints | Contains XML content of the supply points of the TSP service used. |
TSLTSPServiceTypeIdentifier | Contains type identifier of the TSP service used. |
TSLTSPServiceXML | Contains XML content of the TSP service used. |
TSLTSPTradeName | Contains XML content of trade name of the TSP used. |
TSLTSPTradeName[lang] | Contains trade name for the specified language of the TSP used. |
TSLTSPXML | Contains XML content of the TSP used. |
TSLType | Contains TSL type of the TSL used. |
TSLVersionIdentifier | Contains version identifier of the TSL used. |
TSLXML | Contains XML content of the TSL used. |
CheckKeyIntegrityBeforeUse | Enables or disable private key integrity check before use. |
CookieCaching | Specifies whether a cookie cache should be used for HTTP(S) transports. |
Cookies | Gets or sets local cookies for the component (supported for HTTPClient, RESTClient and SOAPClient only). |
DefDeriveKeyIterations | Specifies the default key derivation algorithm iteration count. |
EnableClientSideSSLFFDHE | Enables or disables finite field DHE key exchange support in TLS clients. |
GlobalCookies | Gets or sets global cookies for all the HTTP transports. |
HttpUserAgent | Specifies the user agent name to be used by all HTTP clients. |
LogDestination | Specifies the debug log destination. |
LogDetails | Specifies the debug log details to dump. |
LogFile | Specifies the debug log filename. |
LogFilters | Specifies the debug log filters. |
LogFlushMode | Specifies the log flush mode. |
LogLevel | Specifies the debug log level. |
LogMaxEventCount | Specifies the maximum number of events to cache before further action is taken. |
LogRotationMode | Specifies the log rotation mode. |
MaxASN1BufferLength | Specifies the maximal allowed length for ASN.1 primitive tag data. |
MaxASN1TreeDepth | Specifies the maximal depth for processed ASN.1 trees. |
OCSPHashAlgorithm | Specifies the hash algorithm to be used to identify certificates in OCSP requests. |
UseOwnDNSResolver | Specifies whether the client components should use own DNS resolver. |
UseSharedSystemStorages | Specifies whether the validation engine should use a global per-process copy of the system certificate stores. |
UseSystemOAEPAndPSS | Enforces or disables the use of system-driven RSA OAEP and PSS computations. |
UseSystemRandom | Enables or disables the use of the OS PRNG. |