XAdESSigner Component
Properties Methods Events Config Settings Errors
The XAdESSigner component creates XAdES-compliant signature files.
Syntax
TsbxXAdESSigner
Remarks
XAdESSigner can sign XML documents in accordance with XAdES standard. Originally developed and adopted in the European Union, XAdES has quickly become a recognized international standard for signing XML documents. XAdES provides a convenient framework for creating short-lived and long-term signatures over any kind of XML documents, and is now used by governments, healthcare providers, banks, and independent service providers all across the globe.
Standards and technologies supported
XAdESSigner offers the following signing capabilities:
- Create and upgrade XAdES signatures in accordance with the most recent XAdES specification (ETSI EN 319 132). Earlier versions are also supported.
- All profiles are supported (BES, EPES, T, C, X, XL, A, including the Extended variants).
- Timestamping using external TSAs.
- All industry-standard cryptographic algorithms (RSA, ECDSA, SHA256-512, and many others).
Configuring the signature parameters
Configuring XAdESSigner to make it produce a signature of the right type is the main task you would need to perform in your code. Normally the service or software you will be communicating your XML documents to will provide you with the list of requirements that your signatures should match.
Typically, those will dictate the following key aspects of the signatures:
- The signature Form, sometimes referred to as Level (such BES, T, XL, A, or Extended-XLong). This can be adjusted with the XAdESForm property.
- Whether the signature should be detached, enveloped, or enveloping: adjust via SignatureType property.
- When creating a timestamped signature (such as T or A), provide the address of your online TSA service via TimestampServer property.
- When creating long-term signatures that include the signing chain and validation material, tune up validation parameters via RevocationCheck, OfflineMode, and IgnoreChainValidationErrors properties.
In some circumstances you will also need to adjust the following lower-level settings:
- Choose a specific XAdES version between 1.4.1, 1.3.2, 1.2.2, and 1.1.1, and assign it to XAdESVersion property.
- Specify the needed canonicalization method using the CanonicalizationMethod property.
- Provide the hash algorithm via the HashAlgorithm property.
Signing certificates
XAdESSigner can use certificates residing on different media. Besides generic certificates stored in PFX or PEM files (A1), it can operate with non-exportable certificates residing on hardware media (A3) or in the cloud.
Non-exportable certificates can be accessed transparently via a Windows CSP or a PKCS#11 driver, if supplied by the certificate issuer. Proprietary interfaces can be plugged in with the external signing feature (see below).
You can use CertificateManager and CertificateStorage components to access the signing certificate. Assign the certificate to SigningCertificate property, and optionally provide the remainder of its chain via SigningChain property.
Note: If signing with a non-exportable key (such as residing on a hardware device or in the cloud), please make sure you keep the original CertificateStorage object open until the signing is completed. This is because the storage component provides a 'bridge' to the private key. If the storage is closed prematurely, this bridge is destroyed, and the private key can't be used.
You don't need to provide a signing certificate or chain when timestamping and upgrading signatures, since this type of operation does not involve the signing private key.
Signing the document
Now that you have set up all signature properties and attached the signing certificate, it is time to proceed to signing. You can provide the input document in one of the following forms: as a file (assign the path to InputFile property), as a stream (assign to InputStream property), or as a byte array (assign to InputBytes). Similarly, the output can be collected in one of the same forms, either by passing the destination path or stream via OutputFile and OutputStream respectively, or by reading the resulting document bytes from the OutputBytes property after the signing completes.
Having set up the input and output (unless using OutputBytes, which should be read later), call the component's Sign method. This will initiate the signing process. Depending on the settings, the signing may be as straightforward as calculating the document hash and signing it with the private key (e.g. in XAdES-BES variant), or it may involve advanced chain validation routines (XAdES-XL or -A). During the latter the component may contact a number of external revocation information sources (CRL and OCSP servers) to establish the validity of the signing certificate.
If a TSA server was provided via the TimestampServer property, the component will contact it too to timestamp the new signature.
During the signing XAdESSigner may fire events to let your code know of certain conditions. It may fire TLSCertValidate if one of the HTTP endpoints involved in the operation (which may be a CRL, OCSP, or TSA service) works over TLS and needs its certificate to be validated. It may also fire FormatElement and FormatText to let your code apply custom formatting to XML document elements. If XAdESSigner fails to resolve one of the references in the signature, it will fire ResolveReference to let your code help with resolving it.
When the signing operation completes, the output file, stream, or byte array will contain the signature of the requested kind. Note that while nveloped and enveloping signatures contain the signed content within them, detached signatures assume that you supply the original content separately.
Apart from signing, XAdESSigner can perform operations on signatures of other kinds. Use Upgrade method to upgrade an existing XAdES signature to a higher level (e.g. BES to XL). Use Timestamp to add a generic or validation timestamp to an existing signature.
External signing and DCAuth
XAdESSigner, like many other components offered by the product, supports two methods of signing with external keys. These methods are fully independent of each other: you can choose the one that suits your usage scenario best.
Synchronous method: ExternalSign
This is a simpler method that basically lets you infiltrate into the heart of the signing routine by taking care of the hash signing operation. The component does the rest of the job (hash calculation, preparation of signature objects, CRL/OCSP retrieval).
To initiate this method, call SignExternal instead of Sign. When the hash is ready, it will be passed back to your code with ExternalSign event. Your event handler needs to sign the hash with the private key and return the created signature back to the component - which will embed it into the document.
You don't need your signing certificate to contain an associated private key when using this method. The certificate itself (its public copy) may be needed though, as it is often included in the hash calculation.
This method is synchronous, meaning SignExternal provides you the results immediately upon its completion.
Asynchronous method: DCAuth
DCAuth is a SecureBlackbox-own know-how technology. This protocol was designed to allow sharing of private keys across environments, allowing the signer and the private key to reside on different systems. It works in the following way:
- The signing party - such as XAdESSigner - initiates the operation using SignAsyncBegin call. This produces two outcomes: a pre-signed document (a document with a blank signature placeholder), and a request state (an object containing a hash that needs to be signed). At this point the XAdESSigner instance can be released, and the process itself terminated (which may be useful when run as part of a web page).
- The request state is passed to the private key holder party. The private key holder passes the request state to a DCAuth object, which parses the request state, extracts the hash, and signs it. The output of DCAuth processing is another object, response state, which contains the signature. The private key holder then sends the response state back to the signing party.
- The signing party re-creates the controls, and passes the response state, together with the pre-signed version of the document, to the signer's SignAsyncEnd method. SignAsyncEnd extracts the signature from the response state and incorporates it into the pre-signed document.
This method is asynchronous in that sense that, from the signing party's viewpoint, it splits the signing operation into the pre-signing and completion stages which can be performed independently from each other and in different execution contexts. This makes this method particularly helpful for use in web pages and other scenarios where the signing key is not available in real time.
Fine-grained chain validation setup
Chain validation is a sophisticated, multi-faceted procedure that involves a lot of variables. Depending on the configuration of your operating environment, the specifics of the PKI framework being used, and the validation policy you need to follow, you may want to tune up your chain validation parameters so they fit them best. Below is given a summary of such parameters.
- RevocationCheck property lets you choose between and/or prioritize revocation origins. OCSP sources are often preferred to CRL because of their real-time capability and the smaller size of validation tokens they produce.
- OfflineMode is a master switch that stops component from looking for any validation tokens online. If this property is switched on, the component will only use KnownCertificates, TrustedCertificates, KnownCRLs, and KnownOCSPs collections to look for the missing validation material.
- IgnoreChainValidationErrors makes the component ignore any major validation issues it encounters (such us an untrusted chain or missing CRL). This option is handy for debugging and for creating signatures in the environments where the signing certificate is not trusted.
- KnownCertificates, KnownCRLs, and KnownOCSPs let you provide your own validation material. This may be useful when working in OfflineMode, where the signer has no access to the validation sources, or where the validation material has already been collected.
- TrustedCertificates lets you provide a list of trust anchors, either as a complement to the system's or as an alternative for it.
- BlockedCertificates lets you provide a list of blocked/distrusted certificates. Any CA certificate contained in it will be deemed untrusted/invalid.
The following parameters are not directly related to chain validation, but may have an implicit effect on it.
- Proxy, SocketSettings, and TLSSettings let you tune up the connectivity and TLS options in accordance with local preferences.
- TLSClientChain lets you provide the client certificate and its chain for TLS client authentication.
- Subscribe to TLSCertValidate to validate any TLS certificates of the services involved in chain validation.
The results of the chain validation procedure, upon its completion, are published in the following properties:
- ChainValidationResult contains the primary result of the chain validation routine: valid, valid but untrusted, invalid, or undefined.
- ChainValidationDetails provides the details of the factors that contributed to the chain validation result, such as an outdated certificate, a missing CRL, or a missing CA certificate.
- ValidationLog contains the detailed chain validation log. The log can often be very helpful in nailing down various validation issues.
Property List
The following is the full list of the properties of the component with short descriptions. Click on the links for further details.
AutoValidateSignatures | Specifies whether component should validate any present signatures when the document is opened. |
BlockedCertificates | The certificates that must be rejected as trust anchors. |
CRLs | A collection of certificate revocation lists embedded into the signature by the signer. |
DataBytes | Use this property to pass the external data to component in the byte array form. |
DataFile | A file containing the external data covered by a detached signature. |
DataType | Specifies the external data type. |
DataURI | Specifies a detached data resource URI. |
Encoding | Specifies XML encoding. |
ExternalCrypto | Provides access to external signing and DC parameters. |
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 | The XML document to sign. |
KnownCertificates | Additional certificates for chain validation. |
KnownCRLs | Additional CRLs for chain validation. |
KnownOCSPs | Additional OCSP responses for chain validation. |
NewSignature | Provides access to new signature properties. |
OCSPs | A collection of OCSP responses embedded into the signature. |
OfflineMode | Switches the component to the offline mode. |
OutputBytes | Use this property to read the output the component object has produced. |
OutputFile | Specifies the file where the signed document will be saved. |
Profile | Specifies a pre-defined profile to apply when creating the signature. |
Proxy | The proxy server settings. |
References | A list of references to the data to be signed. |
RevocationCheck | Specifies the kind(s) of revocation check to perform. |
Signatures | Provides details of all signatures found in the XML document. |
SigningCertificate | The certificate to be used for signing. |
SigningChain | The signing certificate chain. |
SocketSettings | Manages network connection settings. |
Timestamps | Contains a collection of timestamps for the processed document. |
TimestampServer | The address of the timestamping server. |
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. |
ValidationMoment | The time point at which signature validity is to be established. |
XPathNamespaces | Specifies namespaces for the XPath expression. |
Method List
The following is the full list of the methods of the component with short descriptions. Click on the links for further details.
AddDataReference | Creates a new XML reference to the specified data. |
AddReference | Creates a new XML reference to the specified XML element. |
AddTimestampValidationData | Use this method to add timestamp validation data to the signature. |
AddValidationDataRefs | Use this method to add signature validation references to the signature. |
AddValidationDataValues | Use this method to add signature validation values to the signature. |
Close | Closes an opened document. |
Config | Sets or retrieves a configuration setting. |
DoAction | Performs an additional action. |
ExtractAsyncData | Extracts user data from the DC signing service response. |
GetInnerXML | Get the inner XML content of the selected XML element. |
GetOuterXML | Get the outer XML content of the selected XML element. |
GetTextContent | Get the text content of the selected XML element. |
Open | Opens a document for signing or updating. |
Revalidate | Revalidates a signature in accordance with current settings. |
SetInnerXML | Set the inner XML content of the selected XML element. |
SetTextContent | Set the text content of the selected XML element. |
Sign | Signs an XML document. |
SignAsyncBegin | Initiates the asynchronous signing operation. |
SignAsyncEnd | Completes the asynchronous signing operation. |
SignExternal | Signs the document using an external signing facility. |
Timestamp | Use this method to add an timestamp. |
Upgrade | Upgrades existing XAdES signature to a new form. |
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 | Fires when there is a need to download a chain element from an online source. |
ChainElementNeeded | Fires when an element required to validate the chain was not located. |
ChainElementStore | This event is fired when a chain element (certificate, CRL, or OCSP response) should be stored along with a signature. |
ChainValidated | Reports the completion of a certificate chain validation. |
ChainValidationProgress | This event is fired multiple times during chain validation to report various stages of the validation procedure. |
DocumentLoaded | This event is fired when the document has been loaded into memory. |
Error | Information about errors during signing. |
ExternalSign | Handles remote or external signing initiated by the SignExternal method or other source. |
FormatElement | Reports the XML element that is currently being processed. |
FormatText | Reports XML text that is currently being processed. |
Notification | This event notifies the application about an underlying control flow event. |
ReferenceValidated | Marks the end of a reference validation. |
ResolveReference | Asks the application to resolve a reference. |
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. |
TimestampRequest | Fires when the component is ready to request a timestamp from an external TSA. |
TimestampValidated | Reports the completion of the timestamp validation routine. |
TLSCertNeeded | Fires when a remote TLS party requests a client certificate. |
TLSCertValidate | This event is fired upon receipt of the TLS server's certificate, allowing the user to control its acceptance. |
TLSEstablished | Fires when a TLS handshake with Host successfully completes. |
TLSHandshake | Fires when a new TLS handshake is initiated, before the handshake commences. |
TLSShutdown | Reports the graceful closure of a TLS connection. |
Config Settings
The following is a list of config settings for the component with short descriptions. Click on the links for further details.
ClaimedRoleText | The text of the claimed role. |
ClaimedRoleXML | The XML content of the claimed roles. |
CommitmentTypeIndicationAllSignedDataObjects[Index] | Specifies the CommitmentTypeIndication's AllSignedDataObjects. |
CommitmentTypeIndicationCount | The number of the CommitmentTypeIndication elements. |
CommitmentTypeIndicationIdentifier[Index] | Specifies the CommitmentTypeIndication's CommitmentTypeId's Identifier. |
CommitmentTypeIndicationIdentifierDescription[Index] | Specifies the CommitmentTypeIndication's CommitmentTypeId's Description. |
CommitmentTypeIndicationIdentifierDocumentationReferences[Index] | Specifies the CommitmentTypeIndication's CommitmentTypeId's DocumentationReferences. |
CommitmentTypeIndicationIdentifierQualifier[Index] | Specifies the CommitmentTypeIndication's CommitmentTypeId's IdentifierQualifier. |
CommitmentTypeIndicationObjectReference[Index] | Specifies the CommitmentTypeIndication's ObjectReference. |
CommitmentTypeIndicationQualifiersXML[Index] | The XML content of the CommitmentTypeIndication's Qualifiers. |
DataObjectFormatCount | The number of the DataObjectFormat elements. |
DataObjectFormatDescription[Index] | Specifies the DataObjectFormat's Description. |
DataObjectFormatEncoding[Index] | Specifies the DataObjectFormat's Encoding. |
DataObjectFormatMimeType[Index] | Specifies the DataObjectFormat's MimeType. |
DataObjectFormatObjectIdentifier[Index] | Specifies the DataObjectFormat's ObjectIdentifier's Identifier. |
DataObjectFormatObjectIdentifierDescription[Index] | Specifies the DataObjectFormat's ObjectIdentifier's Description. |
DataObjectFormatObjectIdentifierDocumentationReferences[Index] | Specifies the DataObjectFormat's ObjectIdentifier's DocumentationReferences. |
DataObjectFormatObjectIdentifierQualifier[Index] | Specifies the DataObjectFormat's ObjectIdentifier's IdentifierQualifier. |
DataObjectFormatObjectReference[Index] | Specifies the DataObjectFormat's ObjectReference. |
DetachedResourceURI | Specifies a detached resource URI. |
DislikeOpenEndedOCSPs | Tells the component to discourage OCSP responses without an explicit NextUpdate parameter. |
EnvelopingObjectEncoding | Specifies the enveloping object encoding. |
EnvelopingObjectID | Specifies the enveloping object identifier. |
EnvelopingObjectMimeType | Specifies the enveloping object MIME type. |
ExclusiveCanonicalizationPrefix | Specifies the exclusive canonicalization prefix. |
ForceCompleteChainValidation | Whether to check the 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. |
HMACKey | The key value for HMAC. |
HMACOutputLength | Sets the length of the HMAC output. |
IDAttributeName | Specifies the custom name of ID attribute. |
IDAttributeNamespaceURI | Specifies the custom namespace URI of ID attribute. |
IgnoreChainLoops | Whether chain loops should be ignored. |
IgnoreOCSPNoCheckExtension | Whether OCSP NoCheck extension should be ignored. |
IgnoreSystemTrust | Whether trusted Windows Certificate Stores should be treated as trusted. |
IgnoreTimestampFailure | Whether to ignore time-stamping failure during signing. |
ImplicitlyTrustSelfSignedCertificates | Whether to trust self-signed certificates. |
IncludeKey | Specifies whether to include the signing key to the signature. |
IncludeKeyValue | Specifies whether the key value must be included to the signature. |
IncludeKnownRevocationInfoToSignature | Whether to include custom revocation info to the signature. |
InclusiveNamespacesPrefixList | Specifies the InclusiveNamespaces PrefixList. |
InputType | Specifies the Input type. |
KeyInfoCustomXML | The custom XML content for KeyInfo element. |
KeyInfoDetails | Specifies the signing key info details to include to the signature. |
KeyInfoID | Specifies the ID for KeyInfo element. |
KeyName | Contains information about the key used for signing. |
ManifestCount | The number of the manifest elements. |
ManifestID[Index] | The ID of the manifest element. |
ManifestObjectIndex[Index] | The object element index to which the manifest element belongs. |
ManifestXML[Index] | The XML content of the manifest element. |
ObjectCount | The number of the object elements. |
ObjectEncoding[Index] | The Encoding of the object element. |
ObjectID[Index] | The ID of the object element. |
ObjectMimeType[Index] | The MIME type of the object element. |
ObjectSignaturePropertiesCount | The number of the signature properties elements. |
ObjectSignaturePropertiesID[Index] | The ID of the signature properties element. |
ObjectSignaturePropertiesObjectIndex[Index] | The object element index to which the signature properties element belongs. |
ObjectSignaturePropertiesXML[Index] | The XML content of the signature properties element. |
ObjectSignaturePropertyCount | The number of the signature property elements. |
ObjectSignaturePropertyID[Index] | The ID of the signature properties element. |
ObjectSignaturePropertyPropertiesIndex[Index] | The signature properties element index to which the signature property element belongs. |
ObjectSignaturePropertyTarget[Index] | The Target of the signature properties element. |
ObjectSignaturePropertyXML[Index] | The XML content of the signature property element. |
ObjectXML[Index] | The XML content of the object element. |
ProductionPlace | Identifies the place of the signature production. |
PromoteLongOCSPResponses | Whether long OCSP responses are requested. |
QualifyingPropertiesID | Specifies the ID for QualifyingProperties element. |
QualifyingPropertiesReferenceCount | The number of the QualifyingPropertiesReference elements. |
QualifyingPropertiesReferenceID[Index] | Specifies the QualifyingPropertiesReference's ID. |
QualifyingPropertiesReferenceURI[Index] | Specifies the QualifyingPropertiesReference's URI. |
RefsTimestampType | Specifies references timestamp type to include to the signature. |
SignatureCompliance | Specifies the signature compliance mode. |
SignatureID | Specifies the ID for Signature element. |
SignaturePrefix | Specifies the signature prefix. |
SignatureValue | Contains the SignatureValue. |
SignatureValueID | Specifies the ID for SignatureValue element. |
SignedInfoID | Specifies the ID for SignedInfo element. |
SignedPropertiesID | Specifies the ID for SignedProperties element. |
SignedPropertiesReferenceCanonicalizationMethod | Specifies the canonicalization method used in SignedProperties reference. |
SignedPropertiesReferenceHashAlgorithm | Specifies the hash algorithm used in SignedProperties reference. |
SignedPropertiesReferenceID | Specifies the ID for Reference element that points to SignedProperties element. |
SignedPropertiesReferenceInclusiveNamespacesPrefixList | Specifies the InclusiveNamespaces PrefixList used in SignedProperties reference. |
SignedPropertiesReferenceIndex | Specifies the index of SignedProperties reference. |
SignedSignaturePropertiesID | Specifies the ID for SignedSignatureProperties element. |
SigningCertificatesHashAlgorithm | Specifies the hash algorithm used for SigningCertificates. |
SigPolicyDescription | signature policy description. |
SigPolicyExplicitText | The explicit text of the user notice. |
SigPolicyHash | The hash value of the signature policy. |
SigPolicyHashAlgorithm | Specifies the hash algorithm used to compute the signature policy hash. |
SigPolicyID | Identifies the signature policy. |
SigPolicyNoticeNumbers | Contains user notice numbers. |
SigPolicyNoticeOrganization | The organization part of the NoticeReference qualifier. |
SigPolicyURI | Signature policy URI. |
TempPath | Location where the temporary files are stored. |
TimestampCanonicalizationMethod | Specifies canonicalization method used in timestamp. |
TimestampValidationDataDetails | Specifies timestamp validation data details to include to the signature. |
TLSChainValidationDetails | Contains the advanced details of the TLS server certificate validation. |
TLSChainValidationResult | Contains the result of the TLS server certificate validation. |
TLSClientAuthRequested | Indicates whether the TLS server requests client authentication. |
TLSValidationLog | Contains the log of the TLS server certificate validation. |
TolerateMinorChainIssues | Whether to tolerate minor chain issues. |
TspHashAlgorithm | Sets a specific hash algorithm for use with the timestamping service. |
UseHMACSigning | Whether to use HMAC signing. |
UseMicrosoftCTL | Enables or disables automatic use of Microsoft online certificate trust list. |
UsePSS | Whether to use RSASSA-PSS algorithm. |
UseSystemCertificates | Enables or disables the use of the system certificates. |
UseValidationCache | Enables or disable the use of the product-wide certificate chain validation cache. |
ValidationDataRefsDetails | Specifies validation data references details to include to the signature. |
ValidationDataRefsHashAlgorithm | Specifies the hash algorithm used in validation data references. |
ValidationDataValuesDetails | Specifies validation data values details to include to the signature. |
WriteBOM | Specifies whether byte-order mark should be written when saving the document. |
XAdESPrefix | Specifies the XAdES prefix. |
XAdESv141Prefix | Specifies the XAdES v1.4.1 prefix. |
XMLFormatting | Specifies the signature XML formatting. |
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. |
StaticDNS | Specifies whether static DNS rules should be used. |
StaticIPAddress[domain] | Gets or sets an IP address for the specified domain name. |
StaticIPAddresses | Gets or sets all the static DNS rules. |
Tag | Allows to store any custom data. |
UseOwnDNSResolver | Specifies whether the client components should use own DNS resolver. |
UseSharedSystemStorages | Specifies whether the validation engine should use a global per-process copy of the system certificate stores. |
UseSystemOAEPAndPSS | Enforces or disables the use of system-driven RSA OAEP and PSS computations. |
UseSystemRandom | Enables or disables the use of the OS PRNG. |
AutoValidateSignatures Property (XAdESSigner Component)
Specifies whether component should validate any present signatures when the document is opened.
Syntax
property AutoValidateSignatures: Boolean read get_AutoValidateSignatures write set_AutoValidateSignatures;
Default Value
false
Remarks
This setting is switched off by default to speed up document processing. Even if the document is loaded with this property set to false, you can validate the signatures manually on a later stage using the Revalidate method.
BlockedCertificates Property (XAdESSigner Component)
The certificates that must be rejected as trust anchors.
Syntax
property BlockedCertificates: TsbxCertificateList read get_BlockedCertificates write set_BlockedCertificates;
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.
CRLs Property (XAdESSigner Component)
A collection of certificate revocation lists embedded into the signature by the signer.
Syntax
property CRLs: TsbxCRLList read get_CRLs;
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.
DataBytes Property (XAdESSigner Component)
Use this property to pass the external data to component in the byte array form.
Syntax
property DataBytes: TBytes read get_DataBytes write set_DataBytes;
Remarks
Assign a byte array containing the external data to be processed to this property.
This property is not available at design time.
DataFile Property (XAdESSigner Component)
A file containing the external data covered by a detached signature.
Syntax
property DataFile: String read get_DataFile write set_DataFile;
Default Value
''
Remarks
In the case of a detached signature, use this property to provide the external data to the component from a file. Alternatively, provide the data via DataStream.
DataType Property (XAdESSigner Component)
Specifies the external data type.
Syntax
property DataType: TsbxXMLDataTypes read get_DataType write set_DataType;
TsbxXMLDataTypes = ( cxdtXML, cxdtBinary, cxdtBase64 );
Default Value
cxdtXML
Remarks
Use this property to specify the type of the external data (either DataFile, DataStream or DataBytes properties) for component.
DataURI Property (XAdESSigner Component)
Specifies a detached data resource URI.
Syntax
property DataURI: String read get_DataURI write set_DataURI;
Default Value
''
Remarks
Specifies a URI used for data being signed, usually the data filename if stored along with a detached signature.
Encoding Property (XAdESSigner Component)
Specifies XML encoding.
Syntax
property Encoding: String read get_Encoding write set_Encoding;
Default Value
''
Remarks
Use this property to specify the encoding to apply to the XML documents.
ExternalCrypto Property (XAdESSigner Component)
Provides access to external signing and DC parameters.
Syntax
property ExternalCrypto: TsbxExternalCrypto read get_ExternalCrypto;
Remarks
Use this property to tune-up remote cryptography settings. SecureBlackbox supports two independent types of external cryptography: synchronous (based on OnExternalSign event) and asynchronous (based on DC protocol and DCAuth signing component).
This property is read-only.
FIPSMode Property (XAdESSigner Component)
Reserved.
Syntax
property FIPSMode: Boolean read get_FIPSMode write set_FIPSMode;
Default Value
false
Remarks
This property is reserved for future use.
IgnoreChainValidationErrors Property (XAdESSigner Component)
Makes the component tolerant to chain validation errors.
Syntax
property IgnoreChainValidationErrors: Boolean read get_IgnoreChainValidationErrors write set_IgnoreChainValidationErrors;
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 (XAdESSigner Component)
Use this property to pass the input to component in the byte array form.
Syntax
property InputBytes: TBytes read get_InputBytes write set_InputBytes;
Remarks
Assign a byte array containing the data to be processed to this property.
This property is not available at design time.
InputFile Property (XAdESSigner Component)
The XML document to sign.
Syntax
property InputFile: String read get_InputFile write set_InputFile;
Default Value
''
Remarks
Provide a path to the XML file to sign.
KnownCertificates Property (XAdESSigner Component)
Additional certificates for chain validation.
Syntax
property KnownCertificates: TsbxCertificateList read get_KnownCertificates write set_KnownCertificates;
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 (XAdESSigner Component)
Additional CRLs for chain validation.
Syntax
property KnownCRLs: TsbxCRLList read get_KnownCRLs write set_KnownCRLs;
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 (XAdESSigner Component)
Additional OCSP responses for chain validation.
Syntax
property KnownOCSPs: TsbxOCSPResponseList read get_KnownOCSPs write set_KnownOCSPs;
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.
NewSignature Property (XAdESSigner Component)
Provides access to new signature properties.
Syntax
property NewSignature: TsbxXAdESSignature read get_NewSignature;
Remarks
Use this property to tune-up signature properties.
This property is read-only and not available at design time.
OCSPs Property (XAdESSigner Component)
A collection of OCSP responses embedded into the signature.
Syntax
property OCSPs: TsbxOCSPResponseList read get_OCSPs;
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 (XAdESSigner Component)
Switches the component to the offline mode.
Syntax
property OfflineMode: Boolean read get_OfflineMode write set_OfflineMode;
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.
OutputBytes Property (XAdESSigner Component)
Use this property to read the output the component object has produced.
Syntax
property OutputBytes: TBytes read get_OutputBytes;
Remarks
Read the contents of this property after the operation is completed to read the produced output. This property will only be set if OutputFile and OutputStream properties had not been assigned.
This property is read-only and not available at design time.
OutputFile Property (XAdESSigner Component)
Specifies the file where the signed document will be saved.
Syntax
property OutputFile: String read get_OutputFile write set_OutputFile;
Default Value
''
Remarks
Provide the full path to the file where the signed document should be saved.
Profile Property (XAdESSigner Component)
Specifies a pre-defined profile to apply when creating the signature.
Syntax
property Profile: String read get_Profile write set_Profile;
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.
Supported profiles:
"ES.Factura" | Spanish Factura Electronica | |
"BR.AD_RB_v2_3" | Brazilian signature with Basic Reference (AD-RB) version 2.3 | |
"BR.AD_RB_v2_4" | Brazilian signature with Basic Reference (AD-RB) version 2.4 | |
"BR.AD_RT_v2_3" | Brazilian signature with Time Reference (AD-RT) version 2.3 | |
"BR.AD_RT_v2_4" | Brazilian signature with Time Reference (AD-RT) version 2.4 | |
"BR.AD_RV_v2_3" | Brazilian signature with References for Validation (AD-RV) version 2.3 | |
"BR.AD_RV_v2_4" | Brazilian signature with References for Validation (AD-RV) version 2.4 | |
"BR.AD_RC_v2_3" | Brazilian signature with Complete References (AD-RC) version 2.3 | |
"BR.AD_RC_v2_4" | Brazilian signature with Complete References (AD-RC) version 2.4 | |
"BR.AD_RA_v2_3" | Brazilian signature with References for Archiving (AD-RA) version 2.3 | |
"BR.AD_RA_v2_4" | Brazilian signature with References for Archiving (AD-RA) version 2.4 | |
"XAdES.BASELINE-B" | XAdES B-B level (ETSI TS 103 171 v2.1.1 Baseline Profile) | |
"XAdES.BASELINE-T" | XAdES B-T level | |
"XAdES.BASELINE-LT" | XAdES B-LT level | |
"XAdES.BASELINE-LTA" | XAdES B-LTA level | |
"XAdES.BASELINE-E-B" | Extended XAdES B-B level (ETSI EN 319 132-1 v1.1.1 Building Blocks and Baseline, ETSI EN 319 132-2 v1.1.1 extended XAdES) | |
"XAdES.BASELINE-E-T" | Extended XAdES B-T level | |
"XAdES.BASELINE-E-LT" | Extended XAdES B-LT level | |
"XAdES.BASELINE-E-LTA" | Extended XAdES B-LTA level | |
"XAdES.CounterSignature" | Adds XAdES countersignature (supported in XML and XAdES signer control) |
"ES.Factura" profile equivalent to the following settings:
using (XMLReference Ref = new XMLReference())
{
Ref.ID = "Reference-1";
Ref.TargetXMLElement = "";
Ref.UseEnvelopedSignatureTransform = true;
Control.References.Add(Ref);
}
using (XMLReference Ref = new XMLReference())
{
Ref.URI = "#KeyInfo-1";
Control.References.Add(Ref);
}
Control.XAdESVersion = XadessignerXAdESVersions.xav132;
Control.XAdESForm = XadessignerXAdESForms.xafEPES;
Control.Config("KeyInfoDetails=certificate");
Control.Config("KeyInfoID=KeyInfo-1");
Control.Config("ClaimedRoleText=emisor");
Control.Config("SigPolicyId=http://www.facturae.es/politica_de_firma_formato_facturae/politica_de_firma_formato_facturae_v3_1.pdf");
Control.Config("SigPolicyDescription=Pol" + "\u00ED" + "tica de Firma FacturaE v3.1");
Control.Config("SigPolicyHash=3a18b197aba90fa6aff0dee912f0c006110bea13");
Control.Config("SigPolicyHashAlgorithm=SHA1");
Control.Config("DataObjectFormatObjectReference=#Reference-1");
Control.Config("DataObjectFormatMimeType=text/xml");
Control.Config("DataObjectFormatDescription=Factura electr" + "\u00F3" + "nica");
"XAdES.BASELINE-B" profile equivalent to the following settings:
using (XMLReference Ref = new XMLReference())
{
Ref.ID = "Reference-1";
Ref.TargetXMLElement = "";
Ref.UseEnvelopedSignatureTransform = true;
Control.References.Add(Ref);
}
Control.XAdESVersion = XadessignerXAdESVersions.xav141;
Control.XAdESForm = XadessignerXAdESForms.xafBES;
Control.Config("DataObjectFormatObjectReference=#Reference-1");
Control.Config("DataObjectFormatMimeType=text/xml");
"XAdES.BASELINE-T" profile extends "XAdES.BASELINE-B" profile with the following settings:
Control.XAdESForm = XadessignerXAdESForms.xafT;
Control.TimestampServer = "https://freetsa.org/tsr";
"XAdES.BASELINE-LT" profile extends "XAdES.BASELINE-T" profile with the following settings:
Control.XAdESForm = XadessignerXAdESForms.xafXL;
Control.Config("RefsTimestampType=none");
Control.Config("ValidationDataRefsDetails=none");
"XAdES.BASELINE-LTA" profile extends "XAdES.BASELINE-LT" profile with the following settings:
Control.XAdESForm = XadessignerXAdESForms.xafA;
"XAdES.BASELINE-E-B" profile equivalent to the following settings:
using (XMLReference Ref = new XMLReference())
{
Ref.ID = "Reference-1";
Ref.TargetXMLElement = "";
Ref.UseEnvelopedSignatureTransform = true;
Control.References.Add(Ref);
}
Control.XAdESVersion = XadessignerXAdESVersions.xav141;
Control.XAdESForm = XadessignerXAdESForms.xafExtendedBES;
Control.Config("DataObjectFormatObjectReference=#Reference-1");
Control.Config("DataObjectFormatMimeType=text/xml");
"XAdES.BASELINE-E-T" profile extends "XAdES.BASELINE-E-B" profile with the following settings:
Control.XAdESForm = XadessignerXAdESForms.xafExtendedT;
Control.TimestampServer = "https://freetsa.org/tsr";
"XAdES.BASELINE-E-LT" profile extends "XAdES.BASELINE-E-T" profile with the following settings:
Control.XAdESForm = XadessignerXAdESForms.xafExtendedXL;
Control.Config("RefsTimestampType=none");
Control.Config("ValidationDataRefsDetails=none");
"XAdES.BASELINE-E-LTA" profile extends "XAdES.BASELINE-E-LT" profile with the following settings:
Control.XAdESForm = XadessignerXAdESForms.xafExtendedA;
"XAdES.CounterSignature" profile allows to add XAdES countersignature to the existent XAdES-BES or EPES signature. Use XMLElement property to specify existent XAdES signature. Sample code:
Control.Profile = "XAdES.CounterSignature";
Control.EnableXAdES = false;
Proxy Property (XAdESSigner Component)
The proxy server settings.
Syntax
property Proxy: TsbxProxySettings read get_Proxy;
Remarks
Use this property to tune up the proxy server settings.
This property is read-only.
References Property (XAdESSigner Component)
A list of references to the data to be signed.
Syntax
property References: TsbxXMLReferenceList read get_References write set_References;
Remarks
Electronic signature is computed over a set of data pieces. Each piece of data to be signed is specified by a reference.
This property is not available at design time.
RevocationCheck Property (XAdESSigner Component)
Specifies the kind(s) of revocation check to perform.
Syntax
property RevocationCheck: TsbxRevocationCheckKinds read get_RevocationCheck write set_RevocationCheck;
TsbxRevocationCheckKinds = ( crcNone, crcAuto, crcAllCRL, crcAllOCSP, crcAllCRLAndOCSP, crcAnyCRL, crcAnyOCSP, crcAnyCRLOrOCSP, crcAnyOCSPOrCRL );
Default Value
crcAuto
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.
Signatures Property (XAdESSigner Component)
Provides details of all signatures found in the XML document.
Syntax
property Signatures: TsbxXAdESSignatureList read get_Signatures;
Remarks
Use this property to get the details of all the signatures identified in the XML document.
This property is read-only and not available at design time.
SigningCertificate Property (XAdESSigner Component)
The certificate to be used for signing.
Syntax
property SigningCertificate: TsbxCertificate read get_SigningCertificate write set_SigningCertificate;
Remarks
Use this property to specify the certificate that shall be used for signing the data. Note that this certificate should have a private key associated with it. Use SigningChain to supply the rest of the certificate chain for inclusion into the signature.
This property is not available at design time.
SigningChain Property (XAdESSigner Component)
The signing certificate chain.
Syntax
property SigningChain: TsbxCertificateList read get_SigningChain write set_SigningChain;
Remarks
Use this property to provide the chain for the signing certificate. Use SigningCertificate property, if it is available, to provide the signing certificate itself.
This property is not available at design time.
SocketSettings Property (XAdESSigner Component)
Manages network connection settings.
Syntax
property SocketSettings: TsbxSocketSettings read get_SocketSettings;
Remarks
Use this property to tune up network connection parameters.
This property is read-only.
Timestamps Property (XAdESSigner Component)
Contains a collection of timestamps for the processed document.
Syntax
property Timestamps: TsbxTimestampInfoList read get_Timestamps;
Remarks
Use this property to access the timestamps included in the processed document.
This property is read-only and not available at design time.
TimestampServer Property (XAdESSigner Component)
The address of the timestamping server.
Syntax
property TimestampServer: String read get_TimestampServer write set_TimestampServer;
Default Value
''
Remarks
Use this property to set the address of the TSA (Time Stamping Authority) server which should be used for timestamping the signature.
TLSClientChain Property (XAdESSigner Component)
The TLS client certificate chain.
Syntax
property TLSClientChain: TsbxCertificateList read get_TLSClientChain write set_TLSClientChain;
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 (XAdESSigner Component)
The TLS server's certificate chain.
Syntax
property TLSServerChain: TsbxCertificateList read get_TLSServerChain;
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 (XAdESSigner Component)
Manages TLS layer settings.
Syntax
property TLSSettings: TsbxTLSSettings read get_TLSSettings;
Remarks
Use this property to tune up the TLS layer parameters.
This property is read-only.
TrustedCertificates Property (XAdESSigner Component)
A list of trusted certificates for chain validation.
Syntax
property TrustedCertificates: TsbxCertificateList read get_TrustedCertificates write set_TrustedCertificates;
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.
ValidationMoment Property (XAdESSigner Component)
The time point at which signature validity is to be established.
Syntax
property ValidationMoment: String read get_ValidationMoment write set_ValidationMoment;
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.
XPathNamespaces Property (XAdESSigner Component)
Specifies namespaces for the XPath expression.
Syntax
property XPathNamespaces: TsbxXMLNamespaceList read get_XPathNamespaces write set_XPathNamespaces;
Remarks
This property contains a list of prefixes and namespaceURIs that are used in XPath expression with XMLElement property, and with TargetXMLElement and XPathPrefixList properties of the references.
This property is not available at design time.
AddDataReference Method (XAdESSigner Component)
Creates a new XML reference to the specified data.
Syntax
function AddDataReference(DataURI: String; Data: TBytes): Integer;
Remarks
Use this method to add a reference to the custom data. Pass the reference's URI via DataURI parameter.
This method uses HashAlgorithm property to specify the hash algorithm of the reference.
The method returns the index of the new reference entry in the References collection.
AddReference Method (XAdESSigner Component)
Creates a new XML reference to the specified XML element.
Syntax
function AddReference(TargetXmlElement: String; CustomId: String; AutoGenerateId: Boolean): Integer;
Remarks
Use this method to add a reference to a particular XML element.
The reference's URI is set basing on the ID of the XML element. If the XML element doesn't have an ID then a CustomId value will be used. If CustomId is empty and AutoGenerateId is set, the ID will be generated automatically. An exception will be thrown otherwise.
This method uses CanonicalizationMethod and HashAlgorithm properties to specify the canonicalization method and hash algorithm of the reference.
The method returns the index of the new reference entry in the References collection.
AddTimestampValidationData Method (XAdESSigner Component)
Use this method to add timestamp validation data to the signature.
Syntax
procedure AddTimestampValidationData(SigIndex: Integer);
Remarks
Call this method to add certificates and revocation information used to validate timestamp's signer certificates at a particular time. This method could be called separately or in SignatureValidated event handler after successful signature validation.
AddValidationDataRefs Method (XAdESSigner Component)
Use this method to add signature validation references to the signature.
Syntax
procedure AddValidationDataRefs(SigIndex: Integer);
Remarks
Call this method to add references to certificates and revocation information used to validate a signature at a particular time. This method could be called separately or in SignatureValidated event handler after successful signature validation.
AddValidationDataValues Method (XAdESSigner Component)
Use this method to add signature validation values to the signature.
Syntax
procedure AddValidationDataValues(SigIndex: Integer);
Remarks
Call this method to add certificates and revocation information used to validate a signature at a particular time. This method could be called separately or in SignatureValidated event handler after successful signature validation.
Close Method (XAdESSigner Component)
Closes an opened document.
Syntax
procedure Close(SaveChanges: Boolean);
Remarks
Use this method to close a previously opened document. Set SaveChanges to true to apply any changes made.
Config Method (XAdESSigner Component)
Sets or retrieves a configuration setting.
Syntax
function Config(ConfigurationString: String): String;
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 (XAdESSigner Component)
Performs an additional action.
Syntax
function DoAction(ActionID: String; ActionParams: String): String;
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;....
ExtractAsyncData Method (XAdESSigner Component)
Extracts user data from the DC signing service response.
Syntax
function ExtractAsyncData(AsyncReply: String): String;
Remarks
Call this method before finalizing the asynchronous signing process to extract the data passed to the ExternalCrypto.Data property on the pre-signing stage.
The Data parameter can be used to pass some state or document identifier along with the signing request from the pre-signing to completion async stage.
GetInnerXML Method (XAdESSigner Component)
Get the inner XML content of the selected XML element.
Syntax
function GetInnerXML(XPath: String): String;
Remarks
Call this method to get the inner XML content of the selected XML element.
GetOuterXML Method (XAdESSigner Component)
Get the outer XML content of the selected XML element.
Syntax
function GetOuterXML(XPath: String): String;
Remarks
Call this method to get the outer XML content of the selected XML element.
GetTextContent Method (XAdESSigner Component)
Get the text content of the selected XML element.
Syntax
function GetTextContent(XPath: String): String;
Remarks
Call this method to get the text content of the selected XML element.
Open Method (XAdESSigner Component)
Opens a document for signing or updating.
Syntax
procedure Open();
Remarks
Use this method to open a document for signing or updating. When finished, call Close to complete or discard the operation.
Revalidate Method (XAdESSigner Component)
Revalidates a signature in accordance with current settings.
Syntax
procedure Revalidate(Index: Integer; Detached: Boolean);
Remarks
Use this method to re-validate a signature in the opened XML document.
SetInnerXML Method (XAdESSigner Component)
Set the inner XML content of the selected XML element.
Syntax
procedure SetInnerXML(XPath: String; Value: String);
Remarks
Call this method to set the inner XML content of the selected XML element.
SetTextContent Method (XAdESSigner Component)
Set the text content of the selected XML element.
Syntax
procedure SetTextContent(XPath: String; Value: String);
Remarks
Call this method to set the text content of the selected XML element.
Sign Method (XAdESSigner Component)
Signs an XML document.
Syntax
procedure Sign();
Remarks
Call this method to generate a signature over an XML document.
SignAsyncBegin Method (XAdESSigner Component)
Initiates the asynchronous signing operation.
Syntax
function SignAsyncBegin(): String;
Remarks
When using the DC framework, call this method to initiate the asynchronous signing process. Upon completion, a pre-signed copy of the document will be saved in OutputFile (or OutputStream). Keep the pre-signed copy somewhere local, and pass the returned string ('the request state') to the DC processor for handling.
Upon receiving the response state from the DC processor, assign the path to the pre-signed copy to InputFile (or InputStream), and call SignAsyncEnd to finalize the signing.
Note that depending on the signing method and DC configuration used, you may still need to provide the public part of the signing certificate via the SigningCertificate property.
Use the ExternalCrypto.AsyncDocumentID property to supply a unique document ID to include in the request. This is helpful when creating batches of multiple async requests, as it allows you to pass the whole response batch to SignAsyncEnd and expect it to recover the correct response from the batch automatically.
AsyncState is a message of the distributed cryptography (DC) protocol. DC protocol is based on exchange of async states between a DC client (an application that wants to sign a PDF, XML, or Office document) and a DC server (an application that controls access to the private key). An async state can carry one or more signing requests, comprised of document hashes, or one or more signatures produced over those hashes.
In a typical scenario you get a client-side async state from the SignAsyncBegin method. This state contains document hashes to be signed on the DC server side. You then send the async state to the DC server (often represented by the DCAuth control), which processes it and produces a matching signatures state. The async state produced by the server is then passed to the SignAsyncEnd method.
SignAsyncEnd Method (XAdESSigner Component)
Completes the asynchronous signing operation.
Syntax
procedure SignAsyncEnd(AsyncReply: String);
Remarks
When using the DC framework, call this method upon receiving the response state from the DC processor to complete the asynchronous signing process.
Before calling this method, assign the path to the pre-signed copy of the document obtained from prior SignAsyncBegin call to InputFile (or InputStream). The method will embed the signature into the pre-signed document, and save the complete signed document to OutputFile (or OutputStream).
Note that depending on the signing method and DC configuration used, you may still need to provide the public part of the signing certificate via the SigningCertificate property.
Use the ExternalCrypto.AsyncDocumentID parameter to pass a specific document ID if using batched AsyncReply. If used, it should match the value provided on the pre-signing (SignAsyncBegin) stage.
AsyncState is a message of the distributed cryptography (DC) protocol. DC protocol is based on exchange of async states between a DC client (an application that wants to sign a PDF, XML, or Office document) and a DC server (an application that controls access to the private key). An async state can carry one or more signing requests, comprised of document hashes, or one or more signatures produced over those hashes.
In a typical scenario you get a client-side async state from the SignAsyncBegin method. This state contains document hashes to be signed on the DC server side. You then send the async state to the DC server (often represented by the DCAuth control), which processes it and produces a matching signatures state. The async state produced by the server is then passed to the SignAsyncEnd method.
SignExternal Method (XAdESSigner Component)
Signs the document using an external signing facility.
Syntax
procedure SignExternal();
Remarks
Call this method to delegate the low-level signing operation to an external, remote, or custom signing engine. This method is useful if the signature has to be made by a device accessible through a custom or non-standard signing interface.
When all preparations are done and hash is computed, the component fires ExternalSign event which allows to pass the hash value for signing.
Timestamp Method (XAdESSigner Component)
Use this method to add an timestamp.
Syntax
procedure Timestamp(SigIndex: Integer; TimestampType: Integer);
Remarks
Call this method to timestamp the signature. Use the TimestampServer property to provide the address of the TSA (Time Stamping Authority) server which should be used for timestamping. This method could be called separately or in SignatureValidated event handler after successful signature validation. Use the TimestampType parameter to specify the type of timestamp to create
Supported timestamp types:
tstSignature | 12 | Signature timestamp |
tstRefsOnly | 13 | RefsOnly timestamp |
tstSigAndRefs | 14 | SigAndRefs timestamp |
tstArchive | 7 | Archive timestamp |
Upgrade Method (XAdESSigner Component)
Upgrades existing XAdES signature to a new form.
Syntax
procedure Upgrade(SigIndex: Integer; ToForm: Integer);
Remarks
XAdES standard defines a number of different 'forms' of signatures which can be used for different purposes. Use this method to upgrade XAdES signature to a new form specified by ToForm. Signatures can normally be upgraded from less sophisticated levels (BES, EPES) to more sophisticated (T, C, X, X-L, A).
Supported forms:
xafNone | 0 | |
xafBasic | 1 | XAdES form, supported by XAdES v1.1.1 |
xafBES | 2 | XAdES-BES form, supported starting from XAdES v1.2.2 |
xafEPES | 3 | XAdES-EPES form, supported starting from XAdES v1.2.2 |
xafT | 4 | XAdES-T form |
xafC | 5 | XAdES-C form |
xafX | 6 | XAdES-X form |
xafXL | 7 | XAdES-X-L form |
xafA | 8 | XAdES-A form |
xafExtendedBES | 9 | XAdES-E-BES form |
xafExtendedEPES | 10 | XAdES-E-EPES form |
xafExtendedT | 11 | XAdES-E-T form |
xafExtendedC | 12 | XAdES-E-C form |
xafExtendedX | 13 | XAdES-E-X form |
xafExtendedXLong | 14 | XAdES-E-X-Long form (type 1) |
xafExtendedXL | 15 | XAdES-E-X-L form (type 2) |
xafExtendedA | 16 | XAdES-E-A form |
ChainElementDownload Event (XAdESSigner Component)
Fires when there is a need to download a chain element from an online source.
Syntax
type TChainElementDownloadEvent = procedure ( Sender: TObject; Kind: Integer; const CertRDN: String; const CACertRDN: String; const Location: String; var Action: Integer ) of Object;
property OnChainElementDownload: TChainElementDownloadEvent read FOnChainElementDownload write FOnChainElementDownload;
Remarks
Subscribe to this event to be notified about validation element retrievals. Use Action parameter to suppress the download if required.
veaAuto | 0 | Handle the action automatically (the default behaviour) |
veaContinue | 1 | Accept the request implied by the event (accept the certificate, allow the object retrieval) |
veaReject | 2 | Reject the request implied by the event (reject the certificate, disallow the object retrieval) |
veaAcceptNow | 3 | Accept the validated certificate immediately |
veaAbortNow | 4 | Abort the validation, reject the certificate |
ChainElementNeeded Event (XAdESSigner Component)
Fires when an element required to validate the chain was not located.
Syntax
type TChainElementNeededEvent = procedure ( Sender: TObject; Kind: Integer; const CertRDN: String; const CACertRDN: String ) of Object;
property OnChainElementNeeded: TChainElementNeededEvent read FOnChainElementNeeded write FOnChainElementNeeded;
Remarks
Subscribe to this event to be notified about missing validation elements. Use the KnownCRLs, KnownCertificates, and KnownOCSPs properties in the event handler to provide the missing piece.
ChainElementStore Event (XAdESSigner Component)
This event is fired when a chain element (certificate, CRL, or OCSP response) should be stored along with a signature.
Syntax
type TChainElementStoreEvent = procedure ( Sender: TObject; Kind: Integer; Body: TBytes; var URI: String ) of Object;
property OnChainElementStore: TChainElementStoreEvent read FOnChainElementStore write FOnChainElementStore;
Remarks
This event could occur if you are verifying XAdES-C form or higher. The Body parameter contains the element in binary form that should be stored along with a signature. Use the URI parameter to provide an URI of the stored element.
ChainValidated Event (XAdESSigner Component)
Reports the completion of a certificate chain validation.
Syntax
type TChainValidatedEvent = procedure ( Sender: TObject; Index: Integer; const SubjectRDN: String; ValidationResult: Integer; ValidationDetails: Integer ) of Object;
property OnChainValidated: TChainValidatedEvent read FOnChainValidated write FOnChainValidated;
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 |
ChainValidationProgress Event (XAdESSigner Component)
This event is fired multiple times during chain validation to report various stages of the validation procedure.
Syntax
type TChainValidationProgressEvent = procedure ( Sender: TObject; const EventKind: String; const CertRDN: String; const CACertRDN: String; var Action: Integer ) of Object;
property OnChainValidationProgress: TChainValidationProgressEvent read FOnChainValidationProgress write FOnChainValidationProgress;
Remarks
Subscribe to this event to be notified about chain validation progress. Use Action parameter to alter the validation flow.
The EventKind parameter reports the nature of the event being reported. The CertRDN and CACertRDN report the distinguished names of the certificates that are relevant for the event invocation (one or both can be empty, depending on EventKind. Use Action parameter to adjust the validation flow.
veaAuto | 0 | Handle the action automatically (the default behaviour) |
veaContinue | 1 | Accept the request implied by the event (accept the certificate, allow the object retrieval) |
veaReject | 2 | Reject the request implied by the event (reject the certificate, disallow the object retrieval) |
veaAcceptNow | 3 | Accept the validated certificate immediately |
veaAbortNow | 4 | Abort the validation, reject the certificate |
DocumentLoaded Event (XAdESSigner Component)
This event is fired when the document has been loaded into memory.
Syntax
type TDocumentLoadedEvent = procedure ( Sender: TObject; var Cancel: Boolean ) of Object;
property OnDocumentLoaded: TDocumentLoadedEvent read FOnDocumentLoaded write FOnDocumentLoaded;
Remarks
The handler for this event is a good place to check document properties, which may be useful when preparing the signature, for example, the document format.
Set Cancel to true to terminate document processing on this stage.
Error Event (XAdESSigner Component)
Information about errors during signing.
Syntax
type TErrorEvent = procedure ( Sender: TObject; ErrorCode: Integer; const Description: String ) of Object;
property OnError: TErrorEvent read FOnError write FOnError;
Remarks
The event is fired in case of exceptional conditions during signing.
ErrorCode contains an error code and Description contains a textual description of the error. For a list of valid error codes and their descriptions, please refer to XML.
ExternalSign Event (XAdESSigner Component)
Handles remote or external signing initiated by the SignExternal method or other source.
Syntax
type TExternalSignEvent = procedure ( Sender: TObject; const OperationId: String; const HashAlgorithm: String; const Pars: String; const Data: String; var SignedData: String ) of Object;
property OnExternalSign: TExternalSignEvent read FOnExternalSign write FOnExternalSign;
Remarks
Assign a handler to this event if you need to delegate a low-level signing operation to an external, remote, or custom signing engine. Depending on the settings, the handler will receive a hashed or unhashed value to be signed.
The event handler must pass the value of Data to the signer, obtain the signature, and pass it back to the component via SignedData parameter.
OperationId provides a comment about the operation and its origin. It depends on the exact component being used, and may be empty. HashAlgorithm specifies the hash algorithm being used for the operation, and Pars contain algorithm-dependent parameters.
The component uses base16 (hex) encoding for Data, SignedData, and Pars parameters. If your signing engine uses a different input and output encoding, you may need to decode and/or encode the data before and/or after the signing.
A sample MD5 hash encoded in base16: a0dee2a0382afbb09120ffa7ccd8a152 - lower case base16 A0DEE2A0382AFBB09120FFA7CCD8A152 - upper case base16
A sample event handler that uses a .NET RSACryptoServiceProvider class may look like the following:
signer.OnExternalSign += (s, e) =>
{
var cert = new X509Certificate2("cert.pfx", "", X509KeyStorageFlags.Exportable);
var key = (RSACryptoServiceProvider)cert.PrivateKey;
var dataToSign = e.Data.FromBase16String();
var signedData = key.SignHash(dataToSign, "2.16.840.1.101.3.4.2.1");
e.SignedData = signedData.ToBase16String();
};
FormatElement Event (XAdESSigner Component)
Reports the XML element that is currently being processed.
Syntax
type TFormatElementEvent = procedure ( Sender: TObject; var StartTagWhitespace: String; var EndTagWhitespace: String; Level: Integer; const Path: String; HasChildElements: Boolean ) of Object;
property OnFormatElement: TFormatElementEvent read FOnFormatElement write FOnFormatElement;
Remarks
Path and Level specify the path to the XML element being processed and its nesting level, respectively.
HasChildElements specify if processed XML element has child elements.
Among other purposes, this event may be used to add whitespace formatting before or after a particular element in the signature.
FormatText Event (XAdESSigner Component)
Reports XML text that is currently being processed.
Syntax
type TFormatTextEvent = procedure ( Sender: TObject; var Text: String; TextType: Integer; Level: Integer; const Path: String ) of Object;
property OnFormatText: TFormatTextEvent read FOnFormatText write FOnFormatText;
Remarks
TextType parameter specifies the type of the XML text (normal or Base64-encoded) that is stored in the element; Path and Level specify the path to the XML element and its nesting level.
Among other purposes, this event may be used to add whitespace formatting before or after a particular element in the signature.
Notification Event (XAdESSigner Component)
This event notifies the application about an underlying control flow event.
Syntax
type TNotificationEvent = procedure ( Sender: TObject; const EventID: String; const EventParam: String ) of Object;
property OnNotification: TNotificationEvent read FOnNotification write FOnNotification;
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.
ReferenceValidated Event (XAdESSigner Component)
Marks the end of a reference validation.
Syntax
type TReferenceValidatedEvent = procedure ( Sender: TObject; ReferenceIndex: Integer; const ID: String; const URI: String; const RefType: String; DigestValid: Boolean ) of Object;
property OnReferenceValidated: TReferenceValidatedEvent read FOnReferenceValidated write FOnReferenceValidated;
Remarks
The component fires this event to report completion of a reference validation. A reference is a building block of a signature as it binds signature coverage to a particular piece of the document.
ResolveReference Event (XAdESSigner Component)
Asks the application to resolve a reference.
Syntax
type TResolveReferenceEvent = procedure ( Sender: TObject; ReferenceIndex: Integer; const URI: String ) of Object;
property OnResolveReference: TResolveReferenceEvent read FOnResolveReference write FOnResolveReference;
Remarks
This event is fired when the control could not automatically resolve a reference and requires custom treatment.
URI contains a reference to the data.
ReferenceIndex specifies the index of the reference to process.
Based on the reference's URI the event handler should set either TargetXMLElement or TargetData property of the reference.
SignatureFound Event (XAdESSigner Component)
Signifies the start of signature validation.
Syntax
type TSignatureFoundEvent = procedure ( Sender: TObject; Index: Integer; const IssuerRDN: String; SerialNumber: TBytes; SubjectKeyID: TBytes; CertFound: Boolean; var ValidateSignature: Boolean; var ValidateChain: Boolean ) of Object;
property OnSignatureFound: TSignatureFoundEvent read FOnSignatureFound write FOnSignatureFound;
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 (XAdESSigner Component)
Marks the completion of the signature validation routine.
Syntax
type TSignatureValidatedEvent = procedure ( Sender: TObject; Index: Integer; const IssuerRDN: String; SerialNumber: TBytes; SubjectKeyID: TBytes; ValidationResult: Integer ) of Object;
property OnSignatureValidated: TSignatureValidatedEvent read FOnSignatureValidated write FOnSignatureValidated;
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 (XAdESSigner Component)
Signifies the start of a timestamp validation routine.
Syntax
type TTimestampFoundEvent = procedure ( Sender: TObject; Index: Integer; const IssuerRDN: String; SerialNumber: TBytes; SubjectKeyID: TBytes; CertFound: Boolean; var ValidateTimestamp: Boolean; var ValidateChain: Boolean ) of Object;
property OnTimestampFound: TTimestampFoundEvent read FOnTimestampFound write FOnTimestampFound;
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.
TimestampRequest Event (XAdESSigner Component)
Fires when the component is ready to request a timestamp from an external TSA.
Syntax
type TTimestampRequestEvent = procedure ( Sender: TObject; const TSA: String; const TimestampRequest: String; var TimestampResponse: String; var SuppressDefault: Boolean ) of Object;
property OnTimestampRequest: TTimestampRequestEvent read FOnTimestampRequest write FOnTimestampRequest;
Remarks
Subscribe to this event to be intercept timestamp requests. You can use it to override timestamping requests and perform them in your code.
The TSA parameter indicates the timestamping service being used. It matches the value passed to TimestampServer property. Set SuppressDefault parameter to false if you would like to stop the built-in TSA request from going ahead. The built-in TSA request is also not performed if the returned TimestampResponse parameter is not empty.
TimestampValidated Event (XAdESSigner Component)
Reports the completion of the timestamp validation routine.
Syntax
type TTimestampValidatedEvent = procedure ( Sender: TObject; Index: Integer; const IssuerRDN: String; SerialNumber: TBytes; SubjectKeyID: TBytes; const Time: String; ValidationResult: Integer; ChainValidationResult: Integer; ChainValidationDetails: Integer ) of Object;
property OnTimestampValidated: TTimestampValidatedEvent read FOnTimestampValidated write FOnTimestampValidated;
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 |
TLSCertNeeded Event (XAdESSigner Component)
Fires when a remote TLS party requests a client certificate.
Syntax
type TTLSCertNeededEvent = procedure ( Sender: TObject; const Host: String; const CANames: String ) of Object;
property OnTLSCertNeeded: TTLSCertNeededEvent read FOnTLSCertNeeded write FOnTLSCertNeeded;
Remarks
This event fires to notify the implementation that a remote TLS server has requested a client certificate. The Host parameter identifies the host that makes a request, and the CANames (optional, according to the TLS spec) advises on the accepted issuing CAs.
Use the TLSClientChain property in response to this event to provide the requested certificate. Please make sure the client certificate includes the associated private key. Note that you may set the certificates before the connection without waiting for this event to fire.
This event is preceded by the TLSHandshake event for the given host and, if the certificate was accepted, succeeded by the TLSEstablished event.
TLSCertValidate Event (XAdESSigner Component)
This event is fired upon receipt of the TLS server's certificate, allowing the user to control its acceptance.
Syntax
type TTLSCertValidateEvent = procedure ( Sender: TObject; const ServerHost: String; const ServerIP: String; var Accept: Boolean ) of Object;
property OnTLSCertValidate: TTLSCertValidateEvent read FOnTLSCertValidate write FOnTLSCertValidate;
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.
TLSEstablished Event (XAdESSigner Component)
Fires when a TLS handshake with Host successfully completes.
Syntax
type TTLSEstablishedEvent = procedure ( Sender: TObject; const Host: String; const Version: String; const Ciphersuite: String; ConnectionId: TBytes; var Abort: Boolean ) of Object;
property OnTLSEstablished: TTLSEstablishedEvent read FOnTLSEstablished write FOnTLSEstablished;
Remarks
The component uses this event to notify the application about successful completion of a TLS handshake.
The Version, Ciphersuite, and ConnectionId parameters indicate security parameters of the new connection. Use the Abort parameter if you need to terminate the connection at this stage.
TLSHandshake Event (XAdESSigner Component)
Fires when a new TLS handshake is initiated, before the handshake commences.
Syntax
type TTLSHandshakeEvent = procedure ( Sender: TObject; const Host: String; var Abort: Boolean ) of Object;
property OnTLSHandshake: TTLSHandshakeEvent read FOnTLSHandshake write FOnTLSHandshake;
Remarks
The component uses this event to notify the application about the start of a new TLS handshake to Host. If the handshake is successful, this event will be followed with TLSEstablished event. If the server chooses to request a client certificate, TLSCertNeeded event will also be fired.
TLSShutdown Event (XAdESSigner Component)
Reports the graceful closure of a TLS connection.
Syntax
type TTLSShutdownEvent = procedure ( Sender: TObject; const Host: String ) of Object;
property OnTLSShutdown: TTLSShutdownEvent read FOnTLSShutdown write FOnTLSShutdown;
Remarks
This event notifies the application about the closure of an earlier established TLS connection. Note that only graceful connection closures are reported.
Certificate Type
Provides details of an individual X.509 certificate.
Remarks
This type provides access to X.509 certificate details.
Fields
Bytes TBytes |
Returns raw certificate data in DER format. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CA Boolean |
Indicates whether the certificate has a CA capability (a setting in BasicConstraints extension). |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CAKeyID TBytes |
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 TBytes |
Contains the fingerprint (a hash imprint) of this certificate. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
FriendlyName String |
Contains an associated alias (friendly name) of the certificate. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Handle Int64 |
Allows to get or set a 'handle', a unique identifier of the underlying property object. Use this property to assign objects of the same type in a quicker manner, without copying them fieldwise. When you pass a handle of one object to another, the source object is copied to the destination rather than assigned. It is safe to get rid of the original object
after such operation.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 TBytes |
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 |
Accessor to the value of the certificates ocsp-no-check extension. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 TBytes |
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 TBytes |
Contains the certificate's public key in DER format. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
QualifiedStatements TsbxQualifiedStatementsTypes |
Returns the qualified status of the certificate. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SelfSigned Boolean |
Indicates whether the certificate is self-signed (root) or signed by an external CA. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SerialNumber TBytes |
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 |
Returns or sets the value of the Subject Alternative Name extension of the certificate. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SubjectKeyID TBytes |
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
>
constructor Create();
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 TBytes |
Returns raw CRL data in DER format. |
CAKeyID TBytes |
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. |
Handle Int64 |
Allows to get or set a 'handle', a unique identifier of the underlying property object. Use this property to assign objects of the same type in a quicker manner, without copying them fieldwise. When you pass a handle of one object to another, the source object is copied to the destination rather than assigned. It is safe to get rid of the original object
after such operation.
|
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 TBytes |
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
>
constructor Create();
Creates an empty CRL object.
ExternalCrypto Type
Specifies the parameters of external cryptographic calls.
Remarks
External cryptocalls are used in a Distributed Cryptography (DC) subsystem, which allows the delegation of security operations to the remote agent. For instance, it can be used to compute the signature value on the server, while retaining the client's private key locally.
Fields
AsyncDocumentID String |
Specifies an optional document ID for SignAsyncBegin() and SignAsyncEnd() calls. Use this property when working with multi-signature DCAuth requests and responses to uniquely identify documents signed within a larger batch. On the completion stage, this value helps the signing component identify the correct signature in the returned batch of responses. If using batched requests, make sure to set this property to the same value on both pre-signing (SignAsyncBegin) and completion (SignAsyncEnd) stages. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CustomParams String |
Custom parameters to be passed to the signing service (uninterpreted). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data String |
Additional data to be included in the async state and mirrored back by the requestor |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ExternalHashCalculation Boolean |
Specifies whether the message hash is to be calculated at the external endpoint. Please note that this mode is not supported by all components. In particular, components operating with larger objects (PDFSigner, CAdESSigner, XAdESSigner) do not support it. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HashAlgorithm String |
Specifies the request's signature hash algorithm.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
KeyID String |
The ID of the pre-shared key used for DC request authentication. Asynchronous DCAuth-driven communication requires that parties authenticate each other with a secret pre-shared cryptographic key. This provides extra protection layer for the protocol and diminishes the risk of private key becoming abused by foreign parties. Use this property to provide the pre-shared key identifier, and use KeySecret to pass the key itself. The same KeyID/KeySecret pair should be used on the DCAuth side for the signing requests to be accepted. Note: The KeyID/KeySecret scheme is very similar to the AuthKey scheme used in various Cloud service providers to authenticate users. Example:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
KeySecret String |
The pre-shared key used for DC request authentication. This key must be set and match the key used by the DCAuth counterpart for the scheme to work. Read more about configuring authentication in the KeyID topic. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Method TsbxAsyncSignMethods |
Specifies the asynchronous signing method. This is typically defined by the DC server capabilities and setup. Available options:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Mode TsbxExternalCryptoModes |
Specifies the external cryptography mode. Available options:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PublicKeyAlgorithm String |
Provide public key algorithm here if the certificate is not available on the pre-signing stage.
|
Constructors
>
constructor Create();
Creates a new ExternalCrypto object with default field values.
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 TBytes |
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. |
Handle Int64 |
Allows to get or set a 'handle', a unique identifier of the underlying property object. Use this property to assign objects of the same type in a quicker manner, without copying them fieldwise. When you pass a handle of one object to another, the source object is copied to the destination rather than assigned. It is safe to get rid of the original object
after such operation.
|
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
>
constructor Create();
Creates an empty OCSP response 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 TsbxProxyAuthTypes |
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 TsbxProxyTypes |
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
>
constructor Create();
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 TsbxDNSResolveModes |
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
>
constructor Create();
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 Int64 |
This field indicates the accuracy of the included time mark, in microseconds. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bytes TBytes |
Returns raw timestamp data in DER format. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CertificateIndex Integer |
Returns the index of the TSA certificate in the Certificates collection Use this property to look up the TSA certificate in the Certificates collection. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 TsbxChainValidities |
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 TBytes |
Returns the timestamp's serial number. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SignatureIndex Integer |
Returns the index of the owner signature, if applicable. Use this property to establish the index of the associated signature object in the signature collection. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Time String |
The time point incorporated into the timestamp. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TimestampType Integer |
Returns the type of the timestamp. Available options:
Not all of the above timestamp types can be supported by a specific signature technology used (CAdES, PDF, XAdES). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 TsbxSignatureValidities |
Contains timestamp validation outcome. Use this property to check the result of the most recent timestamp validation.
|
Constructors
>
constructor Create();
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 TsbxSecureTransportPredefinedConfigurations |
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 TsbxRenegotiationAttackPreventionModes |
Selects renegotiation attack prevention mechanism. The following options are available:
|
|||||||||||||||||||||||||||||||||
RevocationCheck TsbxRevocationCheckKinds |
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 TsbxSSLModes |
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
>
constructor Create();
Creates a new TLSSettings object.
XAdESSignature Type
The component is a container for an XAdES/XML signature.
Remarks
XML document may include any number of XAdES/XML signatures. component stores on of them.
Fields
CanonicalizationMethod TsbxXMLCanonicalizationMethods |
The XML canonicalization method that was used for signing. Supported canonicalization methods:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CertificateIndex Integer |
Returns the index of the signing certificate in the Certificates collection Use this property to look up the signing certificate in the Certificates collection. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 TsbxChainValidities |
The outcome of a certificate chain validation routine. Available options:
Use the ValidationLog property to access the detailed validation log. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ClaimedSigningTime String |
The signing time from the signer's computer. Use this property to provide the signature production time. The claimed time is not supported by a trusted source; it may be inaccurate, forfeited, or wrong, and as such is usually taken for informational purposes only by verifiers. Use timestamp servers to embed verifiable trusted timestamps. The time is in UTC. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Handle Int64 |
Allows to get or set a 'handle', a unique identifier of the underlying property object. Use this property to assign objects of the same type in a quicker manner, without copying them fieldwise. When you pass a handle of one object to another, the source object is copied to the destination rather than assigned. It is safe to get rid of the original object
after such operation.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HashAlgorithm String |
The hash algorithm used for signing.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IssuerRDN String |
The Relative Distinguished Name of the signing certificate's issuer. A collection of information, in the form of [OID, Value] pairs, about the company that issued the signing certificate. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LastArchivalTime String |
Indicates the most recent archival time of an archived signature This property returns the time of the most recent archival timestamp applied to the signature. This property only makes sense for 'archived' (e.g. CAdES-A) signatures. Time is in UTC. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PolicyHash String |
The signature policy hash value. Use this property to get the signature policy hash from EPES signatures |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PolicyHashAlgorithm String |
The algorithm that was used to calculate the signature policy hash Use this property to get or set the hash algorithm used to calculate the signature policy hash. Read the actual hash value from PolicyHash.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PolicyID String |
The policy ID that was included or to be included into the signature. Use this property to retrieve the signature policy identifier from EPES signatures. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PolicyURI String |
The signature policy URI that was included in the signature. Use this property to set or retrieve the URI of the signature policy from EPES signatures. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SerialNumber TBytes |
The serial number of the timestamp. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SignatureBytes TBytes |
Returns the binary representation of the XML-DSig/XAdES signature. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SignatureType TsbxXMLSignatureTypes |
The signature type to employ when signing the document. This property specifies the signature type to be used when signing the document. Supported values:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SignatureValidationResult TsbxXMLSignatureValidities |
Contains the signature validation result. Use this property to check the result of the most recent XML signature validation.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SubjectKeyID TBytes |
Contains the subject key identifier of the signing certificate. 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 by a SHA-1 hash of the bit string of the subject public key. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SubjectRDN String |
Contains information about the person owning the signing certificate. Only certificates with given subject information will be enumerated during the search operation. Information is stored in the form of [Object Identifier, Value] pairs. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Timestamped Boolean |
Use this property to establish whether the signature contains an embedded timestamp. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 complete log of the certificate validation routine. 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. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
XAdES Boolean |
Specifies whether the document contains an advanced signature (XAdES). Use this property to check whether the document is signed with XAdES or XML-DSIG only. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
XAdESForm TsbxXAdESForms |
Specifies which form of XAdES should be produced. Use this property to specify the form (level) of advanced electronic signature to be produced.
* XAdES-E-* forms are supported starting from XAdES v1.3.2 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
XAdESVersion TsbxXAdESVersions |
Specifies XAdES version. This property specifies the version of the XAdES specification the signature should comply with. For the form of XAdES, use XAdESForm.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
XMLElement String |
Defines the XML element of the signature. Defines the XML element of the signature. |
Constructors
>
constructor Create();
Creates a new XAdES signature object.
XMLNamespace Type
Represents an XML namespace map for XPath expressions.
Remarks
This class defines the correspondence between Prefixes and namespace URIs.
Fields
Prefix String |
A user-defined prefix value of a namespace. |
URI String |
A user-defined URI value of a namespace. |
Constructors
>
constructor Create();
Creates a new XML namespace object.
XMLReference Type
Represents an XML reference element.
Remarks
XMLReference specifies the digest algorithm and digest value, and, optionally: an identifier of the object being signed, the type of the object, and/or a list of transforms to be applied prior to digesting.
Fields
AutoGenerateElementId Boolean |
Specifies whether the identifier (ID) attribute for a referenced (target) element should be auto-generated during signing. Used when the referenced element doesn't have an ID and CustomElementId and URI properties are empty. |
||||||||||||||||||||||||||||||||||||
CanonicalizationMethod TsbxXMLCanonicalizationMethods |
Use this property to specify the canonicalization method for the transform of the reference. Use cxcmNone value to not to include canonicalization transform in transform chain. See XML-Signature Syntax and Processing specification for details.
|
||||||||||||||||||||||||||||||||||||
CustomElementId String |
Specifies a custom identifier (ID) attribute for a referenced (target) element that will be set on signing. Used when the referenced element doesn't have an ID and URI property is empty. |
||||||||||||||||||||||||||||||||||||
DigestValue TBytes |
Use this property to get or set the value of the digest calculated over the referenced data. This property is optional and should be set only if you don't provide the actual data via TargetData or URI. If the data is set, then you don't need to set DigestValue since it will be calculated automatically. |
||||||||||||||||||||||||||||||||||||
Handle Int64 |
Allows to get or set a 'handle', a unique identifier of the underlying property object. Use this property to assign objects of the same type in a quicker manner, without copying them fieldwise. When you pass a handle of one object to another, the source object is copied to the destination rather than assigned. It is safe to get rid of the original object
after such operation.
|
||||||||||||||||||||||||||||||||||||
HashAlgorithm String |
Specifies the hash algorithm to be used. Supported values:
|
||||||||||||||||||||||||||||||||||||
HasURI Boolean |
Specifies whether the URI is set (even when it is empty). |
||||||||||||||||||||||||||||||||||||
ID String |
A user-defined identifier (ID) attribute of this Reference element. |
||||||||||||||||||||||||||||||||||||
InclusiveNamespacesPrefixList String |
Use this property to specify InclusiveNamespaces PrefixList for exclusive canonicalization transform of the reference. See XML-Signature Syntax and Processing specification for details. |
||||||||||||||||||||||||||||||||||||
ReferenceType String |
The Reference's type attribute as defined in XMLDSIG specification. |
||||||||||||||||||||||||||||||||||||
SignatureIndex Integer |
Returns the index of the owner signature, if applicable. Use this property to establish the index of the associated signature object in the signature collection. |
||||||||||||||||||||||||||||||||||||
TargetData TBytes |
Contains the referenced external data when the digest value is not explicitly specified. This property is optional and should only be set if you reference the external data via URI, and you don't provide the digest value explicitly via DigestValue. |
||||||||||||||||||||||||||||||||||||
TargetType TsbxXMLReferenceTargetTypes |
The reference's target type to use. Use this property to specify the reference's target type to use when forming the signature. |
||||||||||||||||||||||||||||||||||||
TargetXMLElement String |
This property specifies the referenced XML element. Used when the URI property is not set. In this case, the URI value is generated based on the ID of the referenced (target) XML element. If the URI property is set, this property is ignored until the ResolveReference event. Supported values are:
|
||||||||||||||||||||||||||||||||||||
URI String |
Use this property to get or set the URL which references the data. If the data is external, the application must set either TargetData or DigestValue. If TargetData is set, the digest is calculated automatically unless it is explicitly set by the application via DigestValue. |
||||||||||||||||||||||||||||||||||||
UseBase64Transform Boolean |
Specifies whether Base64 transform is included in transform chain. |
||||||||||||||||||||||||||||||||||||
UseEnvelopedSignatureTransform Boolean |
Specifies whether enveloped signature transform is included in transform chain. |
||||||||||||||||||||||||||||||||||||
UseXPathFilter2Transform Boolean |
Specifies whether XPath Filter 2.0 transform is included in transform chain. |
||||||||||||||||||||||||||||||||||||
UseXPathTransform Boolean |
Specifies whether XPath transform is included in transform chain. |
||||||||||||||||||||||||||||||||||||
XPathExpression String |
Use this property to specify XPath expression for XPath transform of the reference. |
||||||||||||||||||||||||||||||||||||
XPathFilter2Expressions String |
Use this property to specify XPointer expression(s) for XPath Filter 2.0 transform of the reference.
|
||||||||||||||||||||||||||||||||||||
XPathFilter2Filters String |
Use this property to specify XPointer filter(s) for XPath Filter 2.0 transform of the reference. The prefix list is comma-separated. Supported values:
|
||||||||||||||||||||||||||||||||||||
XPathFilter2PrefixList String |
Use this property to specify a prefix list for XPath Filter 2.0 transform of the reference. The prefix list is space-separated. Namespace URIs that are used are taken from XPathNamespaces property. |
||||||||||||||||||||||||||||||||||||
XPathPrefixList String |
Use this property to specify a prefix list for XPath transform of the reference. The prefix list is space-separated. Namespace URIs that are used are taken from XPathNamespaces property. |
Constructors
>
constructor Create();
Creates a new XML reference element.
>constructor Create(valID: String);
Creates a new XML reference element from its ID .
>constructor Create(valID: String; valURI: String);
Creates a new XML reference element from its ID and URI reference to the external data.
Config Settings (XAdESSigner 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.XAdESSigner Config Settings | ||||||||||||||||||||||||||||||||||||
ClaimedRoleText: The text of the claimed role.Use this property to specify the text of the first claimed role. | ||||||||||||||||||||||||||||||||||||
ClaimedRoleXML: The XML content of the claimed roles.Use this property to specify the XML content of the claimed roles element. | ||||||||||||||||||||||||||||||||||||
CommitmentTypeIndicationAllSignedDataObjects[Index]: Specifies the CommitmentTypeIndication's AllSignedDataObjects.This property contains if the CommitmentTypeIndication's AllSignedDataObjects element is present that indicates that all the signed data objects share the same commitment. Index value could be omitted for the first CommitmentTypeIndication element. | ||||||||||||||||||||||||||||||||||||
CommitmentTypeIndicationCount: The number of the CommitmentTypeIndication elements.Returns the number of the xades:CommitmentTypeIndication elements available. | ||||||||||||||||||||||||||||||||||||
CommitmentTypeIndicationIdentifier[Index]: Specifies the CommitmentTypeIndication's CommitmentTypeId's Identifier.This property contains an identifier indicating the type of commitment made by the signer in the CommitmentTypeIndication's CommitmentTypeId's Identifier element. Index value could be omitted for the first CommitmentTypeIndication element. | ||||||||||||||||||||||||||||||||||||
CommitmentTypeIndicationIdentifierDescription[Index]: Specifies the CommitmentTypeIndication's CommitmentTypeId's Description.This property contains an identifier's description indicating the type of commitment made by the signer in the CommitmentTypeIndication's CommitmentTypeId's Description element. Index value could be omitted for the first CommitmentTypeIndication element. | ||||||||||||||||||||||||||||||||||||
CommitmentTypeIndicationIdentifierDocumentationReferences[Index]: Specifies the CommitmentTypeIndication's CommitmentTypeId's DocumentationReferences.This property contains an identifier's documentation references indicating the type of commitment made by the signer in the CommitmentTypeIndication's CommitmentTypeId's DocumentationReferences element. Index value could be omitted for the first CommitmentTypeIndication element. | ||||||||||||||||||||||||||||||||||||
CommitmentTypeIndicationIdentifierQualifier[Index]: Specifies the CommitmentTypeIndication's CommitmentTypeId's IdentifierQualifier.This property contains an identifier qualifier indicating the type of commitment made by the signer in the CommitmentTypeIndication's CommitmentTypeId's IdentifierQualifier element. Index value could be omitted for the first CommitmentTypeIndication element. | ||||||||||||||||||||||||||||||||||||
CommitmentTypeIndicationObjectReference[Index]: Specifies the CommitmentTypeIndication's ObjectReference.This property contains the CommitmentTypeIndication's ObjectReference elements that refer to one or several ds:Reference elements of the ds:SignedInfo corresponding with one data object qualified by this property. Index value could be omitted for the first CommitmentTypeIndication element. | ||||||||||||||||||||||||||||||||||||
CommitmentTypeIndicationQualifiersXML[Index]: The XML content of the CommitmentTypeIndication's Qualifiers.This property contains the CommitmentTypeIndication's Qualifiers elements XML content. Index value could be omitted for the first CommitmentTypeIndication element. | ||||||||||||||||||||||||||||||||||||
DataObjectFormatCount: The number of the DataObjectFormat elements.Returns the number of the xades:DataObjectFormat elements available. | ||||||||||||||||||||||||||||||||||||
DataObjectFormatDescription[Index]: Specifies the DataObjectFormat's Description.This property contains textual information related to the signed data object in the DataObjectFormat's Description element. Index value could be omitted for the first DataObjectFormat element. | ||||||||||||||||||||||||||||||||||||
DataObjectFormatEncoding[Index]: Specifies the DataObjectFormat's Encoding.This property contains an indication of the encoding format of the signed data object in the DataObjectFormat's Encoding element. Index value could be omitted for the first DataObjectFormat element. | ||||||||||||||||||||||||||||||||||||
DataObjectFormatMimeType[Index]: Specifies the DataObjectFormat's MimeType.This property contains an indication of the MIME type of the signed data object in the DataObjectFormat's MimeType element. Index value could be omitted for the first DataObjectFormat element. | ||||||||||||||||||||||||||||||||||||
DataObjectFormatObjectIdentifier[Index]: Specifies the DataObjectFormat's ObjectIdentifier's Identifier.This property contains an identifier indicating the type of the signed data object in the DataObjectFormat's ObjectIdentifier's Identifier element. Index value could be omitted for the first DataObjectFormat element. | ||||||||||||||||||||||||||||||||||||
DataObjectFormatObjectIdentifierDescription[Index]: Specifies the DataObjectFormat's ObjectIdentifier's Description.This property contains an identifier's description indicating the type of the signed data object in the DataObjectFormat's ObjectIdentifier's Description element. Index value could be omitted for the first DataObjectFormat element. | ||||||||||||||||||||||||||||||||||||
DataObjectFormatObjectIdentifierDocumentationReferences[Index]: Specifies the DataObjectFormat's ObjectIdentifier's DocumentationReferences.This property contains an identifier's documentation references indicating the type of the signed data object in the DataObjectFormat's ObjectIdentifier's DocumentationReferences element. Index value could be omitted for the first DataObjectFormat element. | ||||||||||||||||||||||||||||||||||||
DataObjectFormatObjectIdentifierQualifier[Index]: Specifies the DataObjectFormat's ObjectIdentifier's IdentifierQualifier.This property contains an identifier qualifier indicating the type of the signed data object in the DataObjectFormat's ObjectIdentifier's IdentifierQualifier element. Index value could be omitted for the first DataObjectFormat element. | ||||||||||||||||||||||||||||||||||||
DataObjectFormatObjectReference[Index]:
Specifies the DataObjectFormat's ObjectReference.This property contains the DataObjectFormat's ObjectReference element that reference the ds:Reference element of the ds:Signature corresponding with the data object qualified by this property.
For example, if the corresponding ds:Reference element has an Id "reference-id-1", then you should set this property to "#reference-id-1" value. Index value could be omitted for the first DataObjectFormat element. |
||||||||||||||||||||||||||||||||||||
DetachedResourceURI: Specifies a detached resource URI.Specifies a URI used for data being signed, usually the data filename if stored along with a detached signature. | ||||||||||||||||||||||||||||||||||||
DislikeOpenEndedOCSPs: Tells the component to discourage OCSP responses without an explicit NextUpdate parameter.When this property is set to True, the validation engine treats OCSP response without a NextUpdate field as 'substandard' and tries to obtain some further revocation material for the certificate in question (a different OCSP or a CRL, even if the component is configured to prefer the OCSP route). This is to work around Adobe Reader's intolerance to such OCSPs when classifying signed documents as LTV (as of August 2022). | ||||||||||||||||||||||||||||||||||||
EnvelopingObjectEncoding: Specifies the enveloping object encoding.In case of enveloping signature, this property contains the Encoding attribute of the enveloped object. | ||||||||||||||||||||||||||||||||||||
EnvelopingObjectID: Specifies the enveloping object identifier.In case of enveloping signature, this property contains the identifier (ID) attribute of the enveloped object. | ||||||||||||||||||||||||||||||||||||
EnvelopingObjectMimeType: Specifies the enveloping object MIME type.In case of enveloping signature, this property contains the MIME type attribute of the enveloped object. | ||||||||||||||||||||||||||||||||||||
ExclusiveCanonicalizationPrefix:
Specifies the exclusive canonicalization prefix.Specifies the prefix for the ec:InclusiveNamespaces element for the exclusive canonicalization.
Default value is "ec". In this case "ec:" prefix will be used. Special values:
|
||||||||||||||||||||||||||||||||||||
ForceCompleteChainValidation: Whether to check the CA certificates when the signing certificate is invalid.Set this property to True to check issuer (CA) certificates if the signing or an intermediate chain 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. | ||||||||||||||||||||||||||||||||||||
HMACKey: The key value for HMAC.Sets the HMAC key. The component uses base16 (hex) encoding for this configuration value. | ||||||||||||||||||||||||||||||||||||
HMACOutputLength: Sets the length of the HMAC output.Use this property to configure the length of the HMAC output, in bytes. | ||||||||||||||||||||||||||||||||||||
IDAttributeName: Specifies the custom name of ID attribute.This property contains the custom name of identifier (ID) attribute. Used to identify the target XML element when reference URI has "#id_name" value or when ID attribute should be auto-generated for a target XML element. | ||||||||||||||||||||||||||||||||||||
IDAttributeNamespaceURI: Specifies the custom namespace URI of ID attribute.This property contains the custom namespace URI of identifier (ID) attribute. Used to identify the target XML element when reference URI has "#id_name" value or when ID attribute should be auto-generated for a target XML element. | ||||||||||||||||||||||||||||||||||||
IgnoreChainLoops: Whether chain loops should be ignored.Set this property to True to make the validation engine ignore chain loops. This may be an option when you need to process chains from buggy CAs that happen to include subchains that sign themselves. | ||||||||||||||||||||||||||||||||||||
IgnoreOCSPNoCheckExtension: Whether OCSP NoCheck extension should be ignored.Set this property to True 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. |
||||||||||||||||||||||||||||||||||||
IgnoreTimestampFailure: Whether to ignore time-stamping failure during signing.If this property is set to True, any failure during time-stamping process will be ignored. | ||||||||||||||||||||||||||||||||||||
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. | ||||||||||||||||||||||||||||||||||||
IncludeKey: Specifies whether to include the signing key to the signature.Set this property to True to include the public part of the signing key to the signature. | ||||||||||||||||||||||||||||||||||||
IncludeKeyValue: Specifies whether the key value must be included to the signature.Set this property to True if the key value (its public part) should be included to the signature. | ||||||||||||||||||||||||||||||||||||
IncludeKnownRevocationInfoToSignature: Whether to include custom revocation info to the signature.This property specifies whether revocation pieces provided via KnownCertificates, KnownCRLs, and KnownOCSPs properties should be included into the signature. This property lets you include custom validation elements to the signature in addition to the ones comprising the signing chain. | ||||||||||||||||||||||||||||||||||||
InclusiveNamespacesPrefixList: Specifies the InclusiveNamespaces PrefixList.Use this property to specify InclusiveNamespaces PrefixList for exclusive canonicalization transform of SignedInfo element. See XML-Signature Syntax and Processing specification for details. | ||||||||||||||||||||||||||||||||||||
InputType:
Specifies the Input type.Use this property to specify the type of the input (either InputFile, InputStream or InputBytes properties) for component.
The following input types are supported:
|
||||||||||||||||||||||||||||||||||||
KeyInfoCustomXML:
The custom XML content for KeyInfo element.Use this property to specify the custom XML content of the ds:KeyInfo element.
The empty elements in the custom XML content act as a placeholder for auto-generated elements. For example to change the order of ds:KeyValue and ds:X509Data auto-generated elements use the value: "<X509Data/><KeyValue/>" |
||||||||||||||||||||||||||||||||||||
KeyInfoDetails:
Specifies the signing key info details to include to the signature.Contains a comma-separated list of values that specifies which signing key info details to include to the signature.
Supported values are:
|
||||||||||||||||||||||||||||||||||||
KeyInfoID: Specifies the ID for KeyInfo element.This property contains the identifier (ID) attribute of the ds:KeyInfo element. | ||||||||||||||||||||||||||||||||||||
KeyName: Contains information about the key used for signing.The KeyName element contains a string value (with significant whitespaces) which may be used by the signer to communicate a key identifier to the recipient. Typically, the KeyName element contains an identifier related to the key pair used to sign the message, but it may contain other protocol-related information that indirectly identifies a key pair. Common uses of the KeyName include simple string names for keys, a key index, a distinguished name (DN), an email address, etc. | ||||||||||||||||||||||||||||||||||||
ManifestCount: The number of the manifest elements.Returns the number of the ds:Manifest elements available. | ||||||||||||||||||||||||||||||||||||
ManifestID[Index]: The ID of the manifest element.Use this property to specify the identifier (ID) attribute of the ds:Manifest element. Index value could be omitted for the first manifest. | ||||||||||||||||||||||||||||||||||||
ManifestObjectIndex[Index]: The object element index to which the manifest element belongs.Use this property to specify the ds:Object element index to which the ds:Manifest element belongs. Index value could be omitted for the first signature properties. | ||||||||||||||||||||||||||||||||||||
ManifestXML[Index]: The XML content of the manifest element.Use this property to specify the XML content of the ds:Manifest element. Index value could be omitted for the first manifest. | ||||||||||||||||||||||||||||||||||||
ObjectCount: The number of the object elements.Returns the number of the additional ds:Object elements available. | ||||||||||||||||||||||||||||||||||||
ObjectEncoding[Index]: The Encoding of the object element.Use this property to specify the Encoding attribute of the ds:Object element. Index value could be omitted for the first object. | ||||||||||||||||||||||||||||||||||||
ObjectID[Index]: The ID of the object element.Use this property to specify the identifier (ID) attribute of the ds:Object element. Index value could be omitted for the first object. | ||||||||||||||||||||||||||||||||||||
ObjectMimeType[Index]: The MIME type of the object element.Use this property to specify the MIME type attribute of the ds:Object element. Index value could be omitted for the first object. | ||||||||||||||||||||||||||||||||||||
ObjectSignaturePropertiesCount: The number of the signature properties elements.Returns the number of the ds:SignatureProperties elements available. | ||||||||||||||||||||||||||||||||||||
ObjectSignaturePropertiesID[Index]: The ID of the signature properties element.Use this property to specify the identifier (ID) attribute of the ds:SignatureProperties element. Index value could be omitted for the first signature properties. | ||||||||||||||||||||||||||||||||||||
ObjectSignaturePropertiesObjectIndex[Index]: The object element index to which the signature properties element belongs.Use this property to specify the ds:Object element index to which the ds:SignatureProperties element belongs. Index value could be omitted for the first signature properties. | ||||||||||||||||||||||||||||||||||||
ObjectSignaturePropertiesXML[Index]: The XML content of the signature properties element.Use this property to specify the XML content of the ds:SignatureProperties element. Index value could be omitted for the first signature properties. | ||||||||||||||||||||||||||||||||||||
ObjectSignaturePropertyCount: The number of the signature property elements.Returns the number of the ds:SignatureProperty elements available. | ||||||||||||||||||||||||||||||||||||
ObjectSignaturePropertyID[Index]: The ID of the signature properties element.Use this property to specify the identifier (ID) attribute of the ds:SignatureProperty element. Index value could be omitted for the first signature property. | ||||||||||||||||||||||||||||||||||||
ObjectSignaturePropertyPropertiesIndex[Index]: The signature properties element index to which the signature property element belongs.Use this property to specify the ds:SignatureProperties element index to which the ds:SignatureProperty element belongs. Index value could be omitted for the first signature property. | ||||||||||||||||||||||||||||||||||||
ObjectSignaturePropertyTarget[Index]: The Target of the signature properties element.Use this property to specify the Target attribute of the ds:SignatureProperty element. Index value could be omitted for the first signature property. | ||||||||||||||||||||||||||||||||||||
ObjectSignaturePropertyXML[Index]: The XML content of the signature property element.Use this property to specify the XML content of the ds:SignatureProperty element. Index value could be omitted for the first signature property. | ||||||||||||||||||||||||||||||||||||
ObjectXML[Index]: The XML content of the object element.Use this property to specify the XML content of the ds:Object element. Index value could be omitted for the first object. | ||||||||||||||||||||||||||||||||||||
ProductionPlace:
Identifies the place of the signature production.Use this property to specify the signature production place.
Sample value: "CITY=Test City, ST=Test State, POSTALCODE=Test Code, C=Test Country" |
||||||||||||||||||||||||||||||||||||
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. | ||||||||||||||||||||||||||||||||||||
QualifyingPropertiesID: Specifies the ID for QualifyingProperties element.This property contains the identifier (ID) attribute of the xades:QualifyingProperties element. | ||||||||||||||||||||||||||||||||||||
QualifyingPropertiesReferenceCount: The number of the QualifyingPropertiesReference elements.Returns the number of the xades:QualifyingPropertiesReference elements available. | ||||||||||||||||||||||||||||||||||||
QualifyingPropertiesReferenceID[Index]: Specifies the QualifyingPropertiesReference's ID.This property contains an identifier (ID) attribute of the xades:QualifyingPropertiesReference element. Index value could be omitted for the first QualifyingPropertiesReference element. | ||||||||||||||||||||||||||||||||||||
QualifyingPropertiesReferenceURI[Index]: Specifies the QualifyingPropertiesReference's URI.This property contains an URI attribute of the xades:QualifyingPropertiesReference element. Index value could be omitted for the first QualifyingPropertiesReference element. | ||||||||||||||||||||||||||||||||||||
RefsTimestampType:
Specifies references timestamp type to include to the signature.Contains a comma-separated list of values that specifies which references timestamp type to include to the signature when signature upgraded to XAdES-X or XAdES-E-X form.
Supported values are:
|
||||||||||||||||||||||||||||||||||||
SignatureCompliance:
Specifies the signature compliance mode.Use this property to specify whether the signature is W3C's XMLDSig,
or Electronic Banking Internet Communication Standard (EBICS) compliant.
Supported values are:
|
||||||||||||||||||||||||||||||||||||
SignatureID: Specifies the ID for Signature element.This property contains the identifier (ID) attribute of the ds:Signature element. | ||||||||||||||||||||||||||||||||||||
SignaturePrefix:
Specifies the signature prefix.Specifies the prefix for the Signature elements.
Default value is "ds". In this case "ds:" prefix will be used. Special values:
|
||||||||||||||||||||||||||||||||||||
SignatureValue: Contains the SignatureValue.This property contains the text content of the ds:SignatureValue element. | ||||||||||||||||||||||||||||||||||||
SignatureValueID: Specifies the ID for SignatureValue element.This property contains the identifier (ID) attribute of the ds:SignatureValue element. | ||||||||||||||||||||||||||||||||||||
SignedInfoID: Specifies the ID for SignedInfo element.This property contains the identifier (ID) attribute of the ds:SignedInfo element. | ||||||||||||||||||||||||||||||||||||
SignedPropertiesID: Specifies the ID for SignedProperties element.This property contains the identifier (ID) attribute of the xades:SignedProperties element. | ||||||||||||||||||||||||||||||||||||
SignedPropertiesReferenceCanonicalizationMethod:
Specifies the canonicalization method used in SignedProperties reference.Use this property to specify the canonicalization method for the canonicalization transform of the ds:Reference element that points to xades:SignedProperties element.
Use cxcmNone value to not to include canonicalization transform in transform chain.
|
||||||||||||||||||||||||||||||||||||
SignedPropertiesReferenceHashAlgorithm:
Specifies the hash algorithm used in SignedProperties reference.Use this property to specify the hash algorithm to be used for the ds:Reference element that points to xades:SignedProperties element.
Supported values:
The default value is empty string, in this case, the hash algorithm specified in HashAlgorithm property is used. |
||||||||||||||||||||||||||||||||||||
SignedPropertiesReferenceID: Specifies the ID for Reference element that points to SignedProperties element.This property contains the identifier (ID) attribute of the ds:Reference element that points to xades:SignedProperties element. | ||||||||||||||||||||||||||||||||||||
SignedPropertiesReferenceInclusiveNamespacesPrefixList: Specifies the InclusiveNamespaces PrefixList used in SignedProperties reference.Use this property to specify InclusiveNamespaces PrefixList for exclusive canonicalization transform of the ds:Reference element that points to xades:SignedProperties element. | ||||||||||||||||||||||||||||||||||||
SignedPropertiesReferenceIndex: Specifies the index of SignedProperties reference.Use this property to specify the reference's index for the ds:Reference element that points to xades:SignedProperties element. | ||||||||||||||||||||||||||||||||||||
SignedSignaturePropertiesID: Specifies the ID for SignedSignatureProperties element.This property contains the identifier (ID) attribute of the xades:SignedSignatureProperties element. | ||||||||||||||||||||||||||||||||||||
SigningCertificatesHashAlgorithm:
Specifies the hash algorithm used for SigningCertificates.Use this property to specify the hash algorithm to be used for xades:SigningCertificates element.
Supported values:
The default value is empty string, in this case, the hash algorithm specified in HashAlgorithm property is used. |
||||||||||||||||||||||||||||||||||||
SigPolicyDescription: signature policy description.This property specifies the Description of the signature policy. | ||||||||||||||||||||||||||||||||||||
SigPolicyExplicitText: The explicit text of the user notice.Use this property to specify the explicit text of the user notice to be displayed when the signature is verified. | ||||||||||||||||||||||||||||||||||||
SigPolicyHash: The hash value of the signature policy.This property contains the hash value of the signature policy. | ||||||||||||||||||||||||||||||||||||
SigPolicyHashAlgorithm:
Specifies the hash algorithm used to compute the signature policy hash.Use this property to specify the algorithm used to compute the signature policy hash.
Supported values:
|
||||||||||||||||||||||||||||||||||||
SigPolicyID: Identifies the signature policy.This property contains an identifier that uniquely identifies a specific version of the signature policy. | ||||||||||||||||||||||||||||||||||||
SigPolicyNoticeNumbers: Contains user notice numbers.This property provides an access to the list of notice numbers, by which the explicit signature policy notice texts could be retrieved. | ||||||||||||||||||||||||||||||||||||
SigPolicyNoticeOrganization: The organization part of the NoticeReference qualifier.Use this property to specify the "organization" part of the NoticeReference signature policy qualifier for XAdES-EPES form. | ||||||||||||||||||||||||||||||||||||
SigPolicyURI: Signature policy URI.This property specifies the URI of the signature policy. | ||||||||||||||||||||||||||||||||||||
TempPath: Location where the temporary files are stored.This setting specifies an absolute path to the location on disk where temporary files are stored. | ||||||||||||||||||||||||||||||||||||
TimestampCanonicalizationMethod:
Specifies canonicalization method used in timestamp.Use this property to specify the canonicalization method used in timestamp.
|
||||||||||||||||||||||||||||||||||||
TimestampValidationDataDetails:
Specifies timestamp validation data details to include to the signature.Contains a comma-separated list of values that specifies which validation data values details to include to the signature when xades:TimeStampValidationData element added.
Supported values are:
|
||||||||||||||||||||||||||||||||||||
TLSChainValidationDetails: Contains the advanced details of the TLS server certificate validation.Check this property in TLSCertValidate event handler to access the TLS certificate validation details. | ||||||||||||||||||||||||||||||||||||
TLSChainValidationResult: Contains the result of the TLS server certificate validation.Check this property in TLSCertValidate event handler to obtain the TLS certificate validation result. | ||||||||||||||||||||||||||||||||||||
TLSClientAuthRequested: Indicates whether the TLS server requests client authentication.Check this property in TLSCertValidate event handler to find out whether the TLS server requests the client to provide the authentication certificate. If this property is set to true, provide your certificate via TLSClientChain property. Note that the component may fire this event more than once during each operation, as more than one TLS-enabled server may need to be contacted. | ||||||||||||||||||||||||||||||||||||
TLSValidationLog: Contains the log of the TLS server certificate validation.Check this property in TLSCertValidate event handler to retrieve the validation log of the TLS server. | ||||||||||||||||||||||||||||||||||||
TolerateMinorChainIssues:
Whether to tolerate minor chain issues.This parameter controls whether the chain validator should tolerate minor technical issues when validating the chain. Those are:
|
||||||||||||||||||||||||||||||||||||
TspHashAlgorithm: Sets a specific hash algorithm for use with the timestamping service.In default configuration component uses the 'SHA256' hash algorithm. Use this property to specify a different hash algorithm for the timestamp. | ||||||||||||||||||||||||||||||||||||
UseHMACSigning: Whether to use HMAC signing.Set this property to true to make the component perform signing using HMAC method, rather than asymmetric cryptography. | ||||||||||||||||||||||||||||||||||||
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. | ||||||||||||||||||||||||||||||||||||
UsePSS: Whether to use RSASSA-PSS algorithm.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. | ||||||||||||||||||||||||||||||||||||
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. | ||||||||||||||||||||||||||||||||||||
UseValidationCache: Enables or disable the use of the product-wide certificate chain validation cache.Use this property to enable or disable the use of the global chain validation cache. If enabled, the component will consult the product-wide validation cache when validating the signing chains. Also, the outcomes of any new chain validations performed by the component, both interim and final, will be saved in the cache and available for re-use by any future validations. Disable this property to ignore the cache and always perform the validation from the fresh start. | ||||||||||||||||||||||||||||||||||||
ValidationDataRefsDetails:
Specifies validation data references details to include to the signature.Contains a comma-separated list of values that specifies which validation data references details to include to the signature when signature upgraded to XAdES-C or XAdES-E-C form.
Supported values are:
|
||||||||||||||||||||||||||||||||||||
ValidationDataRefsHashAlgorithm:
Specifies the hash algorithm used in validation data references.Use this property to specify the hash algorithm used to compute hashes for validation data references.
Supported values:
The default value is empty string, in this case, the hash algorithm specified in HashAlgorithm property is used. |
||||||||||||||||||||||||||||||||||||
ValidationDataValuesDetails:
Specifies validation data values details to include to the signature.Contains a comma-separated list of values that specifies which validation data values details to include to the signature when signature upgraded to XAdES-X-L or XAdES-E-X-L form.
Supported values are:
|
||||||||||||||||||||||||||||||||||||
WriteBOM: Specifies whether byte-order mark should be written when saving the document.Set this property to False to disable writing byte-order mark (BOM) when saving the XML document in Unicode encoding. | ||||||||||||||||||||||||||||||||||||
XAdESPrefix:
Specifies the XAdES prefix.Specifies the prefix for the XAdES elements.
Default value is "xades". In this case "xades:" prefix will be used. Special values:
|
||||||||||||||||||||||||||||||||||||
XAdESv141Prefix:
Specifies the XAdES v1.4.1 prefix.Specifies the prefix for the XAdES v1.4.1 elements.
Default value is "xadesv141". In this case "xadesv141:" prefix will be used. Special values:
|
||||||||||||||||||||||||||||||||||||
XMLFormatting:
Specifies the signature XML formatting.Use this property to specify how the signature should be formatted.
Supported values:
|
||||||||||||||||||||||||||||||||||||
Base Config 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. | ||||||||||||||||||||||||||||||||||||
StaticDNS:
Specifies whether static DNS rules should be used.Set this property to enable or disable static DNS rules for the component. Works only if UseOwnDNSResolver is set to true.
Supported values are:
|
||||||||||||||||||||||||||||||||||||
StaticIPAddress[domain]: Gets or sets an IP address for the specified domain name.Use this property to get or set an IP address for the specified domain name in the internal (of the component) or global DNS rules storage depending on the StaticDNS value. The type of the IP address (IPv4 or IPv6) is determined automatically. If both addresses are available, they are devided by the | (pipe) character. | ||||||||||||||||||||||||||||||||||||
StaticIPAddresses: Gets or sets all the static DNS rules.Use this property to get static DNS rules from the current rules storage or restore them back between application sessions. If StaticDNS of the component is set to "local", the property returns/restores the rules from/to the internal storage of the component. If StaticDNS of the component is set to "global", the property returns/restores the rules from/to the GLOBAL storage. The rules list is returned and accepted in JSON format. | ||||||||||||||||||||||||||||||||||||
Tag: Allows to store any custom data.Use this config property to store any custom data. | ||||||||||||||||||||||||||||||||||||
UseOwnDNSResolver: Specifies whether the client components should use own DNS resolver.Set this global property to false to force all the client components to use the DNS resolver provided by the target OS instead of using own one. | ||||||||||||||||||||||||||||||||||||
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 (XAdESSigner Component)
XAdESSigner 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) | |
39845889 Input file does not exist (SB_ERROR_XML_INPUTFILE_NOT_EXISTS) | |
39845890 Data file does not exist (SB_ERROR_XML_DATAFILE_NOT_EXISTS) | |
39845891 Unsupported signature method type (SB_ERROR_XML_UNSUPPORTED_SIGNATURE_METHOD_TYPE) | |
39845892 Unsupported has algorithm (SB_ERROR_XML_UNSUPPORTED_HASH_ALGORITHM) | |
39845893 Unsupported key type (SB_ERROR_XML_UNSUPPORTED_KEY_TYPE) | |
39845894 Invalid key type (SB_ERROR_XML_INVALID_KEY_TYPE) | |
39845895 Invalid encryption method (SB_ERROR_XML_INVALID_ENCRYPTION_METHOD) | |
39845896 Not found (SB_ERROR_XML_NOT_FOUND) | |
39845897 No element ID (SB_ERROR_XML_NO_ELEMENT_ID) |