SecureBlackbox 2020 Python Edition

Questions / Feedback?

PDFVerifier Class

Properties   Methods   Events   Configuration Settings   Errors  

The PDFVerifier class verifies signatures over PDF documents.

Syntax

class secureblackbox.PDFVerifier

Remarks

Use PDFVerifier to validate electronic signatures over PDF documents. Generic and PAdES signatures are supported.

PDFVerifier validates each signature from two perspectives: the integrity and validity of the signature itself (i.e. its correspondence to the document data it covers), and the validity and trustworthiness of the signing certificate chain. These two signature aspects are generally independent of each other: the signature may be valid but the chain may not be trusted, or, the other way round, the chain may be trusted, but the integrity of the signature may be violated. Under normal circumstances both the signature and the chain must be valid for the signature to be considered good.

To initiate the validation, assign the path to the signed PDF file to the input_file property (alternatively, you can provide it in a memory buffer via input_bytes property), and call verify method. For every signature located in the document, PDFVerifier will fire the on_signature_found event. This event lets you specify whether you want PDFVerifier to validate the signature, the chain, or both.

Note: it does not mean that any of the two is optional. This API lets you be flexible in how you validate documents in your code in accordance with the specifics of your application and its usage scenarios. For example, if your trust environment relies on certificate pinning, validating the chain by PDFVerifier internally may cause unnecessary burden on the system, in which case it may be reasonable to disable it in the event handler.

Once on_signature_found returns, PDFVerifier proceeds to the signature validation routine in accordance with the provided settings. Upon completion of the validation, on_signature_validated event is fired, and the validation results are separately provided via signature_validation_result and chain_validation_result properties. Other information about the signature can be accessed via the signature property.

PDF format uses incremental updates to introduce changes to the document. This implies that a signature may cover not the whole document but, rather, a certain revision of it. Strictly speaking, every signature in a PDF document apart from, perhaps, the last one covers just some part of the document. In most cases that part matches the revision of the document that existed before all the subsequent signatures had been added.

Because of this specifics of PDF format it is crucially important to understand what part of the document is covered by a specific signature. Use the to establish the scope of a signature. The revision of the document covered by that specific signature ranges from byte 0 to CoverageEndsAt. Alternatively, you can use the get_signed_version method to extract the signed revision to a file.

Useful settings and properties

The following properties of PDFVerifier may be handy when working with this component:

  • offline_mode lets you validate the document without contacting online revocation sources. Paired with switched off system trust settings, it can be used to establish the long-term validity of the document and the completeness of validation material included in it.
  • revocation_check lets you adjust the revocation checking preferences.
  • validated_signing_time returns the signing time as recorded in the embedded signature timestamp. This is in contrast to claimed_signing_time, which returns the signing time as specified by the signer.
  • validation_log is a great way to find out the details of chain validation failures. This property returns a comprehensive validation log that reports all the issues encountered during the validation.
  • If the document is encrypted (in addition to being signed), on_decryption_info_needed event will fire, asking you for the decryption certificate or password.

By default, PDFVerifier uses the system trust settings to establish certificate chain validity. You can configure it to use your own, custom validation environment by providing the necessary trust elements via known_certificates, trusted_certificates, known_cr_ls, and other similar properties.

Property List


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

all_signatures_validThe cumulative validity of all signatures.
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.
cert_countThe number of records in the Cert arrays.
cert_bytesReturns raw certificate data in DER format.
cert_caIndicates whether the certificate has a CA capability (a setting in BasicConstraints extension).
cert_ca_key_idA unique identifier (fingerprint) of the CA certificate's private key.
cert_crl_distribution_pointsLocations of the CRL (Certificate Revocation List) distribution points used to check this certificate's validity.
cert_curveSpecifies the elliptic curve of the EC public key.
cert_fingerprintContains the fingerprint (a hash imprint) of this certificate.
cert_friendly_nameContains an associated alias (friendly name) of the certificate.
cert_handleAllows to get or set a 'handle', a unique identifier of the underlying property object.
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 .
cert_issuerThe common name of the certificate issuer (CA), typically a company name.
cert_issuer_rdnA collection of information, in the form of [OID, Value] pairs, uniquely identifying the certificate issuer.
cert_key_algorithmSpecifies the public key algorithm of this certificate.
cert_key_bitsReturns the length of the public key.
cert_key_fingerprintReturns a fingerprint of the public key contained in the certificate.
cert_key_usageIndicates the purposes of the key contained in the certificate, in the form of an OR'ed flag set.
cert_key_validReturns True if the certificate's key is cryptographically valid, and False otherwise.
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.
cert_policy_i_dsContains identifiers (OIDs) of the applicable certificate policies.
cert_public_key_bytesContains the certificate's public key in DER format.
cert_self_signedIndicates whether the certificate is self-signed (root) or signed by an external CA.
cert_serial_numberReturns the certificate's serial number.
cert_sig_algorithmIndicates the algorithm that was used by the CA to sign this certificate.
cert_subjectThe common name of the certificate holder, typically an individual's name, a URL, an e-mail address, or a company name.
cert_subject_key_idContains a unique identifier (fingerprint) of the certificate's private key.
cert_subject_rdnA collection of information, in the form of [OID, Value] pairs, uniquely identifying the certificate holder (subject).
cert_valid_fromThe time point at which the certificate becomes valid, in UTC.
cert_valid_toThe time point at which the certificate expires, in UTC.
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.
claimed_signing_timeReturns a signature's claimed signing time.
crl_countThe number of records in the CRL arrays.
crl_bytesReturns raw CRL data in DER format.
crl_handleAllows to get or set a 'handle', a unique identifier of the underlying property object.
crl_issuerThe common name of the CRL issuer (CA), typically a company name.
crl_issuer_rdnA collection of information, in the form of [OID, Value] pairs, uniquely identifying the CRL issuer.
crl_locationThe URL that the CRL was downloaded from.
crl_next_updateThe planned time and date of the next version of this CRL to be published.
crl_this_updateThe date and time at which this version of the CRL was published.
decryption_certificate_bytesReturns raw certificate data in DER format.
decryption_certificate_handleAllows to get or set a 'handle', a unique identifier of the underlying property object.
decryption_cert_countThe number of records in the DecryptionCert arrays.
decryption_cert_bytesReturns raw certificate data in DER format.
decryption_cert_handleAllows to get or set a 'handle', a unique identifier of the underlying property object.
encryptedIndicates if the PDF document is encrypted.
encryption_algorithmThe symmetric algorithm used to encrypt the document.
encryption_typeThe document encryption type.
ignore_chain_validation_errorsMakes the class tolerant to chain validation errors.
input_bytesUse this property to pass the input to class in the byte array form.
input_fileA path to the signed PDF file.
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.
metadata_encryptedIndicates if the document metadata is encrypted.
ocsp_countThe number of records in the OCSP arrays.
ocsp_bytesBuffer containing raw OCSP response data.
ocsp_handleAllows to get or set a 'handle', a unique identifier of the underlying property object.
ocsp_issuerIndicates the issuer of this response (a CA or its authorized representative).
ocsp_issuer_rdnIndicates the RDN of the issuer of this response (a CA or its authorized representative).
ocsp_locationLocation of the OCSP responder.
ocsp_produced_atSpecifies the time when the response was produced, in UTC.
offline_modeSwitches the class to the offline mode.
passwordThe decryption password.
perms_annotationsIndicates whether the viewer may add annotations to the document.
perms_assembleIndicates if the viewer may assemble a new document on the basis of the encrypted one.
perms_extractIndicates if the user may extract (copy) pictures and text from the encrypted document.
perms_extract_accIndicates if the user may extract pictures/text from the document for accessibility purposes.
perms_fill_in_formsIndicates if the user may fill in forms in the document.
perms_high_quality_printIndicates if the document may be printed in high quality.
perms_low_quality_printIndicates if the document may be printed in low quality.
perms_modifyIndicates if the document may be modified.
profileSpecifies a pre-defined profile to apply when creating the signature.
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.
sig_allowed_changesThe changes to the document are allowed by the signature.
sig_author_nameA human-readable signer name.
sig_certificationSpecifies whether this is a Certification (MDP) signature.
sig_chain_validation_detailsThe details of a certificate chain validation outcome.
sig_chain_validation_resultThe outcome of a certificate chain validation routine.
sig_claimed_signing_timeReturns or sets signature's creation time.
sig_contact_infoContains signer's contact information.
sig_coverage_ends_atIndicates the offset in the PDF file where signature coverage ends.
sig_custom_dataA uninterpreted custom data to save with the signature.
sig_empty_fieldIndicates whether or not the signature created/read is an empty property (a signature placeholder).
sig_filter_nameThe signature filter name.
sig_full_signature_nameSpecifies the full name of the signature property.
sig_handleAllows to get or set a 'handle', a unique identifier of the underlying property object.
sig_hash_algorithmSpecifies the hash algorithm to be used for signing.
sig_heightSpecifies the height of the signature widget.
sig_invisibleControls whether the signature widget is visible on the page.
sig_levelSpecifies the signature kind and level.
sig_locationSpecifies the host name or the physical location of the signing entity.
sig_offsetxSpecifies the signature widget offset from the left-hand page border when AutoPos is False.
sig_offsetySpecifies the signature widget offset from the bottom page border when AutoPos is False.
sig_pageThe index of the page on which to place the signature.
sig_policy_hash_algorithmThe algorithm that was used to calculate the signature policy hash.
sig_printWhether the signature shall appear in printed documents.
sig_qualifiedIndicates a qualified electronic signature.
sig_read_onlyControls the ReadOnly flag of the widget.
sig_reasonSpecifies the reason for signing.
sig_signature_nameSpecifies the unique signature identifier to use.
sig_signature_validation_resultThe outcome of the cryptographic signature validation.
sig_signer_infoProvides custom signer information to put on the signature widget.
sig_subject_rdnContains the RDN of the owner of the signing certificate.
sig_timestampedIndicates if the signature is timestamped.
sig_validated_signing_timeContains the certified signing time.
sig_validation_logContains the signing certificate's chain validation log.
sig_widthSpecifies the width of the signature widget.
signature_countThe number of records in the Signature arrays.
signature_chain_validation_detailsThe details of a certificate chain validation outcome.
signature_chain_validation_resultThe outcome of a certificate chain validation routine.
signature_claimed_signing_timeReturns or sets signature's creation time.
signature_handleAllows to get or set a 'handle', a unique identifier of the underlying property object.
signature_levelSpecifies the signature kind and level.
signature_signature_validation_resultThe outcome of the cryptographic signature validation.
signature_subject_rdnContains the RDN of the owner of the signing certificate.
signature_timestampedIndicates if the signature is timestamped.
signature_validated_signing_timeContains the certified signing time.
signature_validation_logContains the signing certificate's chain validation log.
signature_validation_resultThe signature validation result.
signing_cert_bytesReturns raw certificate data in DER format.
signing_cert_caIndicates whether the certificate has a CA capability (a setting in BasicConstraints extension).
signing_cert_ca_key_idA unique identifier (fingerprint) of the CA certificate's private key.
signing_cert_crl_distribution_pointsLocations of the CRL (Certificate Revocation List) distribution points used to check this certificate's validity.
signing_cert_curveSpecifies the elliptic curve of the EC public key.
signing_cert_fingerprintContains the fingerprint (a hash imprint) of this certificate.
signing_cert_friendly_nameContains an associated alias (friendly name) of the certificate.
signing_cert_handleAllows to get or set a 'handle', a unique identifier of the underlying property object.
signing_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 .
signing_cert_issuerThe common name of the certificate issuer (CA), typically a company name.
signing_cert_issuer_rdnA collection of information, in the form of [OID, Value] pairs, uniquely identifying the certificate issuer.
signing_cert_key_algorithmSpecifies the public key algorithm of this certificate.
signing_cert_key_bitsReturns the length of the public key.
signing_cert_key_fingerprintReturns a fingerprint of the public key contained in the certificate.
signing_cert_key_usageIndicates the purposes of the key contained in the certificate, in the form of an OR'ed flag set.
signing_cert_key_validReturns True if the certificate's key is cryptographically valid, and False otherwise.
signing_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.
signing_cert_policy_i_dsContains identifiers (OIDs) of the applicable certificate policies.
signing_cert_public_key_bytesContains the certificate's public key in DER format.
signing_cert_self_signedIndicates whether the certificate is self-signed (root) or signed by an external CA.
signing_cert_serial_numberReturns the certificate's serial number.
signing_cert_sig_algorithmIndicates the algorithm that was used by the CA to sign this certificate.
signing_cert_subjectThe common name of the certificate holder, typically an individual's name, a URL, an e-mail address, or a company name.
signing_cert_subject_key_idContains a unique identifier (fingerprint) of the certificate's private key.
signing_cert_subject_rdnA collection of information, in the form of [OID, Value] pairs, uniquely identifying the certificate holder (subject).
signing_cert_valid_fromThe time point at which the certificate becomes valid, in UTC.
signing_cert_valid_toThe time point at which the certificate expires, in UTC.
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.
timestamp_accuracyThis property indicates the accuracy of the included time mark, in microseconds.
timestamp_bytesReturns raw timestamp data in DER format.
timestamp_chain_validation_detailsThe details of a certificate chain validation outcome.
timestamp_chain_validation_resultThe outcome of a certificate chain validation routine.
timestamp_hash_algorithmReturns the timestamp's hash algorithm 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 .
timestamp_serial_numberReturns the timestamp's serial number.
timestamp_timeThe time point incorporated into the timestamp.
timestamp_timestamp_typeReturns the timestamp type.
timestamp_tsa_nameThis value uniquely identifies the Timestamp Authority (TSA).
timestamp_validation_logContains the TSA certificate chain validation log.
timestamp_validation_resultContains timestamp validation outcome.
timestampedIndicates whether or not the signature is timestamped.
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.
tsa_cert_bytesReturns raw certificate data in DER format.
tsa_cert_caIndicates whether the certificate has a CA capability (a setting in BasicConstraints extension).
tsa_cert_ca_key_idA unique identifier (fingerprint) of the CA certificate's private key.
tsa_cert_crl_distribution_pointsLocations of the CRL (Certificate Revocation List) distribution points used to check this certificate's validity.
tsa_cert_curveSpecifies the elliptic curve of the EC public key.
tsa_cert_fingerprintContains the fingerprint (a hash imprint) of this certificate.
tsa_cert_friendly_nameContains an associated alias (friendly name) of the certificate.
tsa_cert_handleAllows to get or set a 'handle', a unique identifier of the underlying property object.
tsa_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 .
tsa_cert_issuerThe common name of the certificate issuer (CA), typically a company name.
tsa_cert_issuer_rdnA collection of information, in the form of [OID, Value] pairs, uniquely identifying the certificate issuer.
tsa_cert_key_algorithmSpecifies the public key algorithm of this certificate.
tsa_cert_key_bitsReturns the length of the public key.
tsa_cert_key_fingerprintReturns a fingerprint of the public key contained in the certificate.
tsa_cert_key_usageIndicates the purposes of the key contained in the certificate, in the form of an OR'ed flag set.
tsa_cert_key_validReturns True if the certificate's key is cryptographically valid, and False otherwise.
tsa_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.
tsa_cert_policy_i_dsContains identifiers (OIDs) of the applicable certificate policies.
tsa_cert_public_key_bytesContains the certificate's public key in DER format.
tsa_cert_self_signedIndicates whether the certificate is self-signed (root) or signed by an external CA.
tsa_cert_serial_numberReturns the certificate's serial number.
tsa_cert_sig_algorithmIndicates the algorithm that was used by the CA to sign this certificate.
tsa_cert_subjectThe common name of the certificate holder, typically an individual's name, a URL, an e-mail address, or a company name.
tsa_cert_subject_key_idContains a unique identifier (fingerprint) of the certificate's private key.
tsa_cert_subject_rdnA collection of information, in the form of [OID, Value] pairs, uniquely identifying the certificate holder (subject).
tsa_cert_valid_fromThe time point at which the certificate becomes valid, in UTC.
tsa_cert_valid_toThe time point at which the certificate expires, in UTC.
validated_signing_timeContains the certified signing time.
validation_logContains the complete log of the certificate validation routine.
validation_momentThe time point at which signature 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.
get_signed_versionReturns the part of the document that is covered by the signature.
verifyVerifies a signed PDF document.

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_chain_validatedReports the completion of a certificate chain validation.
on_decryption_info_neededRequests decryption information during decryption, signing, or validation.
on_errorInformation about errors during signing/validation.
on_notificationThis event notifies the application about an underlying control flow event.
on_recipient_foundProvides recipient certificate details to the application.
on_signature_foundSignifies the start of signature validation.
on_signature_validatedMarks the completion of the signature validation routine.
on_timestamp_foundSignifies the start of a timestamp validation routine.
on_timestamp_validatedReports the completion of the timestamp validation routine.
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.

CustomTSLsSpecifies the custom TSLs.
EmptySignatureFieldAddRevInfo[Index]Specifies if revocation checking should be performed.
EmptySignatureFieldAlternateName[Index]Contains an alternate field name.
EmptySignatureFieldCountThe number of empty signature form fields.
EmptySignatureFieldFlags[Index]The field flags of the signature form field.
EmptySignatureFieldHeight[Index]The Height of the empty signature form field.
EmptySignatureFieldInvisible[Index]The visibility status of the field.
EmptySignatureFieldLegalAttestations[Index]Specifies the legal attestations that are associated with the signature.
EmptySignatureFieldMappingName[Index]The mapping name to be used when exporting form field data from the document.
EmptySignatureFieldName[Index]Textual field name.
EmptySignatureFieldOffsetX[Index]The field's offset from the left page border.
EmptySignatureFieldOffsetY[Index]The field's offset from the bottom page border.
EmptySignatureFieldPage[Index]The index of the form field's page in the document.
EmptySignatureFieldRequiredAllowedChanges[Index]Specifies the changes allowed by the signature.
EmptySignatureFieldRequiredConstraints[Index]Specifies the required Seed Value Dictionary (SVD) constraints.
EmptySignatureFieldRequiredDigestAlgorithms[Index]Specifies the required digest algorithms.
EmptySignatureFieldRequiredFilter[Index]Specifies the required filter.
EmptySignatureFieldRequiredLockAction[Index]Indicates which set of fields shall be locked.
EmptySignatureFieldRequiredLockFields[Index]Indicates the fields that shall be locked on signing.
EmptySignatureFieldRequiredReasons[Index]Specifies the required reasons.
EmptySignatureFieldRequiredSubfilters[Index]Specifies the required subfilters.
EmptySignatureFieldTimestampRequired[Index]Specifies if the signature should be time-stamped.
EmptySignatureFieldTSPURL[Index]URL for a TSP server.
EmptySignatureFieldWidth[Index]The Width of the empty signature form field.
EncryptionHandlerNameSpecifies the custom security handler PDF-name.
ForceCompleteChainValidationWhether to check issuer (CA) certificates when the signing certificate is invalid.
ForceCompleteChainValidationForTrustedWhether to continue with the full validation up to the root CA certificate for mid-level trust anchors.
GracePeriodSpecifies a grace period to apply during revocation information checks.
HardenedKeyGenerationSpecifies if hardened Key generation should be used.
IgnoreOCSPNoCheckExtensionWhether OCSP NoCheck extension should be ignored.
IgnoreSystemTrustWhether trusted Windows Certificate Stores should be treated as trusted.
ImplicitlyTrustSelfSignedCertificatesWhether to trust self-signed certificates.
PageInfoCountThe number of pages.
PageInfoCropBoxEmpty[Index]Check if the page's crop box is empty or not.
PageInfoCropLLX[Index]Defines the X coordinate of the lower left corner of the crop box.
PageInfoCropLLY[Index]Defines the Y coordinate of the lower left corner of the crop box.
PageInfoCropURX[Index]Defines the X coordinate of the upper right corner of the crop box.
PageInfoCropURY[Index]Defines the Y coordinate of the upper right corner of the crop box.
PageInfoHeight[Index]The Height of the page.
PageInfoMediaLLX[Index]Defines the X coordinate of the lower left corner of the media box.
PageInfoMediaLLY[Index]Defines the Y coordinate of the lower left corner of the media box.
PageInfoMediaURX[Index]Defines the X coordinate of the upper right corner of the media box.
PageInfoMediaURY[Index]Defines the Y coordinate of the upper right corner of the media box.
PageInfoRotate[Index]The Rotate value of the page.
PageInfoUserUnit[Index]Defines the size of default user space units.
PageInfoWidth[Index]The Width of the page.
PromoteLongOCSPResponsesWhether long OCSP responses are requested.
PSSUsedWhether RSASSA-PSS mode was used.
QualifiedStatusIndicates a qualified electronic signature.
RC4KeyBitsSpecifies the number of key bits used for RC4 algorithm.
TolerateMinorChainIssuesWhether to tolerate minor chain issues.
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.
UseDefaultTSLsEnables or disables the use of the default TSLs.
UseMicrosoftCTLEnables or disables automatic use of Microsoft online certificate trust list.
UseSystemCertificatesEnables or disables the use of the system certificates.
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]