SecureBlackbox 2020 Python Edition

Questions / Feedback?

CertificateValidator Class

Properties   Methods   Events   Configuration Settings   Errors  

The CertificateValidator class provides fine-grained validation of X.509 certificates.

Syntax

class secureblackbox.CertificateValidator

Remarks

This is a powerful and configurable class 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 revocation_check in accordance with your revocation check preferences.
  • Enable use_system_certificates property to trust certificates that are trusted by the operating system. Copy any certificates that are not available in the standard system locations to known_certificates and trusted_certificates collections (see Note 1 below).
  • Optionally, adjust tls_settings and socket_settings.
  • Adjust validation_moment 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 validate_for_ssl 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 on_before_certificate_processing, on_after_certificate_processing, and on_crl_downloaded events. It may also ask you for missing objects using on_crl_needed or on_ca_certificate_needed events. In each such event handler you can access the currently validated certificate via the current_certificate property, and the interim validity figures via the interim_validation_result and interim_validation_details 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:

  • chain_validation_result 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.
  • chain_validation_details provides insights into the factors that caused the validation to fail.
Apart from these two parameters, you can check the low-level validation details by consulting the validation_log property. The validation log is often a great source for tracking and reacting to various validation issues.

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 trusted_certificates and known_certificates collections to have your chains validate fully in Linux and macOS projects.

Note 2: The offline_mode 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 use_system_certificates property, it allows to make sure that any content provided via known_certificates, known_cr_ls, and known_ocs_ps 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 class with short descriptions. Click on the links for further details.

blocked_cert_countThe number of records in the BlockedCert arrays.
blocked_cert_bytesReturns raw certificate data in DER format.
blocked_cert_handleAllows to get or set a 'handle', a unique identifier of the underlying property object.
cache_validation_resultsEnables or disables validation result caching.
cert_bytesReturns raw certificate data in DER format.
cert_handleAllows to get or set a 'handle', a unique identifier of the underlying property object.
chain_validation_detailsThe details of a certificate chain validation outcome.
chain_validation_resultThe general outcome of a certificate chain validation routine. Use ChainValidationDetails to get information about the reasons that contributed to the validation result.
current_ca_cert_bytesReturns raw certificate data in DER format.
current_ca_cert_caIndicates whether the certificate has a CA capability (a setting in BasicConstraints extension).
current_ca_cert_ca_key_idA unique identifier (fingerprint) of the CA certificate's private key.
current_ca_cert_crl_distribution_pointsLocations of the CRL (Certificate Revocation List) distribution points used to check this certificate's validity.
current_ca_cert_curveSpecifies the elliptic curve of the EC public key.
current_ca_cert_fingerprintContains the fingerprint (a hash imprint) of this certificate.
current_ca_cert_friendly_nameContains an associated alias (friendly name) of the certificate.
current_ca_cert_handleAllows to get or set a 'handle', a unique identifier of the underlying property object.
current_ca_cert_hash_algorithmSpecifies 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 .
current_ca_cert_issuerThe common name of the certificate issuer (CA), typically a company name.
current_ca_cert_issuer_rdnA collection of information, in the form of [OID, Value] pairs, uniquely identifying the certificate issuer.
current_ca_cert_key_algorithmSpecifies the public key algorithm of this certificate.
current_ca_cert_key_bitsReturns the length of the public key.
current_ca_cert_key_fingerprintReturns a fingerprint of the public key contained in the certificate.
current_ca_cert_key_usageIndicates the purposes of the key contained in the certificate, in the form of an OR'ed flag set.
current_ca_cert_key_validReturns True if the certificate's key is cryptographically valid, and False otherwise.
current_ca_cert_ocsp_locationsLocations of OCSP (Online Certificate Status Protocol) services that can be used to check this certificate's validity, as recorded by the CA.
current_ca_cert_originReturns the origin of this certificate.
current_ca_cert_policy_i_dsContains identifiers (OIDs) of the applicable certificate policies.
current_ca_cert_private_key_bytesContains the certificate's private key.
current_ca_cert_private_key_existsIndicates whether the certificate has an associated private key.
current_ca_cert_private_key_extractableIndicates whether the private key is extractable.
current_ca_cert_public_key_bytesContains the certificate's public key in DER format.
current_ca_cert_self_signedIndicates whether the certificate is self-signed (root) or signed by an external CA.
current_ca_cert_serial_numberReturns the certificate's serial number.
current_ca_cert_sig_algorithmIndicates the algorithm that was used by the CA to sign this certificate.
current_ca_cert_subjectThe common name of the certificate holder, typically an individual's name, a URL, an e-mail address, or a company name.
current_ca_cert_subject_key_idContains a unique identifier (fingerprint) of the certificate's private key.
current_ca_cert_subject_rdnA collection of information, in the form of [OID, Value] pairs, uniquely identifying the certificate holder (subject).
current_ca_cert_valid_fromThe time point at which the certificate becomes valid, in UTC.
current_ca_cert_valid_toThe time point at which the certificate expires, in UTC.
current_cert_bytesReturns raw certificate data in DER format.
current_cert_caIndicates whether the certificate has a CA capability (a setting in BasicConstraints extension).
current_cert_ca_key_idA unique identifier (fingerprint) of the CA certificate's private key.
current_cert_crl_distribution_pointsLocations of the CRL (Certificate Revocation List) distribution points used to check this certificate's validity.
current_cert_curveSpecifies the elliptic curve of the EC public key.
current_cert_fingerprintContains the fingerprint (a hash imprint) of this certificate.
current_cert_friendly_nameContains an associated alias (friendly name) of the certificate.
current_cert_handleAllows to get or set a 'handle', a unique identifier of the underlying property object.
current_cert_hash_algorithmSpecifies 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 .
current_cert_issuerThe common name of the certificate issuer (CA), typically a company name.
current_cert_issuer_rdnA collection of information, in the form of [OID, Value] pairs, uniquely identifying the certificate issuer.
current_cert_key_algorithmSpecifies the public key algorithm of this certificate.
current_cert_key_bitsReturns the length of the public key.
current_cert_key_fingerprintReturns a fingerprint of the public key contained in the certificate.
current_cert_key_usageIndicates the purposes of the key contained in the certificate, in the form of an OR'ed flag set.
current_cert_key_validReturns True if the certificate's key is cryptographically valid, and False otherwise.
current_cert_ocsp_locationsLocations of OCSP (Online Certificate Status Protocol) services that can be used to check this certificate's validity, as recorded by the CA.
current_cert_originReturns the origin of this certificate.
current_cert_policy_i_dsContains identifiers (OIDs) of the applicable certificate policies.
current_cert_private_key_bytesContains the certificate's private key.
current_cert_private_key_existsIndicates whether the certificate has an associated private key.
current_cert_private_key_extractableIndicates whether the private key is extractable.
current_cert_public_key_bytesContains the certificate's public key in DER format.
current_cert_self_signedIndicates whether the certificate is self-signed (root) or signed by an external CA.
current_cert_serial_numberReturns the certificate's serial number.
current_cert_sig_algorithmIndicates the algorithm that was used by the CA to sign this certificate.
current_cert_subjectThe common name of the certificate holder, typically an individual's name, a URL, an e-mail address, or a company name.
current_cert_subject_key_idContains a unique identifier (fingerprint) of the certificate's private key.
current_cert_subject_rdnA collection of information, in the form of [OID, Value] pairs, uniquely identifying the certificate holder (subject).
current_cert_valid_fromThe time point at which the certificate becomes valid, in UTC.
current_cert_valid_toThe time point at which the certificate expires, in UTC.
grace_periodSpecifies a grace period to apply during certificate validation.
interim_validation_detailsContains the validation details of the moment.
interim_validation_resultContains the validation status of the moment.
known_cert_countThe number of records in the KnownCert arrays.
known_cert_bytesReturns raw certificate data in DER format.
known_cert_handleAllows to get or set a 'handle', a unique identifier of the underlying property object.
known_crl_countThe number of records in the KnownCRL arrays.
known_crl_bytesReturns raw CRL data in DER format.
known_crl_handleAllows to get or set a 'handle', a unique identifier of the underlying property object.
known_ocsp_countThe number of records in the KnownOCSP arrays.
known_ocsp_bytesBuffer containing raw OCSP response data.
known_ocsp_handleAllows to get or set a 'handle', a unique identifier of the underlying property object.
max_validation_timeSpecifies the maximum time the validation process may take.
offline_modeSwitches the class to the offline mode.
proxy_addressThe IP address of the proxy server.
proxy_authenticationThe authentication type used by the proxy server.
proxy_passwordThe password to authenticate to the proxy server.
proxy_portThe port on the proxy server to connect to.
proxy_proxy_typeThe type of the proxy server.
proxy_request_headersContains HTTP request headers for WebTunnel and HTTP proxy.
proxy_response_bodyContains the HTTP or HTTPS (WebTunnel) proxy response body.
proxy_response_headersContains response headers received from an HTTP or HTTPS (WebTunnel) proxy server.
proxy_use_i_pv6Specifies whether IPv6 should be used when connecting through the proxy.
proxy_use_proxyEnables or disables proxy-driven connection.
proxy_usernameSpecifies the username credential for proxy authentication.
qualifiedIndicates a qualified electronic signature.
revocation_checkSpecifies the kind(s) of revocation check to perform.
socket_dns_modeSelects the DNS resolver to use: the class's (secure) built-in one, or the one provided by the system.
socket_dns_portSpecifies the port number to be used for sending queries to the DNS server.
socket_dns_query_timeoutThe timeout (in milliseconds) for each DNS query.
socket_dns_serversThe addresses of DNS servers to use for address resolution, separated by commas or semicolons.
socket_dns_total_timeoutThe timeout (in milliseconds) for the whole resolution process.
socket_incoming_speed_limitThe maximum number of bytes to read from the socket, per second.
socket_local_addressThe local network interface to bind the socket to.
socket_local_portThe local port number to bind the socket to.
socket_outgoing_speed_limitThe maximum number of bytes to write to the socket, per second.
socket_timeoutThe maximum period of waiting, in milliseconds, after which the socket operation is considered unsuccessful.
socket_use_i_pv6Enables or disables IP protocol version 6.
tls_client_cert_countThe number of records in the TLSClientCert arrays.
tls_client_cert_bytesReturns raw certificate data in DER format.
tls_client_cert_handleAllows to get or set a 'handle', a unique identifier of the underlying property object.
tls_server_cert_countThe number of records in the TLSServerCert arrays.
tls_server_cert_bytesReturns raw certificate data in DER format.
tls_server_cert_handleAllows to get or set a 'handle', a unique identifier of the underlying property object.
tls_auto_validate_certificatesSpecifies whether server-side TLS certificates should be validated automatically using internal validation rules.
tls_base_configurationSelects the base configuration for the TLS settings.
tls_ciphersuitesA list of ciphersuites separated with commas or semicolons.
tlsec_curvesDefines the elliptic curves to enable.
tls_force_resume_if_destination_changesWhether to force TLS session resumption when the destination address changes.
tls_pre_shared_identityDefines the identity used when the PSK (Pre-Shared Key) key-exchange mechanism is negotiated.
tls_pre_shared_keyContains the pre-shared for the PSK (Pre-Shared Key) key-exchange mechanism, encoded with base16.
tls_pre_shared_key_ciphersuiteDefines the ciphersuite used for PSK (Pre-Shared Key) negotiation.
tls_renegotiation_attack_prevention_modeSelects renegotiation attack prevention mechanism.
tls_revocation_checkSpecifies the kind(s) of revocation check to perform.
tlsssl_optionsVarious 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.
tlstls_modeSpecifies the TLS mode to use.
tls_use_extended_master_secretEnables Extended Master Secret Extension, as defined in RFC 7627.
tls_use_session_resumptionEnables or disables TLS session resumption capability.
tls_versionsTh SSL/TLS versions to enable by default.
trusted_cert_countThe number of records in the TrustedCert arrays.
trusted_cert_bytesReturns raw certificate data in DER format.
trusted_cert_handleAllows to get or set a 'handle', a unique identifier of the underlying property object.
used_cert_countThe number of records in the UsedCert arrays.
used_cert_bytesReturns raw certificate data in DER format.
used_cert_caIndicates whether the certificate has a CA capability (a setting in BasicConstraints extension).
used_cert_ca_key_idA unique identifier (fingerprint) of the CA certificate's private key.
used_cert_crl_distribution_pointsLocations of the CRL (Certificate Revocation List) distribution points used to check this certificate's validity.
used_cert_curveSpecifies the elliptic curve of the EC public key.
used_cert_fingerprintContains the fingerprint (a hash imprint) of this certificate.
used_cert_friendly_nameContains an associated alias (friendly name) of the certificate.
used_cert_handleAllows to get or set a 'handle', a unique identifier of the underlying property object.
used_cert_hash_algorithmSpecifies 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 .
used_cert_issuerThe common name of the certificate issuer (CA), typically a company name.
used_cert_issuer_rdnA collection of information, in the form of [OID, Value] pairs, uniquely identifying the certificate issuer.
used_cert_key_algorithmSpecifies the public key algorithm of this certificate.
used_cert_key_bitsReturns the length of the public key.
used_cert_key_fingerprintReturns a fingerprint of the public key contained in the certificate.
used_cert_key_usageIndicates the purposes of the key contained in the certificate, in the form of an OR'ed flag set.
used_cert_key_validReturns True if the certificate's key is cryptographically valid, and False otherwise.
used_cert_ocsp_locationsLocations of OCSP (Online Certificate Status Protocol) services that can be used to check this certificate's validity, as recorded by the CA.
used_cert_originReturns the origin of this certificate.
used_cert_policy_i_dsContains identifiers (OIDs) of the applicable certificate policies.
used_cert_private_key_bytesContains the certificate's private key.
used_cert_private_key_existsIndicates whether the certificate has an associated private key.
used_cert_private_key_extractableIndicates whether the private key is extractable.
used_cert_public_key_bytesContains the certificate's public key in DER format.
used_cert_self_signedIndicates whether the certificate is self-signed (root) or signed by an external CA.
used_cert_serial_numberReturns the certificate's serial number.
used_cert_sig_algorithmIndicates the algorithm that was used by the CA to sign this certificate.
used_cert_subjectThe common name of the certificate holder, typically an individual's name, a URL, an e-mail address, or a company name.
used_cert_subject_key_idContains a unique identifier (fingerprint) of the certificate's private key.
used_cert_subject_rdnA collection of information, in the form of [OID, Value] pairs, uniquely identifying the certificate holder (subject).
used_cert_valid_fromThe time point at which the certificate becomes valid, in UTC.
used_cert_valid_toThe time point at which the certificate expires, in UTC.
used_crl_countThe number of records in the UsedCRL arrays.
used_crl_bytesReturns raw CRL data in DER format.
used_crl_handleAllows to get or set a 'handle', a unique identifier of the underlying property object.
used_crl_issuerThe common name of the CRL issuer (CA), typically a company name.
used_crl_issuer_rdnA collection of information, in the form of [OID, Value] pairs, uniquely identifying the CRL issuer.
used_crl_locationThe URL that the CRL was downloaded from.
used_crl_next_updateThe planned time and date of the next version of this CRL to be published.
used_crl_this_updateThe date and time at which this version of the CRL was published.
use_default_ts_lsEnables or disables the use of the default TSLs.
used_ocsp_countThe number of records in the UsedOCSP arrays.
used_ocsp_bytesBuffer containing raw OCSP response data.
used_ocsp_handleAllows to get or set a 'handle', a unique identifier of the underlying property object.
used_ocsp_issuerIndicates the issuer of this response (a CA or its authorized representative).
used_ocsp_issuer_rdnIndicates the RDN of the issuer of this response (a CA or its authorized representative).
used_ocsp_locationLocation of the OCSP responder.
used_ocsp_produced_atSpecifies the time when the response was produced, in UTC.
use_system_certificatesEnables or disables the use of the system certificates.
validation_logContains the complete log of the certificate validation routine.
validation_momentThe time point at which chain validity is to be established.

Method List


The following is the full list of the methods of the class with short descriptions. Click on the links for further details.

configSets or retrieves a configuration setting.
refresh_cacheRefreshes the certificate cache.
reset_cacheClears all data contained in the validation cache.
terminateTerminates the validation process.
validateValidates the certificate chain.
validate_for_smimeValidates an e-mail signing certificate.
validate_for_sslValidates a server-side SSL/TLS certificate.

Event List


The following is the full list of the events fired by the class with short descriptions. Click on the links for further details.

on_after_certificate_processingMarks the end of a single certificate processing step.
on_after_certificate_validationMarks the end of a single certificate validation step.
on_before_ca_certificate_downloadFires when a CA certificate is about to be downloaded.
on_before_certificate_processingReports the start of certificate processing.
on_before_certificate_validationReports the start of certificate validation.
on_before_crl_downloadFires when a CRL is about to be downloaded.
on_before_ocsp_downloadFires when a certificate's OCSP status is about to be requested.
on_ca_certificate_downloadedMarks the success of a certificate download.
on_ca_certificate_neededRequests a missing certificate from the user.
on_crl_downloadedMarks the success of a CRL download.
on_crl_neededRequests a missing CRL from the user.
on_errorInformation about errors during certificate validation.
on_notificationThis event notifies the application about an underlying control flow event.
on_ocsp_downloadedMarks the success of an OCSP request.
on_tls_cert_validateThis 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 class with short descriptions. Click on the links for further details.

CacheValidityTimeTime period during which to keep validation cache.
CheckStrongAlgorithmForTrustedWhether to check a 'strong' hash algorithm for trusted certificates.
CheckValidityPeriodForTrustedWhether to check validity period for trusted certificates.
CrossCertificationValidationStrategyDefines how the cross certification validation is performed.
ForceCompleteChainValidationForTrustedWhether to validate the whole chain.
ForceRevocationCheckForRootWhether to check revocation info for root certificates.
IgnoreBadOCSPChainsWhether to ignore bad OCSP chains during validation.
IgnoreCABasicConstraintsWhether to ignore the Basic Constraints extension for the CA certificates.
IgnoreCAKeyUsageWhether to ignore Key Usage extension for CA certificates.
IgnoreCANameConstraintsWhether to ignore the Name Constraints extension for the CA certificates.
IgnoreOCSPNoCheckExtensionWhether OCSP NoCheck extension should be ignored.
IgnoreRevocationKeyUsageWhether to check the CA certs used to sign revocation info.
IgnoreSSLKeyUsageWhether to check the CA certs used in SSL/TLS.
IgnoreSystemTrustWhether trusted Windows Certificate Stores should be treated as trusted.
ImplicitlyTrustSelfSignedCertificatesWhether to trust self-signed certificates.
LookupCRLByNameIfDPNotPresentWhether to look for implicit CRL Distribution Points.
PromoteLongOCSPResponsesWhether long OCSP responses are requested.
RevocationMomentGracePeriodGrace period for revocation information propagation.
SkipSubjectNameIfAltNameExistsWhether to check CommonName if SubjectAltName is present.
UseMicrosoftCTLEnables or disables automatic use of Microsoft online certificate trust list.
ValidateInvalidCertificatesWhether to do all checks on invalid certificates.
WeakAlgorithmHandlingModeHow to handle certificates signed with a 'weak' hash algorithm.
CustomTSLsSpecifies the custom TSLs.
QualifiedStatusIndicates a qualified electronic signature.
TSLDistributionPointsContains XML content of distribution points of the TSL used.
TSLDistributionPoints[Idx]Contains distribution point of the specified index of the TSL used.
TSLHistoricalInformationPeriodContains historical information period of the TSL used.
TSLLegalNoticesContains XML content of legal notices of the TSL used.
TSLLegalNotices[lang]Contains legal notices for the specified language of the TSL used.
TSLListIssueDateTimeContains list issue date and time of the TSL used.
TSLNextUpdateContains next update date and time of the TSL used.
TSLPoliciesContains XML content of policies of the TSL used.
TSLPolicies[lang]Contains policies for the specified language of the TSL used.
TSLSchemeExtensionsContains 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.
TSLSchemeInformationURIContains XML content of scheme information URI of the TSL used.
TSLSchemeInformationURI[lang]Contains scheme information URI for the specified language of the TSL used.
TSLSchemeNameContains XML content of scheme name of the TSL used.
TSLSchemeName[lang]Contains scheme name for the specified language of the TSL used.
TSLSchemeOperatorAddressContains XML content of scheme operator address of the TSL used.
TSLSchemeOperatorNameContains XML content of scheme operator name of the TSL used.
TSLSchemeOperatorName[lang]Contains scheme operator name for the specified language of the TSL used.
TSLSchemeTerritoryContains scheme territory of the TSL used.
TSLSchemeTypeCommunityRulesContains 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.
TSLSequenceNumberContains sequence number of the TSL used.
TSLsRetrieveLogContains the complete log of the TSLs retrieve.
TSLStatusDeterminationApproachContains status determination approach of the TSL used.
TSLsValidationLogContains the complete log of the TSLs validation.
TSLTSPAdditionalServiceInformationContains addtional service information of the TSP service used.
TSLTSPAddressContains XML content of the address of the TSP used.
TSLTSPHistoryInstanceIndicates that TSP service history instance used.
TSLTSPHistoryInstanceAdditionalServiceInformationContains addtional service information of the TSP service history instance used.
TSLTSPHistoryInstanceQualifiersContains list of qualifiers of the TSP service history instance used.
TSLTSPHistoryInstanceServiceInformationExtensionsContains 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.
TSLTSPHistoryInstanceServiceNameContains 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.
TSLTSPHistoryInstanceServiceStatusContains status of the TSP service history instance used.
TSLTSPHistoryInstanceServiceStatusStartingTimeContains status starting time of the TSP service history instance used.
TSLTSPHistoryInstanceServiceTypeIdentifierContains type identifier of the TSP service history instance used.
TSLTSPHistoryInstanceXMLContains XML content of the TSP service history instance used.
TSLTSPInformationExtensionsContains 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.
TSLTSPInformationURIContains XML content of information URI of the TSP used.
TSLTSPInformationURI[lang]Contains information URI for the specified language of the TSP used.
TSLTSPNameContains XML content of name of the TSP used.
TSLTSPName[lang]Contains name for the specified language of the TSP used.
TSLTSPSchemeServiceDefinitionURIContains 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.
TSLTSPServiceDefinitionURIContains XML content of definition URI of the TSP service used.
TSLTSPServiceDefinitionURI[lang]Contains definition URI for the specified language of the TSP service used.
TSLTSPServiceInformationExtensionsContains 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.
TSLTSPServiceNameContains XML content of name of the TSP service used.
TSLTSPServiceName[lang]Contains name for the specified language of the TSP service used.
TSLTSPServiceQualifiersContains list of qualifiers of the TSP service used.
TSLTSPServiceStatusContains status of the TSP service used.
TSLTSPServiceStatusStartingTimeContains status starting time of the TSP service used.
TSLTSPServiceSupplyPointsContains XML content of the supply points of the TSP service used.
TSLTSPServiceTypeIdentifierContains type identifier of the TSP service used.
TSLTSPServiceXMLContains XML content of the TSP service used.
TSLTSPTradeNameContains XML content of trade name of the TSP used.
TSLTSPTradeName[lang]Contains trade name for the specified language of the TSP used.
TSLTSPXMLContains XML content of the TSP used.
TSLTypeContains TSL type of the TSL used.
TSLVersionIdentifierContains version identifier of the TSL used.
TSLXMLContains XML content of the TSL used.
CheckKeyIntegrityBeforeUseEnables or disable private key integrity check before use.
CookieCachingSpecifies whether a cookie cache should be used for HTTP(S) transports.
CookiesGets or sets local cookies for the class (supported for HTTPClient, RESTClient and SOAPClient only).
DefDeriveKeyIterationsSpecifies the default key derivation algorithm iteration count.
EnableClientSideSSLFFDHEEnables or disables finite field DHE key exchange support in TLS clients.
GlobalCookiesGets or sets global cookies for all the HTTP transports.
HttpUserAgentSpecifies the user agent name to be used by all HTTP clients.
LogDestinationSpecifies the debug log destination.
LogDetailsSpecifies the debug log details to dump.
LogFileSpecifies the debug log filename.
LogFiltersSpecifies the debug log filters.
LogFlushModeSpecifies the log flush mode.
LogLevelSpecifies the debug log level.
LogMaxEventCountSpecifies the maximum number of events to cache before further action is taken.
LogRotationModeSpecifies the log rotation mode.
MaxASN1BufferLengthSpecifies the maximal allowed length for ASN.1 primitive tag data.
MaxASN1TreeDepthSpecifies the maximal depth for processed ASN.1 trees.
OCSPHashAlgorithmSpecifies the hash algorithm to be used to identify certificates in OCSP requests.
UseOwnDNSResolverSpecifies whether the client classes should use own DNS resolver.
UseSharedSystemStoragesSpecifies whether the validation engine should use a global per-process copy of the system certificate stores.
UseSystemOAEPAndPSSEnforces or disables the use of system-driven RSA OAEP and PSS computations.
UseSystemRandomEnables or disables the use of the OS PRNG.

Copyright (c) 2022 /n software inc. - All rights reserved.
SecureBlackbox 2020 Python Edition - Version 20.0 [Build 8154]