PDFVerifier Component
Properties Methods Events Configuration Settings Errors
The PDFVerifier component verifies signatures over PDF documents.
Syntax
nsoftware.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 InputFile property (alternatively, you can provide it in a memory buffer via InputBytes property), and call Verify method. For every signature located in the document, PDFVerifier will fire the SignatureFound 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 SignatureFound returns, PDFVerifier proceeds to the signature validation routine in accordance with the provided settings. Upon completion of the validation, SignatureValidated event is fired, and the validation results are separately provided via SignatureValidationResult and ChainValidationResult 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 CoverageEndsAt 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 GetSignedVersion 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:
- OfflineMode 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.
- RevocationCheck lets you adjust the revocation checking preferences.
- ValidatedSigningTime returns the signing time as recorded in the embedded signature timestamp. This is in contrast to ClaimedSigningTime, which returns the signing time as specified by the signer.
- ValidationLog 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), DecryptionInfoNeeded 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 KnownCertificates, TrustedCertificates, KnownCRLs, and other similar properties.
Property List
The following is the full list of the properties of the component with short descriptions. Click on the links for further details.
AllSignaturesValid | The cumulative validity of all signatures. |
BlockedCertificates | The certificates that must be rejected as trust anchors. |
Certificates | A collection of certificates included in the electronic signature. |
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. |
ClaimedSigningTime | Returns a signature's claimed signing time. |
CRLs | A collection of certificate revocation lists embedded into the signature by the signer. |
CurrentCACertificate | The CA of the currently processed certificate. |
CurrentCertificate | The certificate that is currently being processed. |
DecryptionCertificate | A decryption certificate. |
DecryptionCertificates | A collection of decryption certificates. |
Encrypted | Indicates if the PDF document is encrypted. |
EncryptionAlgorithm | The symmetric algorithm used to encrypt the document. |
EncryptionType | The document encryption type. |
FIPSMode | Reserved. |
IgnoreChainValidationErrors | Makes the component tolerant to chain validation errors. |
InputBytes | Use this property to pass the input to component in the byte array form. |
InputFile | A path to the signed PDF file. |
InputStream | A stream containing the PDF document to be verified. |
InterimValidationDetails | Contains the validation details of the moment. |
InterimValidationResult | Contains the validation status of the moment. |
KnownCertificates | Additional certificates for chain validation. |
KnownCRLs | Additional CRLs for chain validation. |
KnownOCSPs | Additional OCSP responses for chain validation. |
MetadataEncrypted | Indicates if the document metadata is encrypted. |
OCSPs | A collection of OCSP responses embedded into the signature. |
OfflineMode | Switches the component to the offline mode. |
Password | The decryption password. |
Permissions | Contains the document permissions associated with the encryption. |
Profile | Specifies a pre-defined profile to apply when creating the signature. |
Proxy | The proxy server settings. |
Qualified | Indicates a qualified electronic signature. |
RevocationCheck | Specifies the kind(s) of revocation check to perform. |
Signature | Contains the details of the signature that is currently being validated. |
Signatures | Provides details of all signatures found in the PDF document. |
SignatureValidationResult | The signature validation result. |
SigningCertificate | The certificate of the signature creator. |
SocketSettings | Manages network connection settings. |
Timestamp | Contains the timestamp which is being validated. |
Timestamped | Indicates whether or not the signature is timestamped. |
TLSClientChain | The TLS client certificate chain. |
TLSServerChain | The TLS server's certificate chain. |
TLSSettings | Manages TLS layer settings. |
TrustedCertificates | A list of trusted certificates for chain validation. |
TSACertificate | The certificate of the Time Stamping Authority. |
ValidatedSigningTime | Contains the certified signing time. |
ValidationLog | Contains the complete log of the certificate validation routine. |
ValidationMoment | The time point at which signature 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. |
DoAction | Performs an additional action. |
GetSignedVersion | Returns the part of the document that is covered by the signature. |
Verify | Verifies a signed PDF document. |
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.
ChainElementDownload | TBD |
ChainElementNeeded | TBD |
ChainValidated | Reports the completion of a certificate chain validation. |
DecryptionInfoNeeded | Requests decryption information during decryption, signing, or validation. |
Error | Information about errors during signing/validation. |
Notification | This event notifies the application about an underlying control flow event. |
RecipientFound | Provides recipient certificate details to the application. |
SignatureFound | Signifies the start of signature validation. |
SignatureValidated | Marks the completion of the signature validation routine. |
TimestampFound | Signifies the start of a timestamp validation routine. |
TimestampValidated | Reports the completion of the timestamp validation routine. |
TLSCertValidate | This event is fired upon receipt of the TLS server's certificate, allowing the user to control its acceptance. |
ValidationProgress | TBD |
Configuration Settings
The following is a list of configuration settings for the component with short descriptions. Click on the links for further details.
CustomTSLs | Specifies the custom TSLs. |
EmptySignatureFieldAddRevInfo[Index] | Specifies if revocation checking should be performed. |
EmptySignatureFieldAlternateName[Index] | Contains an alternate field name. |
EmptySignatureFieldCount | The 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. |
EncryptionHandlerName | Specifies the custom security handler PDF-name. |
ForceCompleteChainValidation | Whether to check issuer (CA) certificates when the signing certificate is invalid. |
ForceCompleteChainValidationForTrusted | Whether to continue with the full validation up to the root CA certificate for mid-level trust anchors. |
GracePeriod | Specifies a grace period to apply during revocation information checks. |
HardenedKeyGeneration | Specifies if hardened Key generation should be used. |
IgnoreOCSPNoCheckExtension | Whether OCSP NoCheck extension should be ignored. |
IgnoreSystemTrust | Whether trusted Windows Certificate Stores should be treated as trusted. |
ImplicitlyTrustSelfSignedCertificates | Whether to trust self-signed certificates. |
PageInfoCount | The 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. |
PromoteLongOCSPResponses | Whether long OCSP responses are requested. |
PSSUsed | Whether RSASSA-PSS mode was used. |
QualifiedStatus | Indicates a qualified electronic signature. |
RC4KeyBits | Specifies the number of key bits used for RC4 algorithm. |
TolerateMinorChainIssues | Whether to tolerate minor chain issues. |
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. |
UseDefaultTSLs | Enables or disables the use of the default TSLs. |
UseMicrosoftCTL | Enables or disables automatic use of Microsoft online certificate trust list. |
UseSystemCertificates | Enables or disables the use of the system certificates. |
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. |
Tag | Allows to store any custom data. |
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. |
AllSignaturesValid Property (PDFVerifier Component)
The cumulative validity of all signatures.
Syntax
Default Value
False
Remarks
Use this property to check if all the signatures found in the message or document are valid.
This property is read-only and not available at design time.
BlockedCertificates Property (PDFVerifier Component)
The certificates that must be rejected as trust anchors.
Syntax
public CertificateList BlockedCertificates { get; }
Public Property BlockedCertificates As CertificateList
Remarks
Use this property to provide a list of compromised or blocked certificates. Any chain containing a blocked certificate will fail validation.
This property is not available at design time.
Certificates Property (PDFVerifier Component)
A collection of certificates included in the electronic signature.
Syntax
public CertificateList Certificates { get; }
Public ReadOnly Property Certificates As CertificateList
Remarks
Use this property to access all certificates included into the signature(s) by its creator.
This property is read-only and not available at design time.
ChainValidationDetails Property (PDFVerifier Component)
The details of a certificate chain validation outcome.
Syntax
public int ChainValidationDetails { get; }
Public ReadOnly Property ChainValidationDetails As Integer
Default Value
0
Remarks
Use the value(s) returned by this property to identify the reasons that contributed to the overall validation result.
Returns a bit mask of the following options:
cvrBadData | 0x0001 | One or more certificates in the validation path are malformed |
cvrRevoked | 0x0002 | One or more certificates are revoked |
cvrNotYetValid | 0x0004 | One or more certificates are not yet valid |
cvrExpired | 0x0008 | One or more certificates are expired |
cvrInvalidSignature | 0x0010 | A certificate contains a non-valid digital signature |
cvrUnknownCA | 0x0020 | A CA certificate for one or more certificates has not been found (chain incomplete) |
cvrCAUnauthorized | 0x0040 | One of the CA certificates are not authorized to act as CA |
cvrCRLNotVerified | 0x0080 | One or more CRLs could not be verified |
cvrOCSPNotVerified | 0x0100 | One or more OCSP responses could not be verified |
cvrIdentityMismatch | 0x0200 | The identity protected by the certificate (a TLS endpoint or an e-mail addressee) does not match what is recorded in the certificate |
cvrNoKeyUsage | 0x0400 | A mandatory key usage is not enabled in one of the chain certificates |
cvrBlocked | 0x0800 | One or more certificates are blocked |
cvrFailure | 0x1000 | General validation failure |
cvrChainLoop | 0x2000 | Chain loop: one of the CA certificates recursively signs itself |
cvrWeakAlgorithm | 0x4000 | A weak algorithm is used in one of certificates or revocation elements |
cvrUserEnforced | 0x8000 | The chain was considered invalid following intervention from a user code |
This property is read-only and not available at design time.
ChainValidationResult Property (PDFVerifier Component)
The general outcome of a certificate chain validation routine. Use ChainValidationDetails to get information about the reasons that contributed to the validation result.
Syntax
public PdfverifierChainValidationResults ChainValidationResult { get; }
enum PdfverifierChainValidationResults { cvtValid, cvtValidButUntrusted, cvtInvalid, cvtCantBeEstablished }
Public ReadOnly Property ChainValidationResult As PdfverifierChainValidationResults
Enum PdfverifierChainValidationResults cvtValid cvtValidButUntrusted cvtInvalid cvtCantBeEstablished End Enum
Default Value
0
Remarks
Available options:
cvtValid | 0 | The chain is valid |
cvtValidButUntrusted | 1 | The chain is valid, but the root certificate is not trusted |
cvtInvalid | 2 | The chain is not valid (some of certificates are revoked, expired, or contain an invalid signature) |
cvtCantBeEstablished | 3 | The validity of the chain cannot be established because of missing or unavailable validation information (certificates, CRLs, or OCSP responses) |
Use the ValidationLog property to access the detailed validation log.
This property is read-only and not available at design time.
ClaimedSigningTime Property (PDFVerifier Component)
Returns a signature's claimed signing time.
Syntax
Default Value
""
Remarks
Use this property to get the signature creation time from the signer's computer. Note that the claimed time is not covered by the signature and may be forfeited or wrong. Use ValidatedSigningTime to obtain the signing time figure verified by a trusted timestamping authority. The time is in UTC.
This property is read-only and not available at design time.
CRLs Property (PDFVerifier Component)
A collection of certificate revocation lists embedded into the signature by the signer.
Syntax
Remarks
Use this property to access the CRLs embedded into the signature by the signer.
This property is read-only and not available at design time.
CurrentCACertificate Property (PDFVerifier Component)
The CA of the currently processed certificate.
Syntax
public Certificate CurrentCACertificate { get; }
Public ReadOnly Property CurrentCACertificate As Certificate
Remarks
The validator component uses this property to publish the issuer certificate of the certificate that is currently being processed, if it is available.
This property is read-only and not available at design time.
CurrentCertificate Property (PDFVerifier Component)
The certificate that is currently being processed.
Syntax
public Certificate CurrentCertificate { get; }
Public ReadOnly Property CurrentCertificate As Certificate
Remarks
This property returns the certificate that is currently being processed by the validator.
This property is read-only and not available at design time.
DecryptionCertificate Property (PDFVerifier Component)
A decryption certificate.
Syntax
public Certificate DecryptionCertificate { get; set; }
Public Property DecryptionCertificate As Certificate
Remarks
Use this property to provide the decryption certificate. The certificate should have a private key associated with it.
This property is not available at design time.
DecryptionCertificates Property (PDFVerifier Component)
A collection of decryption certificates.
Syntax
public CertificateList DecryptionCertificates { get; }
Public Property DecryptionCertificates As CertificateList
Remarks
Use this property to provide a collection of decryption certificates. All certificates should contain their respective private keys.
When processing an encrypted document, the component will walk through the certificate list to locate the matching decryption certificate. If no such certificate is found, it will fire DecryptionInfoNeeded event to request it.
This property is not available at design time.
Encrypted Property (PDFVerifier Component)
Indicates if the PDF document is encrypted.
Syntax
Default Value
False
Remarks
Use this property to check if the PDF document is encrypted.
This property is read-only and not available at design time.
EncryptionAlgorithm Property (PDFVerifier Component)
The symmetric algorithm used to encrypt the document.
Syntax
Default Value
""
Remarks
This property contains the encryption algorithm that was used to encrypt the PDF document.
Supported values:
SB_SYMMETRIC_ALGORITHM_RC4 | RC4 | |
SB_SYMMETRIC_ALGORITHM_AES128 | AES128 | |
SB_SYMMETRIC_ALGORITHM_AES256 | AES256 |
This property is read-only and not available at design time.
EncryptionType Property (PDFVerifier Component)
The document encryption type.
Syntax
public PdfverifierEncryptionTypes EncryptionType { get; }
enum PdfverifierEncryptionTypes { petNone, petPassword, petCertificate }
Public ReadOnly Property EncryptionType As PdfverifierEncryptionTypes
Enum PdfverifierEncryptionTypes petNone petPassword petCertificate End Enum
Default Value
1
Remarks
This property indicates the kind of encryption that was used to encrypt the PDF document.
Supported values:
petPassword | 1 | The document is encrypted with a password. |
petCertificate | 2 | The document is encrypted with a certificate. |
This property is read-only and not available at design time.
FIPSMode Property (PDFVerifier Component)
Reserved.
Syntax
Default Value
False
Remarks
This property is reserved for future use.
IgnoreChainValidationErrors Property (PDFVerifier Component)
Makes the component tolerant to chain validation errors.
Syntax
public bool IgnoreChainValidationErrors { get; set; }
Public Property IgnoreChainValidationErrors As Boolean
Default Value
False
Remarks
If this property is set to True, any errors emerging during certificate chain validation will be ignored. This setting may be handy if the purpose of validation is the creation of an LTV signature, and the validation is performed in an environment that doesn't trust the signer's certificate chain.
InputBytes Property (PDFVerifier Component)
Use this property to pass the input to component in the byte array form.
Syntax
Remarks
Assign a byte array containing the data to be processed to this property.
This property is not available at design time.
InputFile Property (PDFVerifier Component)
A path to the signed PDF file.
Syntax
Default Value
""
Remarks
Assign the path to the PDF file to be verified to this property.
InputStream Property (PDFVerifier Component)
A stream containing the PDF document to be verified.
Syntax
public System.IO.Stream InputStream { get; set; }
Public Property InputStream As System.IO.Stream
Default Value
null
Remarks
Use this property to pass the stream containing the signed document to the component.
This property is not available at design time.
InterimValidationDetails Property (PDFVerifier Component)
Contains the validation details of the moment.
Syntax
public int InterimValidationDetails { get; set; }
Public Property InterimValidationDetails As Integer
Default Value
0
Remarks
Over the course of the validation process, the validator maintains an interim validity status for the chain that is being processed. This status is influenced by every single step of the validation routine, and may change along the way, before the end of the chain is reached and the final validation conclusion is drawn.
Use this property to check the interim validity details mid-flight.
The value of this property is a bit mask of the following options:
cvrBadData | 0x0001 | One or more certificates in the validation path are malformed |
cvrRevoked | 0x0002 | One or more certificates are revoked |
cvrNotYetValid | 0x0004 | One or more certificates are not yet valid |
cvrExpired | 0x0008 | One or more certificates are expired |
cvrInvalidSignature | 0x0010 | A certificate contains a non-valid digital signature |
cvrUnknownCA | 0x0020 | A CA certificate for one or more certificates has not been found (chain incomplete) |
cvrCAUnauthorized | 0x0040 | One of the CA certificates are not authorized to act as CA |
cvrCRLNotVerified | 0x0080 | One or more CRLs could not be verified |
cvrOCSPNotVerified | 0x0100 | One or more OCSP responses could not be verified |
cvrIdentityMismatch | 0x0200 | The identity protected by the certificate (a TLS endpoint or an e-mail addressee) does not match what is recorded in the certificate |
cvrNoKeyUsage | 0x0400 | A mandatory key usage is not enabled in one of the chain certificates |
cvrBlocked | 0x0800 | One or more certificates are blocked |
cvrFailure | 0x1000 | General validation failure |
cvrChainLoop | 0x2000 | Chain loop: one of the CA certificates recursively signs itself |
cvrWeakAlgorithm | 0x4000 | A weak algorithm is used in one of certificates or revocation elements |
cvrUserEnforced | 0x8000 | The chain was considered invalid following intervention from a user code |
This property is not available at design time.
InterimValidationResult Property (PDFVerifier Component)
Contains the validation status of the moment.
Syntax
public PdfverifierInterimValidationResults InterimValidationResult { get; set; }
enum PdfverifierInterimValidationResults { cvtValid, cvtValidButUntrusted, cvtInvalid, cvtCantBeEstablished }
Public Property InterimValidationResult As PdfverifierInterimValidationResults
Enum PdfverifierInterimValidationResults cvtValid cvtValidButUntrusted cvtInvalid cvtCantBeEstablished End Enum
Default Value
0
Remarks
Over the course of the validation process, the validator maintains an interim validity status for the chain that is being processed. This status is influenced by every single step of the validation routine, and may change along the way, before the end of the chain is reached and the final validation conclusion is drawn.
Use this property to check the interim validity status mid-flight.
cvtValid | 0 | The chain is valid |
cvtValidButUntrusted | 1 | The chain is valid, but the root certificate is not trusted |
cvtInvalid | 2 | The chain is not valid (some of certificates are revoked, expired, or contain an invalid signature) |
cvtCantBeEstablished | 3 | The validity of the chain cannot be established because of missing or unavailable validation information (certificates, CRLs, or OCSP responses) |
This property is not available at design time.
KnownCertificates Property (PDFVerifier Component)
Additional certificates for chain validation.
Syntax
public CertificateList KnownCertificates { get; }
Public Property KnownCertificates As CertificateList
Remarks
Use this property to supply a list of additional certificates that might be needed for chain validation. An example of a scenario where you might want to do that is when intermediary CA certificates are absent from the standard system locations (or when there are no standard system locations), and therefore should be supplied to the component manually.
The purpose of certificates to be added to this collection is roughly equivalent to that of Intermediate Certification Authorities system store in Windows.
Do not add trust anchors or root certificates to this collection: add them to TrustedCertificates instead.
This property is not available at design time.
KnownCRLs Property (PDFVerifier Component)
Additional CRLs for chain validation.
Syntax
Remarks
Use this property to supply additional CRLs that might be needed for chain validation. This property may be helpful when a chain is validated in offline mode, and the associated CRLs are stored separately from the signed message or document.
This property is not available at design time.
KnownOCSPs Property (PDFVerifier Component)
Additional OCSP responses for chain validation.
Syntax
public OCSPResponseList KnownOCSPs { get; }
Public Property KnownOCSPs As OCSPResponseList
Remarks
Use this property to supply additional OCSP responses that might be needed for chain validation. This property may be helpful when a chain is validated in offline mode, and the associated OCSP responses are stored separately from the signed message or document.
This property is not available at design time.
MetadataEncrypted Property (PDFVerifier Component)
Indicates if the document metadata is encrypted.
Syntax
Default Value
True
Remarks
Use this property to check if document metadata is encrypted.
Metadata contains additional information about document such as its name and author.
This property is read-only and not available at design time.
OCSPs Property (PDFVerifier Component)
A collection of OCSP responses embedded into the signature.
Syntax
public OCSPResponseList OCSPs { get; }
Public ReadOnly Property OCSPs As OCSPResponseList
Remarks
Use this property to access the OCSP responses embedded into the signature by its creator.
This property is read-only and not available at design time.
OfflineMode Property (PDFVerifier Component)
Switches the component to the offline mode.
Syntax
Default Value
False
Remarks
When working in offline mode, the component restricts itself from using any online revocation information sources, such as CRL or OCSP responders.
Offline mode may be useful if there is a need to verify the completeness of validation information included within the signature or provided via KnownCertificates, KnownCRLs, and other related properties.
Password Property (PDFVerifier Component)
The decryption password.
Syntax
Default Value
""
Remarks
Use this property to provide the decryption password.
Permissions Property (PDFVerifier Component)
Contains the document permissions associated with the encryption.
Syntax
public PDFPermissions Permissions { get; }
Public ReadOnly Property Permissions As PDFPermissions
Remarks
Use this property to check permissions protected by this encryption. PDF specification expects applications to comply with these permissions when handling encrypted documents.
This property is read-only and not available at design time.
Profile Property (PDFVerifier Component)
Specifies a pre-defined profile to apply when creating the signature.
Syntax
Default Value
""
Remarks
Advanced signatures come in many variants, which are often defined by parties that needs to process them or by local standards. SecureBlackbox profiles are sets of pre-defined configurations which correspond to particular signature variants. By specifying a profile, you are pre-configuring the component to make it produce the signature that matches the configuration corresponding to that profile.
Proxy Property (PDFVerifier Component)
The proxy server settings.
Syntax
public ProxySettings Proxy { get; }
Public ReadOnly Property Proxy As ProxySettings
Remarks
Use this property to tune up the proxy server settings.
This property is read-only.
Qualified Property (PDFVerifier Component)
Indicates a qualified electronic signature.
Syntax
public PdfverifierQualifieds Qualified { get; }
enum PdfverifierQualifieds { sqsUnknown, sqsNone, sqsGranted, sqsWithdrawn, sqsSetByNationalLaw, sqsDeprecatedByNationalLaw, sqsRecognizedAtNationalLevel, sqsDeprecatedAtNationalLevel, sqsUnderSupervision, sqsSupervisionInCessation, sqsSupervisionCeased, sqsSupervisionRevoked, sqsAccredited, sqsAccreditationCeased, sqsAccreditationRevoked, sqsInAccordance, sqsExpired, sqsSuspended, sqsRevoked, sqsNotInAccordance }
Public ReadOnly Property Qualified As PdfverifierQualifieds
Enum PdfverifierQualifieds sqsUnknown sqsNone sqsGranted sqsWithdrawn sqsSetByNationalLaw sqsDeprecatedByNationalLaw sqsRecognizedAtNationalLevel sqsDeprecatedAtNationalLevel sqsUnderSupervision sqsSupervisionInCessation sqsSupervisionCeased sqsSupervisionRevoked sqsAccredited sqsAccreditationCeased sqsAccreditationRevoked sqsInAccordance sqsExpired sqsSuspended sqsRevoked sqsNotInAccordance End Enum
Default Value
0
Remarks
Use this property to check if an electronic signature is created using a qualified device for creating electronic signatures and that relies on a qualified electronic signature certificate.
Adjust UseDefaultTSLs property and/or CustomTSLs property before validating the signature/certificate to properly obtain TSP (Trust Service Provider) service status. Use Qualified* and TSL* config properties to obtain extended information.
The following qualified statuses are supported:
sqsUnknown | 0 | Qualified status unknown. Use config's QualifiedInfo setting to obtain service status URI. |
sqsNone | 1 | None |
sqsGranted | 2 | Granted |
sqsWithdrawn | 3 | Withdrawn |
sqsSetByNationalLaw | 4 | Set by national law |
sqsDeprecatedByNationalLaw | 5 | Deprecated by national law |
sqsRecognizedAtNationalLevel | 6 | Recognized at national level |
sqsDeprecatedAtNationalLevel | 7 | Deprecated at national level |
sqsUnderSupervision | 8 | Under supervision |
sqsSupervisionInCessation | 9 | Supervision in cessation |
sqsSupervisionCeased | 10 | Supervision ceased |
sqsSupervisionRevoked | 11 | Supervision revoked |
sqsAccredited | 12 | Accredited |
sqsAccreditationCeased | 13 | Accreditation ceased |
sqsAccreditationRevoked | 14 | Accreditation revoked |
sqsInAccordance | 15 | Deprecated. The subject service is in accordance with the scheme's specific status determination criteria (only for use in positive approval schemes). |
sqsExpired | 16 | Deprecated. The subject service is no longer overseen by the scheme, e.g. due to nonrenewal or withdrawal by the TSP, or cessation of the service or the scheme's operations. |
sqsSuspended | 17 | Deprecated. The subject service's status is temporarily uncertain whilst checks are made by the scheme operator (typically e.g. while a revocation request is being investigated or if action is required to resolve a deficiency in the service fulfilling the scheme's criteria. |
sqsRevoked | 18 | Deprecated. The subject service's approved status has been revoked because it is no longer in accordance with the scheme's specific status determination criteria (only for use in positive approval schemes). |
sqsNotInAccordance | 19 | Deprecated. The subject service is not in accordance with the scheme's specific status determination criteria (only for use in negative approval schemes). |
This property is read-only and not available at design time.
RevocationCheck Property (PDFVerifier Component)
Specifies the kind(s) of revocation check to perform.
Syntax
public PdfverifierRevocationChecks RevocationCheck { get; set; }
enum PdfverifierRevocationChecks { crcNone, crcAuto, crcAllCRL, crcAllOCSP, crcAllCRLAndOCSP, crcAnyCRL, crcAnyOCSP, crcAnyCRLOrOCSP, crcAnyOCSPOrCRL }
Public Property RevocationCheck As PdfverifierRevocationChecks
Enum PdfverifierRevocationChecks crcNone crcAuto crcAllCRL crcAllOCSP crcAllCRLAndOCSP crcAnyCRL crcAnyOCSP crcAnyCRLOrOCSP crcAnyOCSPOrCRL End Enum
Default Value
1
Remarks
Revocation checking is necessary to ensure the integrity of the chain and obtain up-to-date certificate validity and trustworthiness information.
Certificate Revocation Lists (CRL) and Online Certificate Status Protocol (OCSP) responses serve the same purpose of ensuring that the certificate had not been revoked by the Certificate Authority (CA) at the time of use. Depending on your circumstances and security policy requirements, you may want to use either one or both of the revocation information source types.
crcNone (0) | No revocation checking |
crcAuto (1) | Automatic mode selection. Currently this maps to crcAnyOCSPOrCRL, but it may change in the future. |
crcAllCRL (2) | Check all provided CRL endpoints for all chain certificates. |
crcAllOCSP (3) | Check all provided OCSP endpoints for all chain certificates. |
crcAllCRLAndOCSP (4) | Check all CRL and OCSP endpoints for all chain certificates. |
crcAnyCRL (5) | At least one CRL check for every certificate in the chain must succeed. |
crcAnyOCSP (6) | At least one OCSP check for every certificate in the chain must succeed. |
crcAnyCRLOrOCSP (7) | At least one CRL or OCSP check for every certificate in the chain must succeed. CRL endpoints are checked first. |
crcAnyOCSPOrCRL (8) | At least one CRL or OCSP check for every certificate in the chain must succeed. OCSP endpoints are checked first. |
This setting controls the way the revocation checks are performed. Typically certificates come with two types of revocation information sources: CRL (certificate revocation lists) and OCSP responders. CRLs are static objects periodically published by the CA at some online location. OCSP responders are active online services maintained by the CA that can provide up-to-date information on certificate statuses in near real time.
There are some conceptual differences between the two. CRLs are normally larger in size. Their use involves some latency because there is normally some delay between the time when a certificate was revoked and the time the subsequent CRL mentioning that is published. The benefits of CRL is that the same object can provide statuses for all certificates issued by a particular CA, and that the whole technology is much simpler than OCSP (and thus is supported by more CAs).
This setting lets you adjust the validation course by including or excluding certain types of revocation sources from the validation process. The crcAnyOCSPOrCRL setting (give preference to faster OCSP route and only demand one source to succeed) is a good choice for most of typical validation environments. The "crcAll*" modes are much stricter, and may be used in scenarios where bulletproof validity information is essential.
Signature Property (PDFVerifier Component)
Contains the details of the signature that is currently being validated.
Syntax
public PDFSignature Signature { get; }
Public ReadOnly Property Signature As PDFSignature
Remarks
Use this property to access the details of the signature that is currently being validated. The details are updated every time the SignatureFound event is fired.
This property is read-only and not available at design time.
Signatures Property (PDFVerifier Component)
Provides details of all signatures found in the PDF document.
Syntax
public PDFSignatureList Signatures { get; }
Public ReadOnly Property Signatures As PDFSignatureList
Remarks
Upon completion of the validation process conducted by Verify method, all the signature details are populated in this property.
This property is read-only and not available at design time.
SignatureValidationResult Property (PDFVerifier Component)
The signature validation result.
Syntax
public PdfverifierSignatureValidationResults SignatureValidationResult { get; }
enum PdfverifierSignatureValidationResults { svtValid, svtUnknown, svtCorrupted, svtSignerNotFound, svtFailure }
Public ReadOnly Property SignatureValidationResult As PdfverifierSignatureValidationResults
Enum PdfverifierSignatureValidationResults svtValid svtUnknown svtCorrupted svtSignerNotFound svtFailure End Enum
Default Value
0
Remarks
Use this property to check the result of the most recent signature validation.
svtValid | 0 | The signature is valid |
svtUnknown | 1 | Signature validity is unknown |
svtCorrupted | 2 | The signature is corrupted |
svtSignerNotFound | 3 | Failed to acquire the signing certificate. The signature cannot be validated. |
svtFailure | 4 | General failure |
This property is read-only and not available at design time.
SigningCertificate Property (PDFVerifier Component)
The certificate of the signature creator.
Syntax
public Certificate SigningCertificate { get; }
Public ReadOnly Property SigningCertificate As Certificate
Remarks
Use this property to access the certificate that was used to create the signature.
This property is read-only and not available at design time.
SocketSettings Property (PDFVerifier Component)
Manages network connection settings.
Syntax
public SocketSettings SocketSettings { get; }
Public ReadOnly Property SocketSettings As SocketSettings
Remarks
Use this property to tune up network connection parameters.
This property is read-only.
Timestamp Property (PDFVerifier Component)
Contains the timestamp which is being validated.
Syntax
public TimestampInfo Timestamp { get; }
Public ReadOnly Property Timestamp As TimestampInfo
Remarks
Use this property to access the timestamp which is currently being validated.
This property is read-only and not available at design time.
Timestamped Property (PDFVerifier Component)
Indicates whether or not the signature is timestamped.
Syntax
Default Value
False
Remarks
This property returns True if the signature is timestamped, and False otherwise.
This property is read-only and not available at design time.
TLSClientChain Property (PDFVerifier Component)
The TLS client certificate chain.
Syntax
public CertificateList TLSClientChain { get; }
Public Property TLSClientChain As CertificateList
Remarks
Assign a certificate chain to this property to enable TLS client authentication in the component. Note that the client's end-entity certificate should have a private key associated with it.
This property is not available at design time.
TLSServerChain Property (PDFVerifier Component)
The TLS server's certificate chain.
Syntax
public CertificateList TLSServerChain { get; }
Public ReadOnly Property TLSServerChain As CertificateList
Remarks
Use this property to access the certificate chain sent by the TLS server.
This property is read-only and not available at design time.
TLSSettings Property (PDFVerifier Component)
Manages TLS layer settings.
Syntax
public TLSSettings TLSSettings { get; }
Public ReadOnly Property TLSSettings As TLSSettings
Remarks
Use this property to tune up the TLS layer parameters.
This property is read-only.
TrustedCertificates Property (PDFVerifier Component)
A list of trusted certificates for chain validation.
Syntax
public CertificateList TrustedCertificates { get; }
Public Property TrustedCertificates As CertificateList
Remarks
Use this property to supply a list of trusted certificates that might be needed for chain validation. An example of a scenario where you might want to do that is when root CA certificates are absent from the standard system locations (or when there are no standard system locations), and therefore should be supplied to the component manually.
The purpose of this certificate collection is largely the same than that of Windows Trusted Root Certification Authorities system store.
Use this property with extreme care as it directly affects chain verifiability; a wrong certificate added to the trusted list may result in bad chains being accepted, and forfeited signatures being recognized as genuine. Only add certificates that originate from the parties that you know and trust.
This property is not available at design time.
TSACertificate Property (PDFVerifier Component)
The certificate of the Time Stamping Authority.
Syntax
public Certificate TSACertificate { get; }
Public ReadOnly Property TSACertificate As Certificate
Remarks
Use this property to access the certificate of the TSA that produced the timestamp.
Note that in some instances the TSA certificate might be unavailable, even for timestamped documents and signatures.
This property is read-only and not available at design time.
ValidatedSigningTime Property (PDFVerifier Component)
Contains the certified signing time.
Syntax
Default Value
""
Remarks
Use this property to obtain the signing time as certified by an external timestamp. The time is in UTC.
This property is read-only and not available at design time.
ValidationLog Property (PDFVerifier Component)
Contains the complete log of the certificate validation routine.
Syntax
Default Value
""
Remarks
Use this property to access the chain validation log produced by the component. The log can be very useful when investigating issues with chain validation, as it contains a step-by-step trace of the entire validation procedure.
This property is read-only and not available at design time.
ValidationMoment Property (PDFVerifier Component)
The time point at which signature validity is to be established.
Syntax
Default Value
""
Remarks
Use this property to specify the moment in time at which signature validity should be established. The time is in UTC. Leave the setting empty to stick to the default moment (either signature creation time, or current time).
The validity of the same signature may differ depending on the time point chosen due to temporal changes in chain validities, revocation statuses, and timestamp times.
Config Method (PDFVerifier Component)
Sets or retrieves a configuration setting.
Syntax
Remarks
Config is a generic method available in every component. It is used to set and retrieve configuration settings for the component.
These settings are similar in functionality to properties, but they are rarely used. In order to avoid "polluting" the property namespace of the component, access to these internal properties is provided through the Config method.
To set a configuration setting named PROPERTY, you must call Config("PROPERTY=VALUE"), where VALUE is the value of the setting expressed as a string. For boolean values, use the strings "True", "False", "0", "1", "Yes", or "No" (case does not matter).
To read (query) the value of a configuration setting, you must call Config("PROPERTY"). The value will be returned as a string.
DoAction Method (PDFVerifier Component)
Performs an additional action.
Syntax
Remarks
DoAction is a generic method available in every component. It is used to perform an additional action introduced after the product major release. The list of actions is not fixed, and may be flexibly extended over time.
The unique identifier of the action is provided in ActionID parameter. ActionParams contains a list of parameters for the action in the form of PARAM1=VALUE1;PARAM2=VALUE2;....
GetSignedVersion Method (PDFVerifier Component)
Returns the part of the document that is covered by the signature.
Syntax
Remarks
Use this method to retrieve the revision of the document that is covered by the SigIndex signature.
PDF documents often use incremental updates approach, with any changes being appended to the document without altering the existing revision. This may lead to situations where a signature only covers a part of the document (one of the past revisions), but not the subsequent changes. GetSignedVersion method provides means to extract the revision that is actually certified by the signature.
It is recommended that you use this method when validating signatures to make sure the signature covers what you expect it to cover.
An alternative to this method is to check the CoverageEndsAt field of the signature object and match it to the document length.
Verify Method (PDFVerifier Component)
Verifies a signed PDF document.
Syntax
public void Verify();
Public Sub Verify()
Remarks
Use this method to validate all signatures in a PDF document.
This method walks through a signed document and reports every signature via a SignatureFound event. Subscribe to the event to be notified about the signatures and adjust validation settings on the fly.
Upon completion of this method the signature details will be published in Signatures property.
This method only validates the signatures, but does not check their coverage. It is a good idea to use mechanisms such as GetSignedVersion or CoverageEndsAt to ensure that the signature covers the expected document revision.
ChainElementDownload Event (PDFVerifier Component)
TBD
Syntax
public event OnChainElementDownloadHandler OnChainElementDownload; public delegate void OnChainElementDownloadHandler(object sender, PdfverifierChainElementDownloadEventArgs e); public class PdfverifierChainElementDownloadEventArgs : EventArgs { public string Cert { get; } public string CACert { get; } public string Location { get; } }
Public Event OnChainElementDownload As OnChainElementDownloadHandler Public Delegate Sub OnChainElementDownloadHandler(sender As Object, e As PdfverifierChainElementDownloadEventArgs) Public Class PdfverifierChainElementDownloadEventArgs Inherits EventArgs Public ReadOnly Property Cert As String Public ReadOnly Property CACert As String Public ReadOnly Property Location As String End Class
Remarks
TBD.
ChainElementNeeded Event (PDFVerifier Component)
TBD
Syntax
public event OnChainElementNeededHandler OnChainElementNeeded; public delegate void OnChainElementNeededHandler(object sender, PdfverifierChainElementNeededEventArgs e); public class PdfverifierChainElementNeededEventArgs : EventArgs { public string Cert { get; } public string CACert { get; } }
Public Event OnChainElementNeeded As OnChainElementNeededHandler Public Delegate Sub OnChainElementNeededHandler(sender As Object, e As PdfverifierChainElementNeededEventArgs) Public Class PdfverifierChainElementNeededEventArgs Inherits EventArgs Public ReadOnly Property Cert As String Public ReadOnly Property CACert As String End Class
Remarks
TBD.
ChainValidated Event (PDFVerifier Component)
Reports the completion of a certificate chain validation.
Syntax
public event OnChainValidatedHandler OnChainValidated; public delegate void OnChainValidatedHandler(object sender, PdfverifierChainValidatedEventArgs e); public class PdfverifierChainValidatedEventArgs : EventArgs { public string SubjectRDN { get; } public int ValidationResult { get; } public int ValidationDetails { get; } }
Public Event OnChainValidated As OnChainValidatedHandler Public Delegate Sub OnChainValidatedHandler(sender As Object, e As PdfverifierChainValidatedEventArgs) Public Class PdfverifierChainValidatedEventArgs Inherits EventArgs Public ReadOnly Property SubjectRDN As String Public ReadOnly Property ValidationResult As Integer Public ReadOnly Property ValidationDetails As Integer End Class
Remarks
This event is fired when a certificate chain validation routine completes. SubjectRDN identifies the owner of the validated certificate.
ValidationResult set to 0 (zero) indicates successful chain validation.
cvtValid | 0 | The chain is valid |
cvtValidButUntrusted | 1 | The chain is valid, but the root certificate is not trusted |
cvtInvalid | 2 | The chain is not valid (some of certificates are revoked, expired, or contain an invalid signature) |
cvtCantBeEstablished | 3 | The validity of the chain cannot be established because of missing or unavailable validation information (certificates, CRLs, or OCSP responses) |
cvrBadData | 0x0001 | One or more certificates in the validation path are malformed |
cvrRevoked | 0x0002 | One or more certificates are revoked |
cvrNotYetValid | 0x0004 | One or more certificates are not yet valid |
cvrExpired | 0x0008 | One or more certificates are expired |
cvrInvalidSignature | 0x0010 | A certificate contains a non-valid digital signature |
cvrUnknownCA | 0x0020 | A CA certificate for one or more certificates has not been found (chain incomplete) |
cvrCAUnauthorized | 0x0040 | One of the CA certificates are not authorized to act as CA |
cvrCRLNotVerified | 0x0080 | One or more CRLs could not be verified |
cvrOCSPNotVerified | 0x0100 | One or more OCSP responses could not be verified |
cvrIdentityMismatch | 0x0200 | The identity protected by the certificate (a TLS endpoint or an e-mail addressee) does not match what is recorded in the certificate |
cvrNoKeyUsage | 0x0400 | A mandatory key usage is not enabled in one of the chain certificates |
cvrBlocked | 0x0800 | One or more certificates are blocked |
cvrFailure | 0x1000 | General validation failure |
cvrChainLoop | 0x2000 | Chain loop: one of the CA certificates recursively signs itself |
cvrWeakAlgorithm | 0x4000 | A weak algorithm is used in one of certificates or revocation elements |
cvrUserEnforced | 0x8000 | The chain was considered invalid following intervention from a user code |
DecryptionInfoNeeded Event (PDFVerifier Component)
Requests decryption information during decryption, signing, or validation.
Syntax
public event OnDecryptionInfoNeededHandler OnDecryptionInfoNeeded; public delegate void OnDecryptionInfoNeededHandler(object sender, PdfverifierDecryptionInfoNeededEventArgs e); public class PdfverifierDecryptionInfoNeededEventArgs : EventArgs { public bool CancelDecryption { get; set; } }
Public Event OnDecryptionInfoNeeded As OnDecryptionInfoNeededHandler Public Delegate Sub OnDecryptionInfoNeededHandler(sender As Object, e As PdfverifierDecryptionInfoNeededEventArgs) Public Class PdfverifierDecryptionInfoNeededEventArgs Inherits EventArgs Public Property CancelDecryption As Boolean End Class
Remarks
This event is fired when the component needs decryption information to be provided by the user.
Use EncryptionType property to identify the document encryption type used, and then set Password or DecryptionCertificate (DecryptionCertificates) properties accordingly.
The component fires this event repeatedly until suitable decryption information is provided. To terminate the operation, set CancelDecryption to true.
Error Event (PDFVerifier Component)
Information about errors during signing/validation.
Syntax
public event OnErrorHandler OnError; public delegate void OnErrorHandler(object sender, PdfverifierErrorEventArgs e); public class PdfverifierErrorEventArgs : EventArgs { public int ErrorCode { get; } public string Description { get; } }
Public Event OnError As OnErrorHandler Public Delegate Sub OnErrorHandler(sender As Object, e As PdfverifierErrorEventArgs) Public Class PdfverifierErrorEventArgs Inherits EventArgs Public ReadOnly Property ErrorCode As Integer Public ReadOnly Property Description As String End Class
Remarks
The event is fired in case of exceptional conditions during PDF processing.
ErrorCode contains an error code and Description contains a textual description of the error.
Notification Event (PDFVerifier Component)
This event notifies the application about an underlying control flow event.
Syntax
public event OnNotificationHandler OnNotification; public delegate void OnNotificationHandler(object sender, PdfverifierNotificationEventArgs e); public class PdfverifierNotificationEventArgs : EventArgs { public string EventID { get; } public string EventParam { get; } }
Public Event OnNotification As OnNotificationHandler Public Delegate Sub OnNotificationHandler(sender As Object, e As PdfverifierNotificationEventArgs) Public Class PdfverifierNotificationEventArgs Inherits EventArgs Public ReadOnly Property EventID As String Public ReadOnly Property EventParam As String End Class
Remarks
The component fires this event to let the application know about some event, occurrence, or milestone in the component. For example, it may fire to report completion of the document processing. The list of events being reported is not fixed, and may be flexibly extended over time.
The unique identifier of the event is provided in EventID parameter. EventParam contains any parameters accompanying the occurrence. Depending on the type of the component, the exact action it is performing, or the document being processed, one or both may be omitted.
RecipientFound Event (PDFVerifier Component)
Provides recipient certificate details to the application.
Syntax
public event OnRecipientFoundHandler OnRecipientFound; public delegate void OnRecipientFoundHandler(object sender, PdfverifierRecipientFoundEventArgs e); public class PdfverifierRecipientFoundEventArgs : EventArgs { public string IssuerRDN { get; } public byte[] SerialNumber { get; } public byte[] SubjectKeyID { get; } public bool CertFound { get; } }
Public Event OnRecipientFound As OnRecipientFoundHandler Public Delegate Sub OnRecipientFoundHandler(sender As Object, e As PdfverifierRecipientFoundEventArgs) Public Class PdfverifierRecipientFoundEventArgs Inherits EventArgs Public ReadOnly Property IssuerRDN As String Public ReadOnly Property SerialNumber As Byte() Public ReadOnly Property SubjectKeyID As Byte() Public ReadOnly Property CertFound As Boolean End Class
Remarks
The component fires this event when processing encrypted documents to report encryption certificate details to the user.
Subscribe to this event to obtain encryption certificate information and pass the corresponding certificate to the component via DecryptionCertificate (DecryptionCertificates) property.
SignatureFound Event (PDFVerifier Component)
Signifies the start of signature validation.
Syntax
public event OnSignatureFoundHandler OnSignatureFound; public delegate void OnSignatureFoundHandler(object sender, PdfverifierSignatureFoundEventArgs e); public class PdfverifierSignatureFoundEventArgs : EventArgs { public string IssuerRDN { get; } public byte[] SerialNumber { get; } public byte[] SubjectKeyID { get; } public bool CertFound { get; } public bool ValidateSignature { get; set; } public bool ValidateChain { get; set; } }
Public Event OnSignatureFound As OnSignatureFoundHandler Public Delegate Sub OnSignatureFoundHandler(sender As Object, e As PdfverifierSignatureFoundEventArgs) Public Class PdfverifierSignatureFoundEventArgs Inherits EventArgs Public ReadOnly Property IssuerRDN As String Public ReadOnly Property SerialNumber As Byte() Public ReadOnly Property SubjectKeyID As Byte() Public ReadOnly Property CertFound As Boolean Public Property ValidateSignature As Boolean Public Property ValidateChain As Boolean End Class
Remarks
This event tells the application that signature validation is about to start, and provides the details about the signer's certificate via its IssuerRDN, SerialNumber, and SubjectKeyID parameters. It fires for every signature located in the verified document or message.
The CertFound is set to True if the component has found the needed certificate in one of the known locations, and to False otherwise, in which case you must provide it manually via KnownCertificates property.
Signature validation consists of two independent stages: cryptographic signature validation and chain validation. Separate validation results are reported for each, with SignatureValidationResult and ChainValidationResult properties respectively.
Use the ValidateSignature and ValidateChain parameters to tell the verifier which stages to include in the validation.
SignatureValidated Event (PDFVerifier Component)
Marks the completion of the signature validation routine.
Syntax
public event OnSignatureValidatedHandler OnSignatureValidated; public delegate void OnSignatureValidatedHandler(object sender, PdfverifierSignatureValidatedEventArgs e); public class PdfverifierSignatureValidatedEventArgs : EventArgs { public string IssuerRDN { get; } public byte[] SerialNumber { get; } public byte[] SubjectKeyID { get; } public int ValidationResult { get; } }
Public Event OnSignatureValidated As OnSignatureValidatedHandler Public Delegate Sub OnSignatureValidatedHandler(sender As Object, e As PdfverifierSignatureValidatedEventArgs) Public Class PdfverifierSignatureValidatedEventArgs Inherits EventArgs Public ReadOnly Property IssuerRDN As String Public ReadOnly Property SerialNumber As Byte() Public ReadOnly Property SubjectKeyID As Byte() Public ReadOnly Property ValidationResult As Integer End Class
Remarks
This event is fired upon the completion of the signature validation routine, and reports the respective validation result.
Use the IssuerRDN, SerialNumber, and/or SubjectKeyID parameters to identify the signing certificate.
ValidationResult is set to 0 if the validation has been successful, or to a non-zero value in case of a validation failure.
svtValid | 0 | The signature is valid |
svtUnknown | 1 | Signature validity is unknown |
svtCorrupted | 2 | The signature is corrupted |
svtSignerNotFound | 3 | Failed to acquire the signing certificate. The signature cannot be validated. |
svtFailure | 4 | General failure |
TimestampFound Event (PDFVerifier Component)
Signifies the start of a timestamp validation routine.
Syntax
public event OnTimestampFoundHandler OnTimestampFound; public delegate void OnTimestampFoundHandler(object sender, PdfverifierTimestampFoundEventArgs e); public class PdfverifierTimestampFoundEventArgs : EventArgs { public string IssuerRDN { get; } public byte[] SerialNumber { get; } public byte[] SubjectKeyID { get; } public bool CertFound { get; } public bool ValidateTimestamp { get; set; } public bool ValidateChain { get; set; } }
Public Event OnTimestampFound As OnTimestampFoundHandler Public Delegate Sub OnTimestampFoundHandler(sender As Object, e As PdfverifierTimestampFoundEventArgs) Public Class PdfverifierTimestampFoundEventArgs Inherits EventArgs Public ReadOnly Property IssuerRDN As String Public ReadOnly Property SerialNumber As Byte() Public ReadOnly Property SubjectKeyID As Byte() Public ReadOnly Property CertFound As Boolean Public Property ValidateTimestamp As Boolean Public Property ValidateChain As Boolean End Class
Remarks
This event fires for every timestamp identified during signature processing, and reports the details about the signer's certificate via its IssuerRDN, SerialNumber, and SubjectKeyID parameters.
The CertFound is set to True if the component has found the needed certificate in one of the known locations, and to False otherwise, in which case you must provide it manually via KnownCertificates property.
Just like with signature validation, timestamp validation consists of two independent stages: cryptographic signature validation and chain validation. Separate validation results are reported for each, with SignatureValidationResult and ChainValidationResult properties respectively.
Use the ValidateSignature and ValidateChain parameters to tell the verifier which stages to include in the validation.
TimestampValidated Event (PDFVerifier Component)
Reports the completion of the timestamp validation routine.
Syntax
public event OnTimestampValidatedHandler OnTimestampValidated; public delegate void OnTimestampValidatedHandler(object sender, PdfverifierTimestampValidatedEventArgs e); public class PdfverifierTimestampValidatedEventArgs : EventArgs { public string IssuerRDN { get; } public byte[] SerialNumber { get; } public byte[] SubjectKeyID { get; } public string Time { get; } public int ValidationResult { get; } public int ChainValidationResult { get; } public int ChainValidationDetails { get; } }
Public Event OnTimestampValidated As OnTimestampValidatedHandler Public Delegate Sub OnTimestampValidatedHandler(sender As Object, e As PdfverifierTimestampValidatedEventArgs) Public Class PdfverifierTimestampValidatedEventArgs Inherits EventArgs Public ReadOnly Property IssuerRDN As String Public ReadOnly Property SerialNumber As Byte() Public ReadOnly Property SubjectKeyID As Byte() Public ReadOnly Property Time As String Public ReadOnly Property ValidationResult As Integer Public ReadOnly Property ChainValidationResult As Integer Public ReadOnly Property ChainValidationDetails As Integer End Class
Remarks
This event is fired upon the completion of the timestamp validation routine, and reports the respective validation result.
ValidationResult is set to 0 if the validation has been successful, or to a non-zero value in case of a failure.
svtValid | 0 | The signature is valid |
svtUnknown | 1 | Signature validity is unknown |
svtCorrupted | 2 | The signature is corrupted |
svtSignerNotFound | 3 | Failed to acquire the signing certificate. The signature cannot be validated. |
svtFailure | 4 | General failure |
TLSCertValidate Event (PDFVerifier Component)
This event is fired upon receipt of the TLS server's certificate, allowing the user to control its acceptance.
Syntax
public event OnTLSCertValidateHandler OnTLSCertValidate; public delegate void OnTLSCertValidateHandler(object sender, PdfverifierTLSCertValidateEventArgs e); public class PdfverifierTLSCertValidateEventArgs : EventArgs { public string ServerHostname { get; } public string ServerIP { get; } public bool Accept { get; set; } }
Public Event OnTLSCertValidate As OnTLSCertValidateHandler Public Delegate Sub OnTLSCertValidateHandler(sender As Object, e As PdfverifierTLSCertValidateEventArgs) Public Class PdfverifierTLSCertValidateEventArgs Inherits EventArgs Public ReadOnly Property ServerHostname As String Public ReadOnly Property ServerIP As String Public Property Accept As Boolean End Class
Remarks
This event is fired during a TLS handshake. Use TLSServerChain property to access the certificate chain. In general case, components may contact a number of TLS endpoints during their work, depending on their configuration.
Accept is assigned in accordance with the outcome of the internal validation check performed by the component, and can be adjusted if needed.
ValidationProgress Event (PDFVerifier Component)
TBD
Syntax
public event OnValidationProgressHandler OnValidationProgress; public delegate void OnValidationProgressHandler(object sender, PdfverifierValidationProgressEventArgs e); public class PdfverifierValidationProgressEventArgs : EventArgs { public string ValidationEventType { get; } public string Cert { get; } public string CACert { get; } public bool DoContinue { get; set; } }
Public Event OnValidationProgress As OnValidationProgressHandler Public Delegate Sub OnValidationProgressHandler(sender As Object, e As PdfverifierValidationProgressEventArgs) Public Class PdfverifierValidationProgressEventArgs Inherits EventArgs Public ReadOnly Property ValidationEventType As String Public ReadOnly Property Cert As String Public ReadOnly Property CACert As String Public Property DoContinue As Boolean End Class
Remarks
TBD.
Certificate Type
Provides details of an individual X.509 certificate.
Remarks
This type provides access to X.509 certificate details.
Fields
Bytes Byte() |
Returns raw certificate data in DER format. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CA Boolean |
Indicates whether the certificate has a CA capability (a setting in BasicConstraints extension). |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CAKeyID Byte() |
A unique identifier (fingerprint) of the CA certificate's private key. Authority Key Identifier is a (non-critical) X.509 certificate extension which allows the identification of certificates produced by the same issuer, but with different public keys. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CRLDistributionPoints String |
Locations of the CRL (Certificate Revocation List) distribution points used to check this certificate's validity. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Curve String |
Specifies the elliptic curve of the EC public key.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Fingerprint Byte() |
Contains the fingerprint (a hash imprint) of this certificate. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
FriendlyName String |
Contains an associated alias (friendly name) of the certificate. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HashAlgorithm String |
Specifies the hash algorithm to be used in the operations on the certificate (such as key signing)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Issuer String |
The common name of the certificate issuer (CA), typically a company name. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IssuerRDN String |
A collection of information, in the form of [OID, Value] pairs, uniquely identifying the certificate issuer. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
KeyAlgorithm String |
Specifies the public key algorithm of this certificate.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
KeyBits Integer |
Returns the length of the public key. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
KeyFingerprint Byte() |
Returns a fingerprint of the public key contained in the certificate. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
KeyUsage Integer |
Indicates the purposes of the key contained in the certificate, in the form of an OR'ed flag set. This value is a bit mask of the following values:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
KeyValid Boolean |
Returns True if the certificate's key is cryptographically valid, and False otherwise. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OCSPLocations String |
Locations of OCSP (Online Certificate Status Protocol) services that can be used to check this certificate's validity, as recorded by the CA. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OCSPNoCheck Boolean |
TBD. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Origin Integer |
Returns the origin of this certificate. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PolicyIDs String |
Contains identifiers (OIDs) of the applicable certificate policies. The Certificate Policies extension identifies a sequence of policies under which the certificate has been issued, and which regulate its usage. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PrivateKeyBytes Byte() |
Contains the certificate's private key. It is normal for this property to be empty if the private key is non-exportable. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PrivateKeyExists Boolean |
Indicates whether the certificate has an associated private key. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PrivateKeyExtractable Boolean |
Indicates whether the private key is extractable |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PublicKeyBytes Byte() |
Contains the certificate's public key in DER format. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
QualifiedStatements QualifiedStatementsTypes |
TBD |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SelfSigned Boolean |
Indicates whether the certificate is self-signed (root) or signed by an external CA. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SerialNumber Byte() |
Returns the certificate's serial number. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SigAlgorithm String |
Indicates the algorithm that was used by the CA to sign this certificate. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Subject String |
The common name of the certificate holder, typically an individual's name, a URL, an e-mail address, or a company name. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SubjectAlternativeName String |
TBD. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SubjectKeyID Byte() |
Contains a unique identifier (fingerprint) of the certificate's private key. Subject Key Identifier is a (non-critical) X.509 certificate extension which allows the identification of certificates containing a particular public key. In SecureBlackbox, the unique identifier is represented with a SHA1 hash of the bit string of the subject public key. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SubjectRDN String |
A collection of information, in the form of [OID, Value] pairs, uniquely identifying the certificate holder (subject). |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ValidFrom String |
The time point at which the certificate becomes valid, in UTC. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ValidTo String |
The time point at which the certificate expires, in UTC. |
Constructors
public Certificate(byte[] bytes, int startIndex, int count, string password);
Public Certificate(ByVal Bytes As Byte(), ByVal StartIndex As Integer, ByVal Count As Integer, ByVal Password As String)
Loads the X.509 certificate from a memory buffer. Bytes is a buffer containing the raw certificate data. StartIndex and Count specify the starting position and number of bytes to be read from the buffer, respectively. Password is a password encrypting the certificate.
Loads the X.509 certificate from a memory buffer. CertBytes is a buffer containing the raw certificate data. CertStartIndex and CertCount specify the number of bytes to be read from the buffer, respectively. KeyBytes is a buffer containing the private key data. KeyStartIndex and KeyCount specify the starting position and number of bytes to be read from the buffer, respectively. Password is a password encrypting the certificate.
public Certificate(byte[] bytes, int startIndex, int count);
Public Certificate(ByVal Bytes As Byte(), ByVal StartIndex As Integer, ByVal Count As Integer)
Loads the X.509 certificate from a memory buffer. Bytes is a buffer containing the raw certificate data. StartIndex and Count specify the starting position and number of bytes to be read from the buffer, respectively.
public Certificate(string path, string password);
Public Certificate(ByVal Path As String, ByVal Password As String)
Loads the X.509 certificate from a file. Path specifies the full path to the file containing the certificate data. Password is a password encrypting the certificate.
public Certificate(string certPath, string keyPath, string password);
Public Certificate(ByVal CertPath As String, ByVal KeyPath As String, ByVal Password As String)
Loads the X.509 certificate from a file. CertPath specifies the full path to the file containing the certificate data. KeyPath specifies the full path to the file containing the private key. Password is a password encrypting the certificate.
public Certificate(string path);
Public Certificate(ByVal Path As String)
Loads the X.509 certificate from a file. Path specifies the full path to the file containing the certificate data.
public Certificate(System.IO.Stream stream);
Public Certificate(ByVal Stream As System.IO.Stream)
Loads the X.509 certificate from a stream. Stream is a stream containing the certificate data.
public Certificate(System.IO.Stream stream, string password);
Public Certificate(ByVal Stream As System.IO.Stream, ByVal Password As String)
Loads the X.509 certificate from a stream. Stream is a stream containing the certificate data. Password is a password encrypting the certificate.
public Certificate(System.IO.Stream certStream, System.IO.Stream keyStream, string password);
Public Certificate(ByVal CertStream As System.IO.Stream, ByVal KeyStream As System.IO.Stream, ByVal Password As String)
Loads the X.509 certificate from a stream. CertStream is a stream containing the certificate data. KeyStream is a stream containing the private key. Password is a password encrypting the certificate.
public Certificate();
Public Certificate()
Creates a new object with default field values.
CRL Type
Represents a Certificate Revocation List.
Remarks
CRLs store information about revoked certificates, i.e., certificates that have been identified as invalid by their issuing certificate authority (CA) for any number of reasons.
Each CRL object lists certificates from a single CA and identifies them by their serial numbers. A CA may or may not publish a CRL, may publish several CRLs, or may publish the same CRL in multiple locations.
Unlike OCSP responses, CRLs only list certificates that have been revoked. They do not list certificates that are still valid.
Fields
Bytes Byte() |
Returns raw CRL data in DER format. |
CAKeyID Byte() |
A unique identifier (fingerprint) of the CA certificate's private key, if present in the CRL. |
EntryCount Integer |
Returns the number of certificate status entries in the CRL. |
Issuer String |
The common name of the CRL issuer (CA), typically a company name. |
IssuerRDN String |
A collection of information, in the form of [OID, Value] pairs, uniquely identifying the CRL issuer. |
Location String |
The URL that the CRL was downloaded from. |
NextUpdate String |
The planned time and date of the next version of this CRL to be published. |
SigAlgorithm String |
The public key algorithm that was used by the CA to sign this CRL. |
TBS Byte() |
The to-be-signed part of the CRL (the CRL without the signature part). |
ThisUpdate String |
The date and time at which this version of the CRL was published. |
Constructors
Creates a CRL object from a memory buffer. Bytes is a buffer containing raw (DER) CRL data, StartIndex and Count specify the starting position and the length of the CRL data in the buffer, respectively.
Creates a CRL object by downloading it from a remote location.
public CRL(System.IO.Stream stream);
Public CRL(ByVal Stream As System.IO.Stream)
Creates a CRL object from data contained in a stream.
Creates an empty CRL object.
OCSPResponse Type
Represents a single OCSP response originating from an OCSP responder.
Remarks
OCSP is a protocol that allows verification of certificate status in real-time, and is an alternative to Certificate Revocation Lists (CRL).
An OCSP response is a snapshot of the certificate status at a given time.
Fields
Bytes Byte() |
Buffer containing raw OCSP response data. |
EntryCount Integer |
The number of SingleResponse elements contained in this OCSP response. Each SingleResponse element corresponds to a certificate status. |
Issuer String |
Indicates the issuer of this response (a CA or its authorized representative). |
IssuerRDN String |
Indicates the RDN of the issuer of this response (a CA or its authorized representative). |
Location String |
Location of the OCSP responder. |
ProducedAt String |
Specifies the time when the response was produced, in UTC. |
Constructors
public OCSPResponse(byte[] bytes, int startIndex, int count);
Public OCSPResponse(ByVal Bytes As Byte(), ByVal StartIndex As Integer, ByVal Count As Integer)
Initializes the response from a memory buffer. Bytes is a buffer containing raw OCSP response data, StartIndex and Count specify the starting position and the number of bytes to be read from this buffer.
public OCSPResponse(string location);
Public OCSPResponse(ByVal Location As String)
Downloads an OCSP response from a remote location.
public OCSPResponse(System.IO.Stream stream);
Public OCSPResponse(ByVal Stream As System.IO.Stream)
Initializes the response with the data from a stream.
public OCSPResponse();
Public OCSPResponse()
Creates an empty OCSP response object.
PDFPermissions Type
Contains information about the permissions the viewing app gets over the encrypted document.
Remarks
Document encryption carries an associated permission directory with it. Use the permissions directory to suggest the viewing application the operations it is allowed to perform on the document.
Fields
Annotations Boolean |
Indicates whether the viewer may add annotations to the document. |
Assemble Boolean |
Indicates if the viewer may assemble a new document on the basis of the encrypted one. |
Extract Boolean |
Indicates if the user may extract (copy) pictures and text from the encrypted document. |
ExtractAcc Boolean |
Indicates if the user may extract pictures/text from the document for accessibility purposes. |
FillInForms Boolean |
Indicates if the user may fill in forms in the document. |
HighQualityPrint Boolean |
Indicates if the document may be printed in high quality. |
LowQualityPrint Boolean |
Indicates if the document may be printed in low quality. |
Modify Boolean |
Indicates if the document may be modified. |
Constructors
public PDFPermissions();
Public PDFPermissions()
Initializes an instance of PDFPermissions class.
PDFSignature Type
This component is a container for PDF signature details.
Remarks
Use it to tune up signature properties and widget appearance when creating a signature, or to read the signature information when processing it.
Fields
AlgorithmCaption String |
Caption of the signature widget field with information about the signature algorithm. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AlgorithmInfo String |
Information about the algorithm to be shown on the signature widget. This property contains information about the algorithm to be displayed in the signature widget. This property is taken into account only if AutoText is False. If AutoText is True, information about the algorithm is generated automatically in the form of "Algorithm/Key size", e.g. "RSA/1024 bits". |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AllowedChanges PDFSignatureAllowedChanges |
The changes to the document are allowed by the signature. This field is only applicable to MDP/certification signatures and has no effect for any other kinds of signatures (regular or document timestamps).
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AuthorName String |
A human-readable signer name. This is a PDF document property. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AutoFontSize Boolean |
Enables default widget font sizes. The default font sizes are TitleFontSize: 8.77, TimestampFontSize: 4.89, SectionTitleFontSize: 7, and SectionTextFontSize: 5. Switch AutoFontSize off and use the respective properties to provide custom font sizes. The standard unit of the symbol size in the default user space is 1/72 inch. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AutoPos Boolean |
Use the default widget position on a page. The default position is aligned with the top right corner of the page. Switch this property off and use OffsetX and OffsetY to put the widget elsewhere on the page. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AutoSize Boolean |
Use the default widget size. Switch this property off and use Height and Width properties to use a different size. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AutoStretchBackground Boolean |
Stretches the background picture to fit the signature widget. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AutoText Boolean |
Use the default widget descriptions. The default texts are based on the information contained in the signing certificate. Set this property to false and use AlgorithmInfo, SignerInfo, and Header properties to generate customized descriptions. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BackgroundData Byte() |
Contains/takes the data of the signature widget background bitmap. Assign the widget background data (in form of JPEG or JPEG2000 bytes) to this property. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BackgroundHeight Integer |
The height of the background image in pixels. It is important that this property matches the exact size of the image when custom background is used. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BackgroundImageType PDFWidgetImageTypes |
The type of the image contained in BackgroundData. JPEG and JPEG2000 format are currently supported.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BackgroundMask Byte() |
Contains the background image mask. Masks provide means for marking transparent areas on your signature widgets. Specifically, a transparency mask tells PDF viewing apps which pixels of the signature widget should be kept visible and which should be rendered transparent instead. In most cases, you will need a unique mask that is tailored for your signature widget image. This is something that you will need to create yourself basing on your preferences and the actual image design. A mask is effectively a matrix of bits, with each bit corresponding to a pixel on your background bitmap. A bit is set to 1 if the corresponding pixel needs to be made transparent, or to 0 if it needs to be opaque. To create the mask that can be passed to BackgroundMask, please follow the below procedure: Go through the bitmap of your signature widget bitmap row to row, processing each row of pixels from left to right. For each row, 1. Start with an empty bit string. 2. For every pixel in a row, add '1' bit if you want it to be transparent, or '0' bit if you want it to be opaque. 3. Upon reaching the end of the row, append '0' bits to your bit string until the number of bits in it is a multiple of 8. This is because each row of pixels needs to be represented with a whole number of bytes. 4. Convert the bit string to a byte array by grouping every 8 bits into a byte. Do the same for every row of pixels, and then concatenate the received byte arrays together. Pass the created byte array to SetSigBackgroundMask(). A small example. Imagine your image is 19 pixels wide and 3 pixels tall. Imagine you want to make it 'semi-transparent' by using a 'mesh' pattern. The mask will therefore look like this: 10101010 10101010 10100000 // first row 01010101 01010101 01000000 // second row 10101010 10101010 10100000 // third row Note that the last 5 bits of each row are padding '0' bits and are ignored: you only need them to make each row contain a whole number of bytes. When converted to a byte string, this would look like 0xAA 0xAA 0xA0 0x55 0x55 0x40 0xAA 0xAA 0xA0 , or, if written as a byte array, (0xAA, 0xAA, 0xA0, 0x55, 0x55, 0x40, 0xAA, 0xAA, 0xA0): this is what you need to pass to SetSigBackgroundMask(). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BackgroundStyle PDFWidgetBackgroundStyles |
The style of the signature widget background. pwbsDefault uses the default image, pwbsNoBackground doesn't use background image at all, and pwbsCustom expects the application to provide a custom background image.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BackgroundWidth Integer |
The width of the background image in pixels. It is important that this property matches the exact size of the image when custom background is used. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Certification Boolean |
Specifies whether this is a Certification (MDP) signature. Certification signatures is a feature that was used by earlier Acrobat versions. It has little use these days. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ChainValidationDetails Integer |
The details of a certificate chain validation outcome. They may often suggest what reasons that contributed to the overall validation result. Returns a bit mask of the following options:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ChainValidationResult ChainValidities |
The outcome of a certificate chain validation routine. Available options:
Use the ValidationLog property to access the detailed validation log. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ClaimedSigningTime String |
Returns or sets signature's creation time. Use this property to get or set the signature creation time from the signer's computer. The claimed time, unlike ValidatedSigningTime does not originate from a trusted TSA and may be forfeited or wrong. The time is provided in UTC. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CompressWidgetData Boolean |
Whether the signature widget data should be compressed before saving. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ContactInfo String |
Contains signer's contact information. This is a PDF document property. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CoverageEndsAt Integer |
Indicates the offset in the PDF file where signature coverage ends. PDF generators often use incremental updates to make changes in the documents. This may result in the signature only covering a part of the document (one of the past revisions), but not the subsequent changes. Use this property to identify the offset where the signature coverage ends. One option is to compare it to the length of the whole document. Alternatively, use the GetSignedVersion() method of the PDFVerifier class to extract the exact revision that was signed. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CustomAppearance Byte() |
Contains custom widget description in raw PDF graphic operators format. Use this property to provide a PDF stream describing the widget appearance. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CustomBackgroundContentStream String |
Specifies custom custom background content stream for pwbsCustom BackgroundStyle. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CustomData Byte() |
A uninterpreted custom data to save with the signature. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CustomVisualStatusMatrix String |
Defines the custom visual status matrix. Use of this property makes sense only if a visual status icon is displayed over the signature (ShowVisualStatus). Prior to Acrobat 6, signature's visual appearance was modified with a status icon, e.g., "valid" or "invalid". The visual status matrix is used to position the icon in the signature widget. If CustomVisualStatusMatrix is empty, the value of '0.25 0 0 0.25 0 0' is used. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DateCaptionFormat String |
The format string used to display the signing time in the signature widget. Leave this property empty (default value) to use the default formatting. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EmptyField Boolean |
Indicates whether or not the signature created/read is an empty field (a signature placeholder). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
FilterName String |
The signature filter name. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
FullSignatureName String |
Specifies the full name of the signature field. This is an internal identifier of a signature (such as Signature1) and is not meant to be human-readable. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HashAlgorithm String |
Specifies the hash algorithm to be used for signing.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Header String |
Specifies the header text to put on the signature widget. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Height Integer |
Specifies the height of the signature widget. The AutoSize property should be switched off for this to apply. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HideDefaultText Boolean |
Switch offs generation of any headers for the signature widget. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IgnoreExistingAppearance Boolean |
Tells the component to discard any existing widget parameters when signing empty signature fields. IgnoreExistingAppearance only makes sense for signatures created by signing existing empty signature fields with pre-defined widget descriptions. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
InvertMask Boolean |
Specifies whether BackgroundMask should be inverted. Set this property to flip all the bits in the mask, by making opaque all the bits declared by the mask as transparent, and making transparent all the bits declared as opaque. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Invisible Boolean |
Controls whether the signature widget is visible on the page. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Level PDFSignatureLevels |
Specifies the signature kind and level.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Location String |
Specifies the host name or the physical location of the signing entity. This is a PDF property. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Locked Boolean |
Specifies whether the signature widget can be moved by the user. This is an obsolete property that would rarely need changing. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LockedContents Boolean |
Specifies whether signature widget contents should be locked. This is an obsolete property that would rarely need changing. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NoRotate Boolean |
If this value is True the signature widget will not be rotated when the document is rotated in the viewing app. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NoView Boolean |
If this value is True the signature widget will not be displayed when the document is viewed. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NoZoom Boolean |
If this value is True the signature widget size will not be changed during zooming. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OffsetX Integer |
Specifies the signature widget offset from the left-hand page border when AutoPos is False. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OffsetY Integer |
Specifies the signature widget offset from the bottom page border when AutoPos is False. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Page Integer |
The index of the page on which to place the signature. To place the signature widget on multiple pages, use PagesToPlaceOn and ShowOnAllPages properties. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PagesToPlaceOn String |
Page numbers on which the signature is shown. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PolicyHash String |
The signature policy hash value for EPES signatures. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PolicyHashAlgorithm String |
The algorithm that was used to calculate the signature policy hash. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PolicyID String |
The policy ID to be included into the signature. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Print Boolean |
Whether the signature shall appear in printed documents. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Qualified QualifiedStatuses |
Indicates a qualified electronic signature. Use this property to check if an electronic signature is created using a qualified device for creating electronic signatures and that relies on a qualified electronic signature certificate. Adjust UseDefaultTSLs property and/or CustomTSLs property before validating the signature/certificate to properly obtain TSP (Trust Service Provider) service status. Use Qualified* and TSL* config properties to obtain extended information. The following qualified statuses are supported:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ReadOnly Boolean |
Controls the ReadOnly flag of the widget. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Reason String |
Specifies the reason for signing. This is a PDF document property. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Rotate Integer |
Specifies the rotation angle of the signature widget in degrees. Values of 0, 90, 180, and 270 are allowed. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SectionTextFontSize String |
Use this property to specify the font size to be used for general text on the widget. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SectionTitleFontSize String |
Use this property to specify the font size to be used for section title text on the widget. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ShowOnAllPages Boolean |
Forces the signature widget to be displayed on all pages in the document. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ShowTimestamp Boolean |
Whether to display the signing time details on the widget. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ShowVisualStatus Boolean |
Specifies whether to show the signature's status icon. It is a good idea to avoid using the visual status icon, as described below: According to the Digital Signature Appearances Adobe Acrobat SDK (May 2015), "Prior to Acrobat 6.0, signature appearances were manipulated at run-time in order to display the validity of the signature. The validity was shown as a graphic icon and with an additional, optional text message. The manipulated portions of the signature appearance were contained in layers n1, n3 and n4. Beginning with version 6, Acrobat does not maintain support for signature appearances that can be manipulated, though legacy signatures with these appearances may continue to display correctly. Use of layers n1, n3, and n4 is not recommended." |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SignatureBytes Byte() |
TBD. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SignatureName String |
Specifies the unique signature identifier to use. This is an internal identifier of a signature (such as Signature1) and is not meant to be human-readable. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SignatureValidationResult SignatureValidities |
The outcome of the cryptographic signature validation. The following signature validity values are supported:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SignerCaption String |
Specifies the caption for the signer section on the signature widget. The default value is "Signer: ". |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SignerInfo String |
Provides custom signer information to put on the signature widget. This property is only considered if AutoText is set to False. The standard signature widget allows for several short strings separated by CRLF. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SimpleFontName String |
Specifies the Type 1 font name for the signature text. PDF format supports 14 standard fonts, specifically: "Times-Roman", "Helvetica", "Courier", "Symbol", "Times-Bold", "Helvetica-Bold", "Courier-Bold", "ZapfDingbats", "Times-Italic", "Helvetica-Oblique", "Courier-Oblique", "Times-BoldItalic", "Helvetica-BoldOblique", "Courier-BoldOblique".
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
StretchX String |
Use this field to manually adjust the horizontal size of the stretched background picture. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
StretchY String |
Use this field to manually adjust the size of the stretched background picture in the vertical direction. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SubjectRDN String |
Contains the RDN of the owner of the signing certificate. RDN is a number of OID=Value pairs declared in the certificate and providing the owner's details. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Timestamped Boolean |
Indicates if the signature is timestamped. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TimestampFontSize String |
Use this property to specify the font size to be used for timestamp text on the widget. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TitleFontSize String |
Use this property to specify the font size to be used for the main title on the widget. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ToggleNoView Boolean |
When True, the signature widget will be displayed only when the user is moving a mouse over it. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ValidatedSigningTime String |
Contains the certified signing time. Use this property to obtain the signing time as certified by a timestamp from a trusted timestamping authority. This property is only non-empty if there was a valid timestamp included in the signature. ClaimedSigningTime returns a non-trusted signing time from the signer's computer. Both times are in UTC. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ValidationLog String |
Contains the signing certificate's chain validation log. This information may be very useful in investigating chain validation failures. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Width Integer |
Specifies the width of the signature widget. The AutoSize property should be switched off for this to apply. |
Constructors
public PDFSignature();
Public PDFSignature()
Creates a new PDF signature object.
ProxySettings Type
A container for proxy server settings.
Remarks
This type exposes a collection of properties for tuning up the proxy server configuration.
Fields
Address String |
The IP address of the proxy server. |
||||||||||
Authentication ProxyAuthTypes |
The authentication type used by the proxy server.
|
||||||||||
Password String |
The password to authenticate to the proxy server. |
||||||||||
Port Integer |
The port on the proxy server to connect to. |
||||||||||
ProxyType ProxyTypes |
The type of the proxy server. The WebTunnel proxy is also known as HTTPS proxy. Unlike HTTP proxy, HTTPS proxy (WebTunnel) provides end-to-end security.
|
||||||||||
RequestHeaders String |
Contains HTTP request headers for WebTunnel and HTTP proxy. |
||||||||||
ResponseBody String |
Contains the HTTP or HTTPS (WebTunnel) proxy response body. |
||||||||||
ResponseHeaders String |
Contains response headers received from an HTTP or HTTPS (WebTunnel) proxy server. |
||||||||||
UseIPv6 Boolean |
Specifies whether IPv6 should be used when connecting through the proxy. |
||||||||||
UseProxy Boolean |
Enables or disables proxy-driven connection. |
||||||||||
Username String |
Specifies the username credential for proxy authentication. |
Constructors
public ProxySettings();
Public ProxySettings()
Creates a new ProxySettings object.
SocketSettings Type
A container for the socket settings.
Remarks
This type is a container for socket-layer parameters.
Fields
DNSMode DNSResolveModes |
Selects the DNS resolver to use: the component's (secure) built-in one, or the one provided by the system.
|
||||||||
DNSPort Integer |
Specifies the port number to be used for sending queries to the DNS server. |
||||||||
DNSQueryTimeout Integer |
The timeout (in milliseconds) for each DNS query. The value of 0 indicates the infinite timeout. |
||||||||
DNSServers String |
The addresses of DNS servers to use for address resolution, separated by commas or semicolons. |
||||||||
DNSTotalTimeout Integer |
The timeout (in milliseconds) for the whole resolution process. The value of 0 indicates the infinite timeout. |
||||||||
IncomingSpeedLimit Integer |
The maximum number of bytes to read from the socket, per second. |
||||||||
LocalAddress String |
The local network interface to bind the socket to. |
||||||||
LocalPort Integer |
The local port number to bind the socket to. |
||||||||
OutgoingSpeedLimit Integer |
The maximum number of bytes to write to the socket, per second. |
||||||||
Timeout Integer |
The maximum period of waiting, in milliseconds, after which the socket operation is considered unsuccessful. If Timeout is set to 0, a socket operation will expire after the system-default timeout (2 hrs 8 min for TCP stack). |
||||||||
UseIPv6 Boolean |
Enables or disables IP protocol version 6. |
Constructors
public SocketSettings();
Public SocketSettings()
Creates a new SocketSettings object.
TimestampInfo Type
A container for timestamp information.
Remarks
The TimestampInfo object contains details of a third-party timestamp and the outcome of its validation.
Fields
Accuracy Long |
This field indicates the accuracy of the included time mark, in microseconds. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bytes Byte() |
Returns raw timestamp data in DER format. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ChainValidationDetails Integer |
The details of a certificate chain validation outcome. They may often suggest what reasons that contributed to the overall validation result. Returns a bit mask of the following options:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ChainValidationResult ChainValidities |
The outcome of a certificate chain validation routine. Available options:
Use the ValidationLog property to access the detailed validation log. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HashAlgorithm String |
Returns the timestamp's hash algorithm
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SerialNumber Byte() |
Returns the timestamp's serial number. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Time String |
The time point incorporated into the timestamp. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TimestampType TimestampTypes |
Returns the timestamp type. Available options:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TSAName String |
This value uniquely identifies the Timestamp Authority (TSA). This property provides information about the entity that manages the TSA. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ValidationLog String |
Contains the TSA certificate chain validation log. This information is extremely useful if the timestamp validation fails. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ValidationResult SignatureValidities |
Contains timestamp validation outcome. Use this property to check the result of the most recent timestamp validation.
|
Constructors
public TimestampInfo();
Public TimestampInfo()
Creates a new TimestampInfo object with default field values.
TLSSettings Type
A container for TLS connection settings.
Remarks
TLS (Transport Layer Security) protocol provides security for information exchanged over insecure connections such as TCP/IP.
Fields
AutoValidateCertificates Boolean |
Specifies whether server-side TLS certificates should be validated automatically using internal validation rules. |
|||||||||||||||||||||||||||||||||
BaseConfiguration SecureTransportPredefinedConfigurations |
Selects the base configuration for the TLS settings. Several profiles are on offer, tuned up for different purposes, such as high security or higher compatibility.
|
|||||||||||||||||||||||||||||||||
Ciphersuites String |
A list of ciphersuites separated with commas or semicolons. Each ciphersuite in the list may be prefixed with a minus sign (-) to indicate that the ciphersuite should be disabled rather than enabled. Besides the specific ciphersuite modifiers, this property supports the all (and -all) aliases that allow to blanketly enable or disable all ciphersuites at once. Note: the list of ciphersuites provided to this property alters the baseline list of ciphersuites as defined by BaseConfiguration. Remember to start your ciphersuite string with -all; if you need to only enable a specific fixed set of ciphersuites. The list of supported ciphersuites is provided below:
|
|||||||||||||||||||||||||||||||||
ECCurves String |
Defines the elliptic curves to enable. |
|||||||||||||||||||||||||||||||||
Extensions String |
Provides access to TLS extensions. |
|||||||||||||||||||||||||||||||||
ForceResumeIfDestinationChanges Boolean |
Whether to force TLS session resumption when the destination address changes. |
|||||||||||||||||||||||||||||||||
PreSharedIdentity String |
Defines the identity used when the PSK (Pre-Shared Key) key-exchange mechanism is negotiated. |
|||||||||||||||||||||||||||||||||
PreSharedKey String |
Contains the pre-shared for the PSK (Pre-Shared Key) key-exchange mechanism, encoded with base16. |
|||||||||||||||||||||||||||||||||
PreSharedKeyCiphersuite String |
Defines the ciphersuite used for PSK (Pre-Shared Key) negotiation. |
|||||||||||||||||||||||||||||||||
RenegotiationAttackPreventionMode RenegotiationAttackPreventionModes |
Selects renegotiation attack prevention mechanism. The following options are available:
|
|||||||||||||||||||||||||||||||||
RevocationCheck RevocationCheckKinds |
Specifies the kind(s) of revocation check to perform. Revocation checking is necessary to ensure the integrity of the chain and obtain up-to-date certificate validity and trustworthiness information.
This setting controls the way the revocation checks are performed. Typically certificates come with two types of revocation information sources: CRL (certificate revocation lists) and OCSP responders. CRLs are static objects periodically published by the CA at some online location. OCSP responders are active online services maintained by the CA that can provide up-to-date information on certificate statuses in near real time. There are some conceptual differences between the two. CRLs are normally larger in size. Their use involves some latency because there is normally some delay between the time when a certificate was revoked and the time the subsequent CRL mentioning that is published. The benefits of CRL is that the same object can provide statuses for all certificates issued by a particular CA, and that the whole technology is much simpler than OCSP (and thus is supported by more CAs). This setting lets you adjust the validation course by including or excluding certain types of revocation sources from the validation process. The crcAnyOCSPOrCRL setting (give preference to faster OCSP route and only demand one source to succeed) is a good choice for most of typical validation environments. The "crcAll*" modes are much stricter, and may be used in scenarios where bulletproof validity information is essential. |
|||||||||||||||||||||||||||||||||
SSLOptions Integer |
Various SSL (TLS) protocol options, set of
|
|||||||||||||||||||||||||||||||||
TLSMode SSLModes |
Specifies the TLS mode to use.
|
|||||||||||||||||||||||||||||||||
UseExtendedMasterSecret Boolean |
Enables Extended Master Secret Extension, as defined in RFC 7627. |
|||||||||||||||||||||||||||||||||
UseSessionResumption Boolean |
Enables or disables TLS session resumption capability. |
|||||||||||||||||||||||||||||||||
Versions Integer |
Th SSL/TLS versions to enable by default.
|
Constructors
public TLSSettings();
Public TLSSettings()
Creates a new TLSSettings object.
Configuration Settings (PDFVerifier Component)
The component accepts one or more of the following configuration settings. Configuration settings are similar in functionality to properties, but they are rarely used. In order to avoid "polluting" the property namespace of the component, access to these internal properties is provided through the Config method.PDFVerifier Configuration Settings
CustomTSLs: Specifies the custom TSLs.Use this property to specify the custom TSLs (Trust Service status Lists) to the validator. The URLs list is comma-separated. | |
EmptySignatureFieldAddRevInfo[Index]: Specifies if revocation checking should be performed.This property contains the True value if the viewing application should check the signing certificate revocation info, and include the revocation information within the signature value. | |
EmptySignatureFieldAlternateName[Index]: Contains an alternate field name.This property contains an alternate field name to be used in place of the actual field name wherever the field must be identified in the user interface. | |
EmptySignatureFieldCount: The number of empty signature form fields.Returns the number of the empty signature form fields available. | |
EmptySignatureFieldFlags[Index]: The field flags of the signature form field.This property contains the empty signature form field flags ("Ff" entry in the signature field dictionary). | |
EmptySignatureFieldHeight[Index]: The Height of the empty signature form field.This property contains the height of the empty signature form field. | |
EmptySignatureFieldInvisible[Index]: The visibility status of the field.This property contains the True value if the empty signature form field is visible. | |
EmptySignatureFieldLegalAttestations[Index]: Specifies the legal attestations that are associated with the signature.This property contains 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.This property contains the name to be used when exporting form field data from the document. | |
EmptySignatureFieldName[Index]: Textual field name.This property contains the empty signature field name. | |
EmptySignatureFieldOffsetX[Index]: The field's offset from the left page border.This property contains the horizontal offset of the empty signature form field. | |
EmptySignatureFieldOffsetY[Index]: The field's offset from the bottom page border.This property contains the vertical offset of the empty signature form field. | |
EmptySignatureFieldPage[Index]: The index of the form field's page in the document.This property contains the index of the empty signature form field's page in the document. | |
EmptySignatureFieldRequiredAllowedChanges[Index]: Specifies the changes allowed by the signature.This property contains which changes are allowed to the document when the signature field is signed. | |
EmptySignatureFieldRequiredConstraints[Index]: Specifies the required Seed Value Dictionary (SVD) constraints.This property contains the required SVD constraints. If certain bit in RequiredConstraints is switched on, the corresponding data item is constrained. | |
EmptySignatureFieldRequiredDigestAlgorithms[Index]: Specifies the required digest algorithms.This property contains the list of the digest algorithms used for signature generation. | |
EmptySignatureFieldRequiredFilter[Index]: Specifies the required filter.This property contains the required filter (name of the preferred signature handler) to use for signature generation. | |
EmptySignatureFieldRequiredLockAction[Index]: Indicates which set of fields shall be locked.This property contains a set of form fields that shall be locked when the current signature field is signed. | |
EmptySignatureFieldRequiredLockFields[Index]: Indicates the fields that shall be locked on signing.This property contains the list of form field names that shall be locked when the current signature field is signed. Whether this list shall be included or excluded is defined by EmptySignatureFieldRequiredLockAction[Index] property. | |
EmptySignatureFieldRequiredReasons[Index]: Specifies the required reasons.This property contains the required reasons used for signature generation. | |
EmptySignatureFieldRequiredSubfilters[Index]: Specifies the required subfilters.This property contains the list of subfilters required by the signature. A subfilter represents the encoding to use when signing the PDF form. | |
EmptySignatureFieldTimestampRequired[Index]: Specifies if the signature should be time-stamped.This property contains the True value if the signature should be time-stamped. | |
EmptySignatureFieldTSPURL[Index]: URL for a TSP server.This property contains the TSP server URL. | |
EmptySignatureFieldWidth[Index]: The Width of the empty signature form field.This property contains the width of the empty signature form field. | |
EncryptionHandlerName: Specifies the custom security handler PDF-name.Specifies the custom security handler PDF-name for encryption handler. | |
ForceCompleteChainValidation: Whether to check issuer (CA) certificates when the signing certificate is invalid.Specifies whether to check issuer (CA) certificates when the signing certificate is invalid. | |
ForceCompleteChainValidationForTrusted: Whether to continue with the full validation up to the root CA certificate for mid-level trust anchors. Set this property to True to enable full chain validation for explicitly trusted intermediary or end-entity certificates. This may be useful when creating signatures to enforce completeness of the collected revocation information. It often makes sense to set this property to false when validating signatures to reduce validation time and avoid issues with badly configured environments. | |
GracePeriod: Specifies a grace period to apply during revocation information checks.Use this property to specify a grace period (in seconds). Grace period applies to certain subprotocols, such as OCSP, and caters to the inaccuracy and/or missynchronization of clocks on different participating systems. Any time deviations within the grace period will be tolerated. | |
HardenedKeyGeneration: Specifies if hardened Key generation should be used.Specifies if hardened Key generation should be used when an AES-256 encryption algorithm and password encryption are used. | |
IgnoreOCSPNoCheckExtension: Whether OCSP NoCheck extension should be ignored.Set this property to false to make the validation engine ignore the OCSP no-check extension. You would normally need to set this property when validating severely non-compliant chains that misuse the extension, causing chain loops or other validation issues. | |
IgnoreSystemTrust:
Whether trusted Windows Certificate Stores should be treated as trusted.Specifies whether, during chain validation, the component should respect
the trust to CA certificates as configured in the operating system.
In Windows this effectively defines whether the component should trust the
certificates residing in the Trusted Root Certification Authorities store.
If IgnoreSystemTrust is True, certificates residing in the trusted root store are treated as if they are known, rather than trusted. Only certificates provided via other means (such as TrustedCertificates property) are considered trusted. |
|
ImplicitlyTrustSelfSignedCertificates: Whether to trust self-signed certificates. Set this property to True to implicitly trust all self-signed certificates. Use it with care as trusting just about every self-signed certificate is unwise. One exceptional reason where this property may be handy is where a chain is validated in an environment that is not supposed to trust it (for example, a signing, rather than verifying environment, or a QA server). Trusting all self-signing certificates (which are normally trusted) allows to emulate the verifying environment without actually changing its security settings. | |
PageInfoCount: The number of pages.Returns the number of the page infos available. | |
PageInfoCropBoxEmpty[Index]: Check if the page's crop box is empty or not.This property contains True if the crop box is empty, and False otherwise. The crop box defines the region to which the contents of the page shall be clipped (cropped) when displayed or printed. | |
PageInfoCropLLX[Index]: Defines the X coordinate of the lower left corner of the crop box.This property contains the X coordinate of the lower left corner of the crop box of the page. The crop box defines the region to which the contents of the page shall be clipped (cropped) when displayed or printed. | |
PageInfoCropLLY[Index]: Defines the Y coordinate of the lower left corner of the crop box.This property contains the Y coordinate of the lower left corner of the crop box of the page. The crop box defines the region to which the contents of the page shall be clipped (cropped) when displayed or printed. | |
PageInfoCropURX[Index]: Defines the X coordinate of the upper right corner of the crop box.This property contains the X coordinate of the upper right corner of the crop box of the page. The crop box defines the region to which the contents of the page shall be clipped (cropped) when displayed or printed. | |
PageInfoCropURY[Index]: Defines the Y coordinate of the upper right corner of the crop box.This property contains the Y coordinate of the upper right corner of the crop box of the page. The crop box defines the region to which the contents of the page shall be clipped (cropped) when displayed or printed. | |
PageInfoHeight[Index]: The Height of the page.This property contains the page height value. | |
PageInfoMediaLLX[Index]: Defines the X coordinate of the lower left corner of the media box.This property contains the X coordinate of the lower left corner of the media box of the page. The media box defines the boundaries of the physical medium on which the page is to be printed. | |
PageInfoMediaLLY[Index]: Defines the Y coordinate of the lower left corner of the media box.This property contains the Y coordinate of the lower left corner of the media box of the page. The media box defines the boundaries of the physical medium on which the page is to be printed. | |
PageInfoMediaURX[Index]: Defines the X coordinate of the upper right corner of the media box.This property contains the X coordinate of the upper right corner of the media box of the page. The media box defines the boundaries of the physical medium on which the page is to be printed. | |
PageInfoMediaURY[Index]: Defines the Y coordinate of the upper right corner of the media box.This property contains the Y coordinate of the upper right corner of the media box of the page. The media box defines the boundaries of the physical medium on which the page is to be printed. | |
PageInfoRotate[Index]: The Rotate value of the page.This property contains the page rotation angle. | |
PageInfoUserUnit[Index]: Defines the size of default user space units.This property contains a positive number that shall give the size of default user space units, in multiples of 1/72 inch. The default value is 1.0 (user space unit is 1/72 inch). | |
PageInfoWidth[Index]: The Width of the page.This property contains the page width value. | |
PromoteLongOCSPResponses: Whether long OCSP responses are requested. Set this property to True to force the component to publish 'long' form of OCSP responses. Otherwise, only BasicOCSPResponse blobs are promoted. | |
PSSUsed: Whether RSASSA-PSS mode was used.Although the RSASSA-PSS algorithm provides better security than a classic RSA scheme (PKCS#1-1.5), please take into account that RSASSA-PSS is a relatively new algorithm which may not be understood by older implementations. | |
QualifiedStatus: Indicates a qualified electronic signature.Use this property to check if an electronic signature is created using a qualified device for creating electronic signatures and that relies on a qualified electronic signature certificate. This property return TSP service status URI. | |
RC4KeyBits: Specifies the number of key bits used for RC4 algorithm.Specifies the number of key bits used for RC4 encryption algorithm. | |
TolerateMinorChainIssues: Whether to tolerate minor chain issues.TBD | |
TSLDistributionPoints: Contains XML content of distribution points of the TSL used.Use this property to get XML content of distribution points of the TSL used to obtain the qualified status of the certificate. | |
TSLDistributionPoints[Idx]: Contains distribution point of the specified index of the TSL used.Use this property to get distribution point of the specified index of the TSL used to obtain the qualified status of the certificate. | |
TSLHistoricalInformationPeriod: Contains historical information period of the TSL used.Use this property to get historical information period of the TSL used to obtain the qualified status of the certificate. | |
TSLLegalNotices: Contains XML content of legal notices of the TSL used.Use this property to get XML content of multilingual legal notices of the TSL used to obtain the qualified status of the certificate. | |
TSLLegalNotices[lang]: Contains legal notices for the specified language of the TSL used.Use this property to get legal notices for the specified language code (e.g. 'en') of the TSL used to obtain the qualified status of the certificate. | |
TSLListIssueDateTime: Contains list issue date and time of the TSL used.Use this property to get list issue date and time of the TSL used to obtain the qualified status of the certificate. | |
TSLNextUpdate: Contains next update date and time of the TSL used.Use this property to get next update date and time of the TSL used to obtain the qualified status of the certificate. | |
TSLPolicies: Contains XML content of policies of the TSL used.Use this property to get XML content of multilingual policies of the TSL used to obtain the qualified status of the certificate. | |
TSLPolicies[lang]: Contains policies for the specified language of the TSL used.Use this property to get policies for the specified language code (e.g. 'en') of the TSL used to obtain the qualified status of the certificate. | |
TSLSchemeExtensions: Contains XML content of scheme extensions of the TSL used.Use this property to get XML content of scheme extensions of the TSL used to obtain the qualified status of the certificate. | |
TSLSchemeExtensions[Idx]: Contains XML content of scheme extension of the specified index of the TSL used.Use this property to get XML content of scheme extension of the specified index of the TSL used to obtain the qualified status of the certificate. | |
TSLSchemeInformationURI: Contains XML content of scheme information URI of the TSL used.Use this property to get XML content of multilingual scheme information URI of the TSL used to obtain the qualified status of the certificate. | |
TSLSchemeInformationURI[lang]: Contains scheme information URI for the specified language of the TSL used.Use this property to get scheme information URI for the specified language code (e.g. 'en') of the TSL used to obtain the qualified status of the certificate. | |
TSLSchemeName: Contains XML content of scheme name of the TSL used.Use this property to get XML content of multilingual scheme name of the TSL used to obtain the qualified status of the certificate. | |
TSLSchemeName[lang]: Contains scheme name for the specified language of the TSL used.Use this property to get scheme name for the specified language code (e.g. 'en') of the TSL used to obtain the qualified status of the certificate. | |
TSLSchemeOperatorAddress: Contains XML content of scheme operator address of the TSL used.Use this property to get XML content of scheme operator address of the TSL used to obtain the qualified status of the certificate. | |
TSLSchemeOperatorName: Contains XML content of scheme operator name of the TSL used.Use this property to get XML content of multilingual scheme operator name of the TSL used to obtain the qualified status of the certificate. | |
TSLSchemeOperatorName[lang]: Contains scheme operator name for the specified language of the TSL used.Use this property to get scheme operator name for the specified language code (e.g. 'en') of the TSL used to obtain the qualified status of the certificate. | |
TSLSchemeTerritory: Contains scheme territory of the TSL used.Use this property to get scheme territory of the TSL used to obtain the qualified status of the certificate. | |
TSLSchemeTypeCommunityRules: Contains XML content of scheme type/community/rules of the TSL used.Use this property to get XML content of multilingual scheme type/community/rules of the TSL used to obtain the qualified status of the certificate. | |
TSLSchemeTypeCommunityRules[lang]: Contains scheme type/community/rules for the specified language of the TSL used.Use this property to get scheme type/community/rules for the specified language code (e.g. 'en') of the TSL used to obtain the qualified status of the certificate. | |
TSLSequenceNumber: Contains sequence number of the TSL used.Use this property to get sequence number of the TSL used to obtain the qualified status of the certificate. | |
TSLsRetrieveLog: Contains the complete log of the TSLs retrieve.Use this property to access the TSLs retrieve log produced by the component. The log can be very useful when investigating issues with TSL retrieve. | |
TSLStatusDeterminationApproach: Contains status determination approach of the TSL used.Use this property to get status determination approach of the TSL used to obtain the qualified status of the certificate. | |
TSLsValidationLog: Contains the complete log of the TSLs validation.Use this property to access the TSLs validation log produced by the component. The log can be very useful when investigating issues with TSL validation. | |
TSLTSPAdditionalServiceInformation: Contains addtional service information of the TSP service used.Use this property to get the list of addtional service information of the TSP (Trust Service Provider) service used to obtain the qualified status of the certificate. The URIs list is comma-separated. | |
TSLTSPAddress: Contains XML content of the address of the TSP used.Use this property to get XML content of the address of the TSP (Trust Service Provider) used to obtain the qualified status of the certificate. | |
TSLTSPHistoryInstance: Indicates that TSP service history instance used.Indicates whether or not the qualified status was obtained from the TSP (Trust Service Provider) service history instance. | |
TSLTSPHistoryInstanceAdditionalServiceInformation: Contains addtional service information of the TSP service history instance used.Use this property to get the list of addtional service information of the history instance of the TSP (Trust Service Provider) service used to obtain the qualified status of the certificate. The URIs list is comma-separated. | |
TSLTSPHistoryInstanceQualifiers: Contains list of qualifiers of the TSP service history instance used.Use this property to get the list of qualifiers of the history instance of the TSP (Trust Service Provider) service used to obtain the qualified status of the certificate. The URIs list is comma-separated. | |
TSLTSPHistoryInstanceServiceInformationExtensions: Contains XML content of information extensions of the TSP service history instance used.Use this property to get XML content of information extensions of the history instance of the TSP (Trust Service Provider) service used to obtain the qualified status of the certificate. | |
TSLTSPHistoryInstanceServiceInformationExtensions[Idx]: Contains XML content of information extension of the specified index of the TSP service history instance used.Use this property to get XML content of information extension of the specified index of the history instance of the TSP (Trust Service Provider) service used to obtain the qualified status of the certificate. | |
TSLTSPHistoryInstanceServiceName: Contains XML content of name of the TSP service history instance used.Use this property to get XML content of multilingual name of the history instance of the TSP (Trust Service Provider) service used to obtain the qualified status of the certificate. | |
TSLTSPHistoryInstanceServiceName[lang]: Contains name for the specified language of the TSP service history instance used.Use this property to get the name for the specified language code (e.g. 'en') of the history instance of the TSP (Trust Service Provider) service used to obtain the qualified status of the certificate. | |
TSLTSPHistoryInstanceServiceStatus: Contains status of the TSP service history instance used.Use this property to get the status of the history instance of the TSP (Trust Service Provider) service used to obtain the qualified status of the certificate. | |
TSLTSPHistoryInstanceServiceStatusStartingTime: Contains status starting time of the TSP service history instance used.Use this property to get the status starting time of the history instance of the TSP (Trust Service Provider) service used to obtain the qualified status of the certificate. | |
TSLTSPHistoryInstanceServiceTypeIdentifier: Contains type identifier of the TSP service history instance used.Use this property to get type identifier of the history instance of the TSP (Trust Service Provider) service used to obtain the qualified status of the certificate. | |
TSLTSPHistoryInstanceXML: Contains XML content of the TSP service history instance used.Use this property to get XML content of the history instance of the TSP (Trust Service Provider) service used to obtain the qualified status of the certificate. | |
TSLTSPInformationExtensions: Contains XML content of information extensions of the TSP used.Use this property to get XML content of information extensions of the TSP (Trust Service Provider) used to obtain the qualified status of the certificate. | |
TSLTSPInformationExtensions[Idx]: Contains XML content of information extension of the specified index of the TSP used.Use this property to get XML content of information extension of the specified index of the TSP (Trust Service Provider) used to obtain the qualified status of the certificate. | |
TSLTSPInformationURI: Contains XML content of information URI of the TSP used.Use this property to get XML content of multilingual information URI of the TSP (Trust Service Provider) used to obtain the qualified status of the certificate. | |
TSLTSPInformationURI[lang]: Contains information URI for the specified language of the TSP used.Use this property to get the information URI for the specified language code (e.g. 'en') of the TSP (Trust Service Provider) used to obtain the qualified status of the certificate. | |
TSLTSPName: Contains XML content of name of the TSP used.Use this property to get XML content of multilingual name of the TSP (Trust Service Provider) used to obtain the qualified status of the certificate. | |
TSLTSPName[lang]: Contains name for the specified language of the TSP used.Use this property to get the name for the specified language code (e.g. 'en') of the TSP (Trust Service Provider) used to obtain the qualified status of the certificate. | |
TSLTSPSchemeServiceDefinitionURI: Contains XML content of scheme service definition URI of the TSP service used.Use this property to get XML content of multilingual scheme service definition URI of the TSP (Trust Service Provider) service used to obtain the qualified status of the certificate. | |
TSLTSPSchemeServiceDefinitionURI[lang]: Contains scheme service definition URI for the specified language of the TSP service used.Use this property to get the scheme service definition URI for the specified language code (e.g. 'en') of the TSP (Trust Service Provider) service used to obtain the qualified status of the certificate. | |
TSLTSPServiceDefinitionURI: Contains XML content of definition URI of the TSP service used.Use this property to get XML content of multilingual definition URI of the TSP (Trust Service Provider) service used to obtain the qualified status of the certificate. | |
TSLTSPServiceDefinitionURI[lang]: Contains definition URI for the specified language of the TSP service used.Use this property to get the definition URI for the specified language code (e.g. 'en') of the TSP (Trust Service Provider) service used to obtain the qualified status of the certificate. | |
TSLTSPServiceInformationExtensions: Contains XML content of information extensions of the TSP service used.Use this property to get XML content of information extensions of the TSP (Trust Service Provider) service used to obtain the qualified status of the certificate. | |
TSLTSPServiceInformationExtensions[Idx]: Contains XML content of information extension of the specified index of the TSP service used.Use this property to get XML content of information extension of the specified index of the TSP (Trust Service Provider) service used to obtain the qualified status of the certificate. | |
TSLTSPServiceName: Contains XML content of name of the TSP service used.Use this property to get XML content of multilingual name of the TSP (Trust Service Provider) service used to obtain the qualified status of the certificate. | |
TSLTSPServiceName[lang]: Contains name for the specified language of the TSP service used.Use this property to get the name for the specified language code (e.g. 'en') of the TSP (Trust Service Provider) service used to obtain the qualified status of the certificate. | |
TSLTSPServiceQualifiers: Contains list of qualifiers of the TSP service used.Use this property to get the list of qualifiers of the TSP (Trust Service Provider) service used to obtain the qualified status of the certificate. The URIs list is comma-separated. | |
TSLTSPServiceStatus: Contains status of the TSP service used.Use this property to get the status of the TSP (Trust Service Provider) service used to obtain the qualified status of the certificate. | |
TSLTSPServiceStatusStartingTime: Contains status starting time of the TSP service used.Use this property to get the status starting time of the TSP (Trust Service Provider) service used to obtain the qualified status of the certificate. | |
TSLTSPServiceSupplyPoints: Contains XML content of the supply points of the TSP service used.Use this property to get XML content of the supply points of the TSP (Trust Service Provider) service used to obtain the qualified status of the certificate. | |
TSLTSPServiceTypeIdentifier: Contains type identifier of the TSP service used.Use this property to get type identifier of the TSP (Trust Service Provider) service used to obtain the qualified status of the certificate. | |
TSLTSPServiceXML: Contains XML content of the TSP service used.Use this property to get XML content of the TSP (Trust Service Provider) service used to obtain the qualified status of the certificate. | |
TSLTSPTradeName: Contains XML content of trade name of the TSP used.Use this property to get XML content of multilingual trade name of the TSP (Trust Service Provider) used to obtain the qualified status of the certificate. | |
TSLTSPTradeName[lang]: Contains trade name for the specified language of the TSP used.Use this property to get the trade name for the specified language code (e.g. 'en') of the TSP (Trust Service Provider) used to obtain the qualified status of the certificate. | |
TSLTSPXML: Contains XML content of the TSP used.Use this property to get XML content of the TSP (Trust Service Provider) used to obtain the qualified status of the certificate. | |
TSLType: Contains TSL type of the TSL used.Use this property to get TSL type of the TSL used to obtain the qualified status of the certificate. | |
TSLVersionIdentifier: Contains version identifier of the TSL used.Use this property to get version identifier of the TSL used to obtain the qualified status of the certificate. | |
TSLXML: Contains XML content of the TSL used.Use this property to get XML content of the TSL used to obtain the qualified status of the certificate. | |
UseDefaultTSLs:
Enables or disables the use of the default TSLs.Use this property to tell the validator to use (or not to use) the default TSLs (Trust Service status Lists).
The result of this check reported in Qualified property.
The following default TSLs are used: EU (European Union) LOTL (list of trusted lists). |
|
UseMicrosoftCTL: Enables or disables automatic use of Microsoft online certificate trust list.Enable this property to make the chain validation module automatically look up missing CA certificates in the public Windows Update repository. | |
UseSystemCertificates: Enables or disables the use of the system certificates.Use this property to tell chain validation module automatically look up missing CA certificates in the system certificates. In many cases it is beneficial to switch this property on, as the operating system certificate configuration provides a representative trust framework. |
Base Configuration Settings
CheckKeyIntegrityBeforeUse:
Enables or disable private key integrity check before use.This global property enables or disables private key material check before each signing operation. This slows down performance a bit,
but prevents a selection of attacks on RSA keys where keys with unknown origins are used.
You can switch this property off to improve performance if your project only uses known, good private keys. |
|||||||||||||||||||||||||||||||
CookieCaching:
Specifies whether a cookie cache should be used for HTTP(S) transports.Set this property to enable or disable cookies caching for the component.
Supported values are:
|
|||||||||||||||||||||||||||||||
Cookies: Gets or sets local cookies for the component (supported for HTTPClient, RESTClient and SOAPClient only).Use this property to get cookies from the internal cookie storage of the component and/or restore them back between application sessions. | |||||||||||||||||||||||||||||||
DefDeriveKeyIterations: Specifies the default key derivation algorithm iteration count.This global property sets the default number of iterations for all supported key derivation algorithms. Note that you can provide the required number of iterations by using properties of the relevant key generation component; this global setting is used in scenarios where specific iteration count is not or cannot be provided. | |||||||||||||||||||||||||||||||
EnableClientSideSSLFFDHE:
Enables or disables finite field DHE key exchange support in TLS clients.This global property enables or disables support for finite field DHE key exchange methods in TLS clients. FF DHE is a slower
algorithm if compared to EC DHE; enabling it may result in slower connections.
This setting only applies to sessions negotiated with TLS version 1.3. |
|||||||||||||||||||||||||||||||
GlobalCookies: Gets or sets global cookies for all the HTTP transports.Use this property to get cookies from the GLOBAL cookie storage or restore them back between application sessions. These cookies will be used by all the components that have its CookieCaching property set to "global". | |||||||||||||||||||||||||||||||
HttpUserAgent: Specifies the user agent name to be used by all HTTP clients.This global setting defines the User-Agent field of the HTTP request provides information about the software that initiates the request. This value will be used by all the HTTP clients including the ones used internally in other components. | |||||||||||||||||||||||||||||||
LogDestination:
Specifies the debug log destination.Contains a comma-separated list of values that specifies where debug log should be dumped.
Supported values are:
|
|||||||||||||||||||||||||||||||
LogDetails:
Specifies the debug log details to dump.Contains a comma-separated list of values that specifies which debug log details to dump.
Supported values are:
|
|||||||||||||||||||||||||||||||
LogFile: Specifies the debug log filename.Use this property to provide a path to the log file. | |||||||||||||||||||||||||||||||
LogFilters:
Specifies the debug log filters.Contains a comma-separated list of value pairs ("name:value") that describe filters.
Supported filter names are:
|
|||||||||||||||||||||||||||||||
LogFlushMode:
Specifies the log flush mode.Use this property to set the log flush mode. The following values are defined:
|
|||||||||||||||||||||||||||||||
LogLevel:
Specifies the debug log level.Use this property to provide the desired debug log level.
Supported values are:
|
|||||||||||||||||||||||||||||||
LogMaxEventCount:
Specifies the maximum number of events to cache before further action is taken.Use this property to specify the log event number threshold. This threshold may have different effects,
depending on the rotation setting and/or the flush mode.
The default value of this setting is 100. |
|||||||||||||||||||||||||||||||
LogRotationMode:
Specifies the log rotation mode.Use this property to set the log rotation mode. The following values are defined:
|
|||||||||||||||||||||||||||||||
MaxASN1BufferLength: Specifies the maximal allowed length for ASN.1 primitive tag data.This global property limits the maximal allowed length for ASN.1 tag data for non-content-carrying structures, such as certificates, CRLs, or timestamps. It does not affect structures that can carry content, such as CMS/CAdES messages. This is a security property aiming at preventing DoS attacks. | |||||||||||||||||||||||||||||||
MaxASN1TreeDepth: Specifies the maximal depth for processed ASN.1 trees.This global property limits the maximal depth of ASN.1 trees that the component can handle without throwing an error. This is a security property aiming at preventing DoS attacks. | |||||||||||||||||||||||||||||||
OCSPHashAlgorithm: Specifies the hash algorithm to be used to identify certificates in OCSP requests.This global setting defines the hash algorithm to use in OCSP requests during chain validation. Some OCSP responders can only use older algorithms, in which case setting this property to SHA1 may be helpful. | |||||||||||||||||||||||||||||||
Tag: Allows to store any custom data.Use this config property to store any custom data. | |||||||||||||||||||||||||||||||
UseSharedSystemStorages: Specifies whether the validation engine should use a global per-process copy of the system certificate stores.Set this global property to false to make each validation run use its own copy of system certificate stores. | |||||||||||||||||||||||||||||||
UseSystemOAEPAndPSS:
Enforces or disables the use of system-driven RSA OAEP and PSS computations.This global setting defines who is responsible for performing RSA-OAEP and RSA-PSS computations where the private key is stored in a Windows system store and is exportable.
If set to true, SBB will delegate the computations to Windows via a CryptoAPI call. Otherwise, it will export the key material and perform the computations
using its own OAEP/PSS implementation.
This setting only applies to certificates originating from a Windows system store. |
|||||||||||||||||||||||||||||||
UseSystemRandom: Enables or disables the use of the OS PRNG.Use this global property to enable or disable the use of operating system-driven pseudorandom number generation. |
Trappable Errors (PDFVerifier Component)
PDFVerifier Errors
1048577 Invalid parameter value (SB_ERROR_INVALID_PARAMETER) | |
1048578 Component is configured incorrectly (SB_ERROR_INVALID_SETUP) | |
1048579 Operation cannot be executed in the current state (SB_ERROR_INVALID_STATE) | |
1048580 Attempt to set an invalid value to a property (SB_ERROR_INVALID_VALUE) | |
1048581 Certificate does not have its private key loaded (SB_ERROR_NO_PRIVATE_KEY) | |
1048581 Cancelled by the user (SB_ERROR_CANCELLED_BY_USER) | |
26214401 Input file does not exist (SB_ERROR_PDF_INPUTFILE_NOT_EXISTS) | |
26214402 Document is encrypted (SB_ERROR_PDF_ENCRYPTED) | |
26214403 Document not encrypted (SB_ERROR_PDF_NOT_ENCRYPTED) | |
26214404 Unknown certificate type (SB_ERROR_PDF_UNKNOWN_ENCRYPTION_TYPE) | |
26214405 Invalid password (SB_ERROR_PDF_INVALID_PASSWORD) | |
26214406 Decryption failed (SB_ERROR_PDF_DECRYPTION_FAILED) | |
26214407 Document is signed (SB_ERROR_PDF_SIGNED) | |
26214408 Document is not signed (SB_ERROR_PDF_NOT_SIGNED) | |
26214409 Inappropriate signature (SB_ERROR_PDF_INAPPROPRIATE_SIGNATURE) | |
26214410 Not supported (SB_ERROR_PDF_NOT_SUPPORTED) |