XMLSigner Class
Properties Methods Events Config Settings Errors
The XMLSigner class provides a simple interface for digitally signing XML data according to the XML-Signature Syntax and Processing specification.
Syntax
XMLSigner
Remarks
To sign the data, you need to specify the data to be signed using the References property, then select the signature type and signature method type (signature or MAC).
Set the path to the file to be signed via the InputFile. Signed data will be saved in the OutputFile. Finally, call the Sign method to generate a signature and save signed data. It is possible to generate a signature remotely: use SignExternal method to do this.
Asynchronous signing is also supported. Call SignAsyncBegin to generate a signature and save the generated XML-DSIG without signature value into the document. To complete the signing, call SignAsyncEnd.
XMLSigner only performs basic signing of XML documents. For richer features, such as XAdES and/or chain validation, please see the XAdESSigner class
Property List
The following is the full list of the properties of the class with short descriptions. Click on the links for further details.
CanonicalizationMethod | Specifies XML canonicalization method to use. |
DataBytes | Use this property to pass the external data to class 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. |
ExternalCryptoAsyncDocumentID | Specifies an optional document ID for SignAsyncBegin() and SignAsyncEnd() calls. |
ExternalCryptoCustomParams | Custom parameters to be passed to the signing service (uninterpreted). |
ExternalCryptoData | Additional data to be included in the async state and mirrored back by the requestor. |
ExternalCryptoExternalHashCalculation | Specifies whether the message hash is to be calculated at the external endpoint. |
ExternalCryptoHashAlgorithm | Specifies the request's signature hash algorithm. |
ExternalCryptoKeyID | The ID of the pre-shared key used for DC request authentication. |
ExternalCryptoKeySecret | The pre-shared key used for DC request authentication. |
ExternalCryptoMethod | Specifies the asynchronous signing method. |
ExternalCryptoMode | Specifies the external cryptography mode. |
ExternalCryptoPublicKeyAlgorithm | Provide the public key algorithm here if the certificate is not available on the pre-signing stage. |
FIPSMode | Reserved. |
HashAlgorithm | Specifies the hash algorithm to be used. |
InputBytes | Use this property to pass the input to class in byte array form. |
InputFile | Specifies the XML document to be signed. |
OutputBytes | Use this property to read the output the class object has produced. |
OutputFile | A file where the signed document is to be saved. |
ReferenceCount | The number of records in the Reference arrays. |
ReferenceAutoGenerateElementId | Specifies whether the identifier (ID) attribute for a referenced (target) element should be auto-generated during signing. |
ReferenceCanonicalizationMethod | Use this property to specify the canonicalization method for the transform of the reference. |
ReferenceCustomElementId | Specifies a custom identifier (ID) attribute for a referenced (target) element that will be set on signing. |
ReferenceDigestValue | Use this property to get or set the value of the digest calculated over the referenced data. |
ReferenceHandle | Allows to get or set a 'handle', a unique identifier of the underlying property object. |
ReferenceHashAlgorithm | Specifies the hash algorithm to be used. |
ReferenceHasURI | Specifies whether the URI is set (even when it is empty). |
ReferenceID | A user-defined identifier (ID) attribute of this Reference element. |
ReferenceInclusiveNamespacesPrefixList | Use this property to specify InclusiveNamespaces PrefixList for exclusive canonicalization transform of the reference. |
ReferenceReferenceType | The Reference's type attribute as defined in XMLDSIG specification. |
ReferenceSignatureIndex | Returns the index of the owner signature, if applicable. |
ReferenceTargetData | Contains the referenced external data when the digest value is not explicitly specified. |
ReferenceTargetType | The reference's target type to use. |
ReferenceTargetXMLElement | This property specifies the referenced XML element. |
ReferenceURI | Use this property to get or set the URL which references the data. |
ReferenceUseBase64Transform | Specifies whether Base64 transform is included in transform chain. |
ReferenceUseEnvelopedSignatureTransform | Specifies whether enveloped signature transform is included in transform chain. |
ReferenceUseXPathFilter2Transform | Specifies whether XPath Filter 2. |
ReferenceUseXPathTransform | Specifies whether XPath transform is included in transform chain. |
ReferenceXPathExpression | Use this property to specify XPath expression for XPath transform of the reference. |
ReferenceXPathFilter2Expressions | Use this property to specify XPointer expression(s) for XPath Filter 2. |
ReferenceXPathFilter2Filters | Use this property to specify XPointer filter(s) for XPath Filter 2. |
ReferenceXPathFilter2PrefixList | Use this property to specify a prefix list for XPath Filter 2. |
ReferenceXPathPrefixList | Use this property to specify a prefix list for XPath transform of the reference. |
SignatureType | The signature type to employ when signing the document. |
SigningCertBytes | Returns the raw certificate data in DER format. |
SigningCertHandle | Allows to get or set a 'handle', a unique identifier of the underlying property object. |
SigningChainCount | The number of records in the SigningChain arrays. |
SigningChainBytes | Returns the raw certificate data in DER format. |
SigningChainHandle | Allows to get or set a 'handle', a unique identifier of the underlying property object. |
XMLElement | Specifies the XML element where to save the signature data. |
NamespaceCount | The number of records in the Namespace arrays. |
NamespacePrefix | A user-defined prefix value of a namespace. |
NamespaceURI | A user-defined URI value of a namespace. |
Method List
The following is the full list of the methods of the class 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. |
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. |
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. |
Event List
The following is the full list of the events fired by the class with short descriptions. Click on the links for further details.
Error | Reports the details of signing errors. |
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. |
ResolveReference | Asks the application to resolve a reference. |
Config Settings
The following is a list of config settings for the class with short descriptions. Click on the links for further details.
DetachedResourceURI | Specifies a detached resource URI. |
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. |
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. |
IncludeKey | Specifies whether to include the signing key to the signature. |
IncludeKeyValue | Specifies whether the key value must be included to the signature. |
InclusiveNamespacesPrefixList | Specifies the InclusiveNamespaces PrefixList. |
InputType | Specifies the Input type. |
InsertBeforeXMLElement | Defines the reference XML element for signature insertion. |
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. |
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. |
TempPath | Location where the temporary files are stored. |
UseHMACSigning | Whether to use HMAC signing. |
UsePSS | Whether to use RSASSA-PSS algorithm. |
WriteBOM | Specifies whether byte-order mark should be written when saving the document. |
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 class. |
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. |
TLSSessionGroup | Specifies the group name of TLS sessions to be used for session resumption. |
TLSSessionLifetime | Specifies lifetime in seconds of the cached TLS session. |
TLSSessionPurgeInterval | Specifies how often the session cache should remove the expired TLS sessions. |
UseOwnDNSResolver | Specifies whether the client classes 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. |
CanonicalizationMethod Property (XMLSigner Class)
Specifies XML canonicalization method to use.
Syntax
ANSI (Cross Platform) int GetCanonicalizationMethod();
int SetCanonicalizationMethod(int iCanonicalizationMethod); Unicode (Windows) INT GetCanonicalizationMethod();
INT SetCanonicalizationMethod(INT iCanonicalizationMethod);
Possible Values
CXCM_NONE(0),
CXCM_CANON(1),
CXCM_CANON_COMMENT(2),
CXCM_EXCL_CANON(3),
CXCM_EXCL_CANON_COMMENT(4),
CXCM_MIN_CANON(5),
CXCM_CANON_V_1_1(6),
CXCM_CANON_COMMENT_V_1_1(7)
int secureblackbox_xmlsigner_getcanonicalizationmethod(void* lpObj);
int secureblackbox_xmlsigner_setcanonicalizationmethod(void* lpObj, int iCanonicalizationMethod);
int GetCanonicalizationMethod();
int SetCanonicalizationMethod(int iCanonicalizationMethod);
Default Value
1
Remarks
Use this property to specify the method for XML canonicalization of SignedInfo element. See XML-Signature Syntax and Processing specification for details.
Supported canonicalization methods:
cxcmNone | 0 | |
cxcmCanon | 1 | |
cxcmCanonComment | 2 | |
cxcmExclCanon | 3 | |
cxcmExclCanonComment | 4 | |
cxcmMinCanon | 5 | |
cxcmCanon_v1_1 | 6 | |
cxcmCanonComment_v1_1 | 7 |
Data Type
Integer
DataBytes Property (XMLSigner Class)
Use this property to pass the external data to class in the byte array form.
Syntax
ANSI (Cross Platform) int GetDataBytes(char* &lpDataBytes, int &lenDataBytes);
int SetDataBytes(const char* lpDataBytes, int lenDataBytes); Unicode (Windows) INT GetDataBytes(LPSTR &lpDataBytes, INT &lenDataBytes);
INT SetDataBytes(LPCSTR lpDataBytes, INT lenDataBytes);
int secureblackbox_xmlsigner_getdatabytes(void* lpObj, char** lpDataBytes, int* lenDataBytes);
int secureblackbox_xmlsigner_setdatabytes(void* lpObj, const char* lpDataBytes, int lenDataBytes);
QByteArray GetDataBytes();
int SetDataBytes(QByteArray qbaDataBytes);
Remarks
Assign a byte array containing the external data to be processed to this property.
This property is not available at design time.
Data Type
Byte Array
DataFile Property (XMLSigner Class)
A file containing the external data covered by a detached signature.
Syntax
ANSI (Cross Platform) char* GetDataFile();
int SetDataFile(const char* lpszDataFile); Unicode (Windows) LPWSTR GetDataFile();
INT SetDataFile(LPCWSTR lpszDataFile);
char* secureblackbox_xmlsigner_getdatafile(void* lpObj);
int secureblackbox_xmlsigner_setdatafile(void* lpObj, const char* lpszDataFile);
QString GetDataFile();
int SetDataFile(QString qsDataFile);
Default Value
""
Remarks
In the case of a detached signature, use this property to provide the external data to the class from a file. Alternatively, provide the data via DataStream.
Data Type
String
DataType Property (XMLSigner Class)
Specifies the external data type.
Syntax
ANSI (Cross Platform) int GetDataType();
int SetDataType(int iDataType); Unicode (Windows) INT GetDataType();
INT SetDataType(INT iDataType);
Possible Values
CXDT_XML(0),
CXDT_BINARY(1),
CXDT_BASE_64(2)
int secureblackbox_xmlsigner_getdatatype(void* lpObj);
int secureblackbox_xmlsigner_setdatatype(void* lpObj, int iDataType);
int GetDataType();
int SetDataType(int iDataType);
Default Value
0
Remarks
Use this property to specify the type of the external data (either DataFile, DataStream or DataBytes properties) for class.
Data Type
Integer
DataURI Property (XMLSigner Class)
Specifies a detached data resource URI.
Syntax
ANSI (Cross Platform) char* GetDataURI();
int SetDataURI(const char* lpszDataURI); Unicode (Windows) LPWSTR GetDataURI();
INT SetDataURI(LPCWSTR lpszDataURI);
char* secureblackbox_xmlsigner_getdatauri(void* lpObj);
int secureblackbox_xmlsigner_setdatauri(void* lpObj, const char* lpszDataURI);
QString GetDataURI();
int SetDataURI(QString qsDataURI);
Default Value
""
Remarks
Specifies a URI used for data being signed, usually the data filename if stored along with a detached signature.
Data Type
String
Encoding Property (XMLSigner Class)
Specifies XML encoding.
Syntax
ANSI (Cross Platform) char* GetEncoding();
int SetEncoding(const char* lpszEncoding); Unicode (Windows) LPWSTR GetEncoding();
INT SetEncoding(LPCWSTR lpszEncoding);
char* secureblackbox_xmlsigner_getencoding(void* lpObj);
int secureblackbox_xmlsigner_setencoding(void* lpObj, const char* lpszEncoding);
QString GetEncoding();
int SetEncoding(QString qsEncoding);
Default Value
""
Remarks
Use this property to specify the encoding to apply to the XML documents.
Data Type
String
ExternalCryptoAsyncDocumentID Property (XMLSigner Class)
Specifies an optional document ID for SignAsyncBegin() and SignAsyncEnd() calls.
Syntax
ANSI (Cross Platform) char* GetExternalCryptoAsyncDocumentID();
int SetExternalCryptoAsyncDocumentID(const char* lpszExternalCryptoAsyncDocumentID); Unicode (Windows) LPWSTR GetExternalCryptoAsyncDocumentID();
INT SetExternalCryptoAsyncDocumentID(LPCWSTR lpszExternalCryptoAsyncDocumentID);
char* secureblackbox_xmlsigner_getexternalcryptoasyncdocumentid(void* lpObj);
int secureblackbox_xmlsigner_setexternalcryptoasyncdocumentid(void* lpObj, const char* lpszExternalCryptoAsyncDocumentID);
QString GetExternalCryptoAsyncDocumentID();
int SetExternalCryptoAsyncDocumentID(QString qsExternalCryptoAsyncDocumentID);
Default Value
""
Remarks
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 the pre-signing (SignAsyncBegin) and completion (SignAsyncEnd) stages.
Data Type
String
ExternalCryptoCustomParams Property (XMLSigner Class)
Custom parameters to be passed to the signing service (uninterpreted).
Syntax
ANSI (Cross Platform) char* GetExternalCryptoCustomParams();
int SetExternalCryptoCustomParams(const char* lpszExternalCryptoCustomParams); Unicode (Windows) LPWSTR GetExternalCryptoCustomParams();
INT SetExternalCryptoCustomParams(LPCWSTR lpszExternalCryptoCustomParams);
char* secureblackbox_xmlsigner_getexternalcryptocustomparams(void* lpObj);
int secureblackbox_xmlsigner_setexternalcryptocustomparams(void* lpObj, const char* lpszExternalCryptoCustomParams);
QString GetExternalCryptoCustomParams();
int SetExternalCryptoCustomParams(QString qsExternalCryptoCustomParams);
Default Value
""
Remarks
Custom parameters to be passed to the signing service (uninterpreted).
This property is not available at design time.
Data Type
String
ExternalCryptoData Property (XMLSigner Class)
Additional data to be included in the async state and mirrored back by the requestor.
Syntax
ANSI (Cross Platform) char* GetExternalCryptoData();
int SetExternalCryptoData(const char* lpszExternalCryptoData); Unicode (Windows) LPWSTR GetExternalCryptoData();
INT SetExternalCryptoData(LPCWSTR lpszExternalCryptoData);
char* secureblackbox_xmlsigner_getexternalcryptodata(void* lpObj);
int secureblackbox_xmlsigner_setexternalcryptodata(void* lpObj, const char* lpszExternalCryptoData);
QString GetExternalCryptoData();
int SetExternalCryptoData(QString qsExternalCryptoData);
Default Value
""
Remarks
Additional data to be included in the async state and mirrored back by the requestor.
This property is not available at design time.
Data Type
String
ExternalCryptoExternalHashCalculation Property (XMLSigner Class)
Specifies whether the message hash is to be calculated at the external endpoint.
Syntax
ANSI (Cross Platform) int GetExternalCryptoExternalHashCalculation();
int SetExternalCryptoExternalHashCalculation(int bExternalCryptoExternalHashCalculation); Unicode (Windows) BOOL GetExternalCryptoExternalHashCalculation();
INT SetExternalCryptoExternalHashCalculation(BOOL bExternalCryptoExternalHashCalculation);
int secureblackbox_xmlsigner_getexternalcryptoexternalhashcalculation(void* lpObj);
int secureblackbox_xmlsigner_setexternalcryptoexternalhashcalculation(void* lpObj, int bExternalCryptoExternalHashCalculation);
bool GetExternalCryptoExternalHashCalculation();
int SetExternalCryptoExternalHashCalculation(bool bExternalCryptoExternalHashCalculation);
Default Value
FALSE
Remarks
Specifies whether the message hash is to be calculated at the external endpoint. Please note that this mode is not supported by the DCAuth class.
If set to true, the class will pass a few kilobytes of to-be-signed data from the document to the OnExternalSign event. This only applies when SignExternal() is called.
Data Type
Boolean
ExternalCryptoHashAlgorithm Property (XMLSigner Class)
Specifies the request's signature hash algorithm.
Syntax
ANSI (Cross Platform) char* GetExternalCryptoHashAlgorithm();
int SetExternalCryptoHashAlgorithm(const char* lpszExternalCryptoHashAlgorithm); Unicode (Windows) LPWSTR GetExternalCryptoHashAlgorithm();
INT SetExternalCryptoHashAlgorithm(LPCWSTR lpszExternalCryptoHashAlgorithm);
char* secureblackbox_xmlsigner_getexternalcryptohashalgorithm(void* lpObj);
int secureblackbox_xmlsigner_setexternalcryptohashalgorithm(void* lpObj, const char* lpszExternalCryptoHashAlgorithm);
QString GetExternalCryptoHashAlgorithm();
int SetExternalCryptoHashAlgorithm(QString qsExternalCryptoHashAlgorithm);
Default Value
"SHA256"
Remarks
Specifies the request's signature hash algorithm.
SB_HASH_ALGORITHM_SHA1 | SHA1 | |
SB_HASH_ALGORITHM_SHA224 | SHA224 | |
SB_HASH_ALGORITHM_SHA256 | SHA256 | |
SB_HASH_ALGORITHM_SHA384 | SHA384 | |
SB_HASH_ALGORITHM_SHA512 | SHA512 | |
SB_HASH_ALGORITHM_MD2 | MD2 | |
SB_HASH_ALGORITHM_MD4 | MD4 | |
SB_HASH_ALGORITHM_MD5 | MD5 | |
SB_HASH_ALGORITHM_RIPEMD160 | RIPEMD160 | |
SB_HASH_ALGORITHM_CRC32 | CRC32 | |
SB_HASH_ALGORITHM_SSL3 | SSL3 | |
SB_HASH_ALGORITHM_GOST_R3411_1994 | GOST1994 | |
SB_HASH_ALGORITHM_WHIRLPOOL | WHIRLPOOL | |
SB_HASH_ALGORITHM_POLY1305 | POLY1305 | |
SB_HASH_ALGORITHM_SHA3_224 | SHA3_224 | |
SB_HASH_ALGORITHM_SHA3_256 | SHA3_256 | |
SB_HASH_ALGORITHM_SHA3_384 | SHA3_384 | |
SB_HASH_ALGORITHM_SHA3_512 | SHA3_512 | |
SB_HASH_ALGORITHM_BLAKE2S_128 | BLAKE2S_128 | |
SB_HASH_ALGORITHM_BLAKE2S_160 | BLAKE2S_160 | |
SB_HASH_ALGORITHM_BLAKE2S_224 | BLAKE2S_224 | |
SB_HASH_ALGORITHM_BLAKE2S_256 | BLAKE2S_256 | |
SB_HASH_ALGORITHM_BLAKE2B_160 | BLAKE2B_160 | |
SB_HASH_ALGORITHM_BLAKE2B_256 | BLAKE2B_256 | |
SB_HASH_ALGORITHM_BLAKE2B_384 | BLAKE2B_384 | |
SB_HASH_ALGORITHM_BLAKE2B_512 | BLAKE2B_512 | |
SB_HASH_ALGORITHM_SHAKE_128 | SHAKE_128 | |
SB_HASH_ALGORITHM_SHAKE_256 | SHAKE_256 | |
SB_HASH_ALGORITHM_SHAKE_128_LEN | SHAKE_128_LEN | |
SB_HASH_ALGORITHM_SHAKE_256_LEN | SHAKE_256_LEN |
Data Type
String
ExternalCryptoKeyID Property (XMLSigner Class)
The ID of the pre-shared key used for DC request authentication.
Syntax
ANSI (Cross Platform) char* GetExternalCryptoKeyID();
int SetExternalCryptoKeyID(const char* lpszExternalCryptoKeyID); Unicode (Windows) LPWSTR GetExternalCryptoKeyID();
INT SetExternalCryptoKeyID(LPCWSTR lpszExternalCryptoKeyID);
char* secureblackbox_xmlsigner_getexternalcryptokeyid(void* lpObj);
int secureblackbox_xmlsigner_setexternalcryptokeyid(void* lpObj, const char* lpszExternalCryptoKeyID);
QString GetExternalCryptoKeyID();
int SetExternalCryptoKeyID(QString qsExternalCryptoKeyID);
Default Value
""
Remarks
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 an extra protection layer for the protocol and diminishes the risk of the private key becoming abused by foreign parties. Use this property to provide the pre-shared key identifier, and use ExternalCryptoKeySecret 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:
signer.ExternalCrypto.KeyID = "MainSigningKey";
signer.ExternalCrypto.KeySecret = "abcdef0123456789";
Data Type
String
ExternalCryptoKeySecret Property (XMLSigner Class)
The pre-shared key used for DC request authentication.
Syntax
ANSI (Cross Platform) char* GetExternalCryptoKeySecret();
int SetExternalCryptoKeySecret(const char* lpszExternalCryptoKeySecret); Unicode (Windows) LPWSTR GetExternalCryptoKeySecret();
INT SetExternalCryptoKeySecret(LPCWSTR lpszExternalCryptoKeySecret);
char* secureblackbox_xmlsigner_getexternalcryptokeysecret(void* lpObj);
int secureblackbox_xmlsigner_setexternalcryptokeysecret(void* lpObj, const char* lpszExternalCryptoKeySecret);
QString GetExternalCryptoKeySecret();
int SetExternalCryptoKeySecret(QString qsExternalCryptoKeySecret);
Default Value
""
Remarks
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 ExternalCryptoKeyID topic.
Data Type
String
ExternalCryptoMethod Property (XMLSigner Class)
Specifies the asynchronous signing method.
Syntax
ANSI (Cross Platform) int GetExternalCryptoMethod();
int SetExternalCryptoMethod(int iExternalCryptoMethod); Unicode (Windows) INT GetExternalCryptoMethod();
INT SetExternalCryptoMethod(INT iExternalCryptoMethod);
Possible Values
ASMD_PKCS1(0),
ASMD_PKCS7(1)
int secureblackbox_xmlsigner_getexternalcryptomethod(void* lpObj);
int secureblackbox_xmlsigner_setexternalcryptomethod(void* lpObj, int iExternalCryptoMethod);
int GetExternalCryptoMethod();
int SetExternalCryptoMethod(int iExternalCryptoMethod);
Default Value
0
Remarks
Specifies the asynchronous signing method. This is typically defined by the DC server capabilities and setup.
Available options:
asmdPKCS1 | 0 |
asmdPKCS7 | 1 |
Data Type
Integer
ExternalCryptoMode Property (XMLSigner Class)
Specifies the external cryptography mode.
Syntax
ANSI (Cross Platform) int GetExternalCryptoMode();
int SetExternalCryptoMode(int iExternalCryptoMode); Unicode (Windows) INT GetExternalCryptoMode();
INT SetExternalCryptoMode(INT iExternalCryptoMode);
Possible Values
ECM_DEFAULT(0),
ECM_DISABLED(1),
ECM_GENERIC(2),
ECM_DCAUTH(3),
ECM_DCAUTH_JSON(4)
int secureblackbox_xmlsigner_getexternalcryptomode(void* lpObj);
int secureblackbox_xmlsigner_setexternalcryptomode(void* lpObj, int iExternalCryptoMode);
int GetExternalCryptoMode();
int SetExternalCryptoMode(int iExternalCryptoMode);
Default Value
0
Remarks
Specifies the external cryptography mode.
Available options:
ecmDefault | The default value (0) |
ecmDisabled | Do not use DC or external signing (1) |
ecmGeneric | Generic external signing with the OnExternalSign event (2) |
ecmDCAuth | DCAuth signing (3) |
ecmDCAuthJSON | DCAuth signing in JSON format (4) |
This property is not available at design time.
Data Type
Integer
ExternalCryptoPublicKeyAlgorithm Property (XMLSigner Class)
Provide the public key algorithm here if the certificate is not available on the pre-signing stage.
Syntax
ANSI (Cross Platform) char* GetExternalCryptoPublicKeyAlgorithm();
int SetExternalCryptoPublicKeyAlgorithm(const char* lpszExternalCryptoPublicKeyAlgorithm); Unicode (Windows) LPWSTR GetExternalCryptoPublicKeyAlgorithm();
INT SetExternalCryptoPublicKeyAlgorithm(LPCWSTR lpszExternalCryptoPublicKeyAlgorithm);
char* secureblackbox_xmlsigner_getexternalcryptopublickeyalgorithm(void* lpObj);
int secureblackbox_xmlsigner_setexternalcryptopublickeyalgorithm(void* lpObj, const char* lpszExternalCryptoPublicKeyAlgorithm);
QString GetExternalCryptoPublicKeyAlgorithm();
int SetExternalCryptoPublicKeyAlgorithm(QString qsExternalCryptoPublicKeyAlgorithm);
Default Value
""
Remarks
Provide the public key algorithm here if the certificate is not available on the pre-signing stage.
SB_CERT_ALGORITHM_ID_RSA_ENCRYPTION | rsaEncryption | |
SB_CERT_ALGORITHM_MD2_RSA_ENCRYPTION | md2withRSAEncryption | |
SB_CERT_ALGORITHM_MD5_RSA_ENCRYPTION | md5withRSAEncryption | |
SB_CERT_ALGORITHM_SHA1_RSA_ENCRYPTION | sha1withRSAEncryption | |
SB_CERT_ALGORITHM_ID_DSA | id-dsa | |
SB_CERT_ALGORITHM_ID_DSA_SHA1 | id-dsa-with-sha1 | |
SB_CERT_ALGORITHM_DH_PUBLIC | dhpublicnumber | |
SB_CERT_ALGORITHM_SHA224_RSA_ENCRYPTION | sha224WithRSAEncryption | |
SB_CERT_ALGORITHM_SHA256_RSA_ENCRYPTION | sha256WithRSAEncryption | |
SB_CERT_ALGORITHM_SHA384_RSA_ENCRYPTION | sha384WithRSAEncryption | |
SB_CERT_ALGORITHM_SHA512_RSA_ENCRYPTION | sha512WithRSAEncryption | |
SB_CERT_ALGORITHM_ID_RSAPSS | id-RSASSA-PSS | |
SB_CERT_ALGORITHM_ID_RSAOAEP | id-RSAES-OAEP | |
SB_CERT_ALGORITHM_RSASIGNATURE_RIPEMD160 | ripemd160withRSA | |
SB_CERT_ALGORITHM_ID_ELGAMAL | elGamal | |
SB_CERT_ALGORITHM_SHA1_ECDSA | ecdsa-with-SHA1 | |
SB_CERT_ALGORITHM_RECOMMENDED_ECDSA | ecdsa-recommended | |
SB_CERT_ALGORITHM_SHA224_ECDSA | ecdsa-with-SHA224 | |
SB_CERT_ALGORITHM_SHA256_ECDSA | ecdsa-with-SHA256 | |
SB_CERT_ALGORITHM_SHA384_ECDSA | ecdsa-with-SHA384 | |
SB_CERT_ALGORITHM_SHA512_ECDSA | ecdsa-with-SHA512 | |
SB_CERT_ALGORITHM_EC | id-ecPublicKey | |
SB_CERT_ALGORITHM_SPECIFIED_ECDSA | ecdsa-specified | |
SB_CERT_ALGORITHM_GOST_R3410_1994 | id-GostR3410-94 | |
SB_CERT_ALGORITHM_GOST_R3410_2001 | id-GostR3410-2001 | |
SB_CERT_ALGORITHM_GOST_R3411_WITH_R3410_1994 | id-GostR3411-94-with-GostR3410-94 | |
SB_CERT_ALGORITHM_GOST_R3411_WITH_R3410_2001 | id-GostR3411-94-with-GostR3410-2001 | |
SB_CERT_ALGORITHM_SHA1_ECDSA_PLAIN | ecdsa-plain-SHA1 | |
SB_CERT_ALGORITHM_SHA224_ECDSA_PLAIN | ecdsa-plain-SHA224 | |
SB_CERT_ALGORITHM_SHA256_ECDSA_PLAIN | ecdsa-plain-SHA256 | |
SB_CERT_ALGORITHM_SHA384_ECDSA_PLAIN | ecdsa-plain-SHA384 | |
SB_CERT_ALGORITHM_SHA512_ECDSA_PLAIN | ecdsa-plain-SHA512 | |
SB_CERT_ALGORITHM_RIPEMD160_ECDSA_PLAIN | ecdsa-plain-RIPEMD160 | |
SB_CERT_ALGORITHM_WHIRLPOOL_RSA_ENCRYPTION | whirlpoolWithRSAEncryption | |
SB_CERT_ALGORITHM_ID_DSA_SHA224 | id-dsa-with-sha224 | |
SB_CERT_ALGORITHM_ID_DSA_SHA256 | id-dsa-with-sha256 | |
SB_CERT_ALGORITHM_SHA3_224_RSA_ENCRYPTION | id-rsassa-pkcs1-v1_5-with-sha3-224 | |
SB_CERT_ALGORITHM_SHA3_256_RSA_ENCRYPTION | id-rsassa-pkcs1-v1_5-with-sha3-256 | |
SB_CERT_ALGORITHM_SHA3_384_RSA_ENCRYPTION | id-rsassa-pkcs1-v1_5-with-sha3-384 | |
SB_CERT_ALGORITHM_SHA3_512_RSA_ENCRYPTION | id-rsassa-pkcs1-v1_5-with-sha3-512 | |
SB_CERT_ALGORITHM_SHA3_224_ECDSA | id-ecdsa-with-sha3-224 | |
SB_CERT_ALGORITHM_SHA3_256_ECDSA | id-ecdsa-with-sha3-256 | |
SB_CERT_ALGORITHM_SHA3_384_ECDSA | id-ecdsa-with-sha3-384 | |
SB_CERT_ALGORITHM_SHA3_512_ECDSA | id-ecdsa-with-sha3-512 | |
SB_CERT_ALGORITHM_SHA3_224_ECDSA_PLAIN | id-ecdsa-plain-with-sha3-224 | |
SB_CERT_ALGORITHM_SHA3_256_ECDSA_PLAIN | id-ecdsa-plain-with-sha3-256 | |
SB_CERT_ALGORITHM_SHA3_384_ECDSA_PLAIN | id-ecdsa-plain-with-sha3-384 | |
SB_CERT_ALGORITHM_SHA3_512_ECDSA_PLAIN | id-ecdsa-plain-with-sha3-512 | |
SB_CERT_ALGORITHM_ID_DSA_SHA3_224 | id-dsa-with-sha3-224 | |
SB_CERT_ALGORITHM_ID_DSA_SHA3_256 | id-dsa-with-sha3-256 | |
SB_CERT_ALGORITHM_BLAKE2S_128_RSA_ENCRYPTION | id-rsassa-pkcs1-v1_5-with-blake2s128 | |
SB_CERT_ALGORITHM_BLAKE2S_160_RSA_ENCRYPTION | id-rsassa-pkcs1-v1_5-with-blake2s160 | |
SB_CERT_ALGORITHM_BLAKE2S_224_RSA_ENCRYPTION | id-rsassa-pkcs1-v1_5-with-blake2s224 | |
SB_CERT_ALGORITHM_BLAKE2S_256_RSA_ENCRYPTION | id-rsassa-pkcs1-v1_5-with-blake2s256 | |
SB_CERT_ALGORITHM_BLAKE2B_160_RSA_ENCRYPTION | id-rsassa-pkcs1-v1_5-with-blake2b160 | |
SB_CERT_ALGORITHM_BLAKE2B_256_RSA_ENCRYPTION | id-rsassa-pkcs1-v1_5-with-blake2b256 | |
SB_CERT_ALGORITHM_BLAKE2B_384_RSA_ENCRYPTION | id-rsassa-pkcs1-v1_5-with-blake2b384 | |
SB_CERT_ALGORITHM_BLAKE2B_512_RSA_ENCRYPTION | id-rsassa-pkcs1-v1_5-with-blake2b512 | |
SB_CERT_ALGORITHM_BLAKE2S_128_ECDSA | id-ecdsa-with-blake2s128 | |
SB_CERT_ALGORITHM_BLAKE2S_160_ECDSA | id-ecdsa-with-blake2s160 | |
SB_CERT_ALGORITHM_BLAKE2S_224_ECDSA | id-ecdsa-with-blake2s224 | |
SB_CERT_ALGORITHM_BLAKE2S_256_ECDSA | id-ecdsa-with-blake2s256 | |
SB_CERT_ALGORITHM_BLAKE2B_160_ECDSA | id-ecdsa-with-blake2b160 | |
SB_CERT_ALGORITHM_BLAKE2B_256_ECDSA | id-ecdsa-with-blake2b256 | |
SB_CERT_ALGORITHM_BLAKE2B_384_ECDSA | id-ecdsa-with-blake2b384 | |
SB_CERT_ALGORITHM_BLAKE2B_512_ECDSA | id-ecdsa-with-blake2b512 | |
SB_CERT_ALGORITHM_BLAKE2S_128_ECDSA_PLAIN | id-ecdsa-plain-with-blake2s128 | |
SB_CERT_ALGORITHM_BLAKE2S_160_ECDSA_PLAIN | id-ecdsa-plain-with-blake2s160 | |
SB_CERT_ALGORITHM_BLAKE2S_224_ECDSA_PLAIN | id-ecdsa-plain-with-blake2s224 | |
SB_CERT_ALGORITHM_BLAKE2S_256_ECDSA_PLAIN | id-ecdsa-plain-with-blake2s256 | |
SB_CERT_ALGORITHM_BLAKE2B_160_ECDSA_PLAIN | id-ecdsa-plain-with-blake2b160 | |
SB_CERT_ALGORITHM_BLAKE2B_256_ECDSA_PLAIN | id-ecdsa-plain-with-blake2b256 | |
SB_CERT_ALGORITHM_BLAKE2B_384_ECDSA_PLAIN | id-ecdsa-plain-with-blake2b384 | |
SB_CERT_ALGORITHM_BLAKE2B_512_ECDSA_PLAIN | id-ecdsa-plain-with-blake2b512 | |
SB_CERT_ALGORITHM_ID_DSA_BLAKE2S_224 | id-dsa-with-blake2s224 | |
SB_CERT_ALGORITHM_ID_DSA_BLAKE2S_256 | id-dsa-with-blake2s256 | |
SB_CERT_ALGORITHM_EDDSA_ED25519 | id-Ed25519 | |
SB_CERT_ALGORITHM_EDDSA_ED448 | id-Ed448 | |
SB_CERT_ALGORITHM_EDDSA_ED25519_PH | id-Ed25519ph | |
SB_CERT_ALGORITHM_EDDSA_ED448_PH | id-Ed448ph | |
SB_CERT_ALGORITHM_EDDSA | id-EdDSA | |
SB_CERT_ALGORITHM_EDDSA_SIGNATURE | id-EdDSA-sig |
Data Type
String
FIPSMode Property (XMLSigner Class)
Reserved.
Syntax
ANSI (Cross Platform) int GetFIPSMode();
int SetFIPSMode(int bFIPSMode); Unicode (Windows) BOOL GetFIPSMode();
INT SetFIPSMode(BOOL bFIPSMode);
int secureblackbox_xmlsigner_getfipsmode(void* lpObj);
int secureblackbox_xmlsigner_setfipsmode(void* lpObj, int bFIPSMode);
bool GetFIPSMode();
int SetFIPSMode(bool bFIPSMode);
Default Value
FALSE
Remarks
This property is reserved for future use.
Data Type
Boolean
HashAlgorithm Property (XMLSigner Class)
Specifies the hash algorithm to be used.
Syntax
ANSI (Cross Platform) char* GetHashAlgorithm();
int SetHashAlgorithm(const char* lpszHashAlgorithm); Unicode (Windows) LPWSTR GetHashAlgorithm();
INT SetHashAlgorithm(LPCWSTR lpszHashAlgorithm);
char* secureblackbox_xmlsigner_gethashalgorithm(void* lpObj);
int secureblackbox_xmlsigner_sethashalgorithm(void* lpObj, const char* lpszHashAlgorithm);
QString GetHashAlgorithm();
int SetHashAlgorithm(QString qsHashAlgorithm);
Default Value
"SHA256"
Remarks
Use this property to set the hash algorithm for signature calculation.
Supported values:
SB_HASH_ALGORITHM_MD5 | MD5 | |
SB_HASH_ALGORITHM_SHA1 | SHA1 | |
SB_HASH_ALGORITHM_SHA224 | SHA224 | |
SB_HASH_ALGORITHM_SHA256 | SHA256 | |
SB_HASH_ALGORITHM_SHA384 | SHA384 | |
SB_HASH_ALGORITHM_SHA512 | SHA512 | |
SB_HASH_ALGORITHM_RIPEMD160 | RIPEMD160 | |
SB_HASH_ALGORITHM_GOST_R3411_1994 | GOST1994 | |
SB_HASH_ALGORITHM_WHIRLPOOL | WHIRLPOOL | |
SB_HASH_ALGORITHM_SHA3_256 | SHA3_256 | |
SB_HASH_ALGORITHM_SHA3_384 | SHA3_384 | |
SB_HASH_ALGORITHM_SHA3_512 | SHA3_512 |
Data Type
String
InputBytes Property (XMLSigner Class)
Use this property to pass the input to class in byte array form.
Syntax
ANSI (Cross Platform) int GetInputBytes(char* &lpInputBytes, int &lenInputBytes);
int SetInputBytes(const char* lpInputBytes, int lenInputBytes); Unicode (Windows) INT GetInputBytes(LPSTR &lpInputBytes, INT &lenInputBytes);
INT SetInputBytes(LPCSTR lpInputBytes, INT lenInputBytes);
int secureblackbox_xmlsigner_getinputbytes(void* lpObj, char** lpInputBytes, int* lenInputBytes);
int secureblackbox_xmlsigner_setinputbytes(void* lpObj, const char* lpInputBytes, int lenInputBytes);
QByteArray GetInputBytes();
int SetInputBytes(QByteArray qbaInputBytes);
Remarks
Assign a byte array containing the data to be processed to this property.
This property is not available at design time.
Data Type
Byte Array
InputFile Property (XMLSigner Class)
Specifies the XML document to be signed.
Syntax
ANSI (Cross Platform) char* GetInputFile();
int SetInputFile(const char* lpszInputFile); Unicode (Windows) LPWSTR GetInputFile();
INT SetInputFile(LPCWSTR lpszInputFile);
char* secureblackbox_xmlsigner_getinputfile(void* lpObj);
int secureblackbox_xmlsigner_setinputfile(void* lpObj, const char* lpszInputFile);
QString GetInputFile();
int SetInputFile(QString qsInputFile);
Default Value
""
Remarks
Provide a path to the XML file to be signed.
Data Type
String
OutputBytes Property (XMLSigner Class)
Use this property to read the output the class object has produced.
Syntax
ANSI (Cross Platform) int GetOutputBytes(char* &lpOutputBytes, int &lenOutputBytes); Unicode (Windows) INT GetOutputBytes(LPSTR &lpOutputBytes, INT &lenOutputBytes);
int secureblackbox_xmlsigner_getoutputbytes(void* lpObj, char** lpOutputBytes, int* lenOutputBytes);
QByteArray GetOutputBytes();
Remarks
Read the contents of this property after the operation has completed to read the produced output. This property will only be set if the OutputFile and OutputStream properties had not been assigned.
This property is read-only and not available at design time.
Data Type
Byte Array
OutputFile Property (XMLSigner Class)
A file where the signed document is to be saved.
Syntax
ANSI (Cross Platform) char* GetOutputFile();
int SetOutputFile(const char* lpszOutputFile); Unicode (Windows) LPWSTR GetOutputFile();
INT SetOutputFile(LPCWSTR lpszOutputFile);
char* secureblackbox_xmlsigner_getoutputfile(void* lpObj);
int secureblackbox_xmlsigner_setoutputfile(void* lpObj, const char* lpszOutputFile);
QString GetOutputFile();
int SetOutputFile(QString qsOutputFile);
Default Value
""
Remarks
Provide a path to the file where the signed document is to be saved.
Data Type
String
ReferenceCount Property (XMLSigner Class)
The number of records in the Reference arrays.
Syntax
ANSI (Cross Platform) int GetReferenceCount();
int SetReferenceCount(int iReferenceCount); Unicode (Windows) INT GetReferenceCount();
INT SetReferenceCount(INT iReferenceCount);
int secureblackbox_xmlsigner_getreferencecount(void* lpObj);
int secureblackbox_xmlsigner_setreferencecount(void* lpObj, int iReferenceCount);
int GetReferenceCount();
int SetReferenceCount(int iReferenceCount);
Default Value
0
Remarks
This property controls the size of the following arrays:
- ReferenceAutoGenerateElementId
- ReferenceCanonicalizationMethod
- ReferenceCustomElementId
- ReferenceDigestValue
- ReferenceHandle
- ReferenceHashAlgorithm
- ReferenceHasURI
- ReferenceID
- ReferenceInclusiveNamespacesPrefixList
- ReferenceReferenceType
- ReferenceSignatureIndex
- ReferenceTargetData
- ReferenceTargetType
- ReferenceTargetXMLElement
- ReferenceURI
- ReferenceUseBase64Transform
- ReferenceUseEnvelopedSignatureTransform
- ReferenceUseXPathFilter2Transform
- ReferenceUseXPathTransform
- ReferenceXPathExpression
- ReferenceXPathFilter2Expressions
- ReferenceXPathFilter2Filters
- ReferenceXPathFilter2PrefixList
- ReferenceXPathPrefixList
The array indices start at 0 and end at ReferenceCount - 1.
This property is not available at design time.
Data Type
Integer
ReferenceAutoGenerateElementId Property (XMLSigner Class)
Specifies whether the identifier (ID) attribute for a referenced (target) element should be auto-generated during signing.
Syntax
ANSI (Cross Platform) int GetReferenceAutoGenerateElementId(int iReferenceIndex);
int SetReferenceAutoGenerateElementId(int iReferenceIndex, int bReferenceAutoGenerateElementId); Unicode (Windows) BOOL GetReferenceAutoGenerateElementId(INT iReferenceIndex);
INT SetReferenceAutoGenerateElementId(INT iReferenceIndex, BOOL bReferenceAutoGenerateElementId);
int secureblackbox_xmlsigner_getreferenceautogenerateelementid(void* lpObj, int referenceindex);
int secureblackbox_xmlsigner_setreferenceautogenerateelementid(void* lpObj, int referenceindex, int bReferenceAutoGenerateElementId);
bool GetReferenceAutoGenerateElementId(int iReferenceIndex);
int SetReferenceAutoGenerateElementId(int iReferenceIndex, bool bReferenceAutoGenerateElementId);
Default Value
FALSE
Remarks
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.
The ReferenceIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ReferenceCount property.
This property is not available at design time.
Data Type
Boolean
ReferenceCanonicalizationMethod Property (XMLSigner Class)
Use this property to specify the canonicalization method for the transform of the reference.
Syntax
ANSI (Cross Platform) int GetReferenceCanonicalizationMethod(int iReferenceIndex);
int SetReferenceCanonicalizationMethod(int iReferenceIndex, int iReferenceCanonicalizationMethod); Unicode (Windows) INT GetReferenceCanonicalizationMethod(INT iReferenceIndex);
INT SetReferenceCanonicalizationMethod(INT iReferenceIndex, INT iReferenceCanonicalizationMethod);
Possible Values
CXCM_NONE(0),
CXCM_CANON(1),
CXCM_CANON_COMMENT(2),
CXCM_EXCL_CANON(3),
CXCM_EXCL_CANON_COMMENT(4),
CXCM_MIN_CANON(5),
CXCM_CANON_V_1_1(6),
CXCM_CANON_COMMENT_V_1_1(7)
int secureblackbox_xmlsigner_getreferencecanonicalizationmethod(void* lpObj, int referenceindex);
int secureblackbox_xmlsigner_setreferencecanonicalizationmethod(void* lpObj, int referenceindex, int iReferenceCanonicalizationMethod);
int GetReferenceCanonicalizationMethod(int iReferenceIndex);
int SetReferenceCanonicalizationMethod(int iReferenceIndex, int iReferenceCanonicalizationMethod);
Default Value
0
Remarks
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.
cxcmNone | 0 | |
cxcmCanon | 1 | |
cxcmCanonComment | 2 | |
cxcmExclCanon | 3 | |
cxcmExclCanonComment | 4 | |
cxcmMinCanon | 5 | |
cxcmCanon_v1_1 | 6 | |
cxcmCanonComment_v1_1 | 7 |
The ReferenceIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ReferenceCount property.
This property is not available at design time.
Data Type
Integer
ReferenceCustomElementId Property (XMLSigner Class)
Specifies a custom identifier (ID) attribute for a referenced (target) element that will be set on signing.
Syntax
ANSI (Cross Platform) char* GetReferenceCustomElementId(int iReferenceIndex);
int SetReferenceCustomElementId(int iReferenceIndex, const char* lpszReferenceCustomElementId); Unicode (Windows) LPWSTR GetReferenceCustomElementId(INT iReferenceIndex);
INT SetReferenceCustomElementId(INT iReferenceIndex, LPCWSTR lpszReferenceCustomElementId);
char* secureblackbox_xmlsigner_getreferencecustomelementid(void* lpObj, int referenceindex);
int secureblackbox_xmlsigner_setreferencecustomelementid(void* lpObj, int referenceindex, const char* lpszReferenceCustomElementId);
QString GetReferenceCustomElementId(int iReferenceIndex);
int SetReferenceCustomElementId(int iReferenceIndex, QString qsReferenceCustomElementId);
Default Value
""
Remarks
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.
The ReferenceIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ReferenceCount property.
This property is not available at design time.
Data Type
String
ReferenceDigestValue Property (XMLSigner Class)
Use this property to get or set the value of the digest calculated over the referenced data.
Syntax
ANSI (Cross Platform) int GetReferenceDigestValue(int iReferenceIndex, char* &lpReferenceDigestValue, int &lenReferenceDigestValue);
int SetReferenceDigestValue(int iReferenceIndex, const char* lpReferenceDigestValue, int lenReferenceDigestValue); Unicode (Windows) INT GetReferenceDigestValue(INT iReferenceIndex, LPSTR &lpReferenceDigestValue, INT &lenReferenceDigestValue);
INT SetReferenceDigestValue(INT iReferenceIndex, LPCSTR lpReferenceDigestValue, INT lenReferenceDigestValue);
int secureblackbox_xmlsigner_getreferencedigestvalue(void* lpObj, int referenceindex, char** lpReferenceDigestValue, int* lenReferenceDigestValue);
int secureblackbox_xmlsigner_setreferencedigestvalue(void* lpObj, int referenceindex, const char* lpReferenceDigestValue, int lenReferenceDigestValue);
QByteArray GetReferenceDigestValue(int iReferenceIndex);
int SetReferenceDigestValue(int iReferenceIndex, QByteArray qbaReferenceDigestValue);
Remarks
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.
The ReferenceIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ReferenceCount property.
This property is not available at design time.
Data Type
Byte Array
ReferenceHandle Property (XMLSigner Class)
Allows to get or set a 'handle', a unique identifier of the underlying property object.
Syntax
ANSI (Cross Platform) int64 GetReferenceHandle(int iReferenceIndex);
int SetReferenceHandle(int iReferenceIndex, int64 lReferenceHandle); Unicode (Windows) LONG64 GetReferenceHandle(INT iReferenceIndex);
INT SetReferenceHandle(INT iReferenceIndex, LONG64 lReferenceHandle);
int64 secureblackbox_xmlsigner_getreferencehandle(void* lpObj, int referenceindex);
int secureblackbox_xmlsigner_setreferencehandle(void* lpObj, int referenceindex, int64 lReferenceHandle);
qint64 GetReferenceHandle(int iReferenceIndex);
int SetReferenceHandle(int iReferenceIndex, qint64 lReferenceHandle);
Default Value
0
Remarks
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.
pdfSigner.setSigningCertHandle(certMgr.getCertHandle());
The ReferenceIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ReferenceCount property.
This property is not available at design time.
Data Type
Long64
ReferenceHashAlgorithm Property (XMLSigner Class)
Specifies the hash algorithm to be used.
Syntax
ANSI (Cross Platform) char* GetReferenceHashAlgorithm(int iReferenceIndex);
int SetReferenceHashAlgorithm(int iReferenceIndex, const char* lpszReferenceHashAlgorithm); Unicode (Windows) LPWSTR GetReferenceHashAlgorithm(INT iReferenceIndex);
INT SetReferenceHashAlgorithm(INT iReferenceIndex, LPCWSTR lpszReferenceHashAlgorithm);
char* secureblackbox_xmlsigner_getreferencehashalgorithm(void* lpObj, int referenceindex);
int secureblackbox_xmlsigner_setreferencehashalgorithm(void* lpObj, int referenceindex, const char* lpszReferenceHashAlgorithm);
QString GetReferenceHashAlgorithm(int iReferenceIndex);
int SetReferenceHashAlgorithm(int iReferenceIndex, QString qsReferenceHashAlgorithm);
Default Value
"SHA256"
Remarks
Specifies the hash algorithm to be used.
Supported values:
SB_HASH_ALGORITHM_MD5 | MD5 | |
SB_HASH_ALGORITHM_SHA1 | SHA1 | |
SB_HASH_ALGORITHM_SHA224 | SHA224 | |
SB_HASH_ALGORITHM_SHA256 | SHA256 | |
SB_HASH_ALGORITHM_SHA384 | SHA384 | |
SB_HASH_ALGORITHM_SHA512 | SHA512 | |
SB_HASH_ALGORITHM_RIPEMD160 | RIPEMD160 | |
SB_HASH_ALGORITHM_GOST_R3411_1994 | GOST1994 | |
SB_HASH_ALGORITHM_WHIRLPOOL | WHIRLPOOL | |
SB_HASH_ALGORITHM_SHA3_256 | SHA3_256 | |
SB_HASH_ALGORITHM_SHA3_384 | SHA3_384 | |
SB_HASH_ALGORITHM_SHA3_512 | SHA3_512 |
The ReferenceIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ReferenceCount property.
This property is not available at design time.
Data Type
String
ReferenceHasURI Property (XMLSigner Class)
Specifies whether the URI is set (even when it is empty).
Syntax
ANSI (Cross Platform) int GetReferenceHasURI(int iReferenceIndex);
int SetReferenceHasURI(int iReferenceIndex, int bReferenceHasURI); Unicode (Windows) BOOL GetReferenceHasURI(INT iReferenceIndex);
INT SetReferenceHasURI(INT iReferenceIndex, BOOL bReferenceHasURI);
int secureblackbox_xmlsigner_getreferencehasuri(void* lpObj, int referenceindex);
int secureblackbox_xmlsigner_setreferencehasuri(void* lpObj, int referenceindex, int bReferenceHasURI);
bool GetReferenceHasURI(int iReferenceIndex);
int SetReferenceHasURI(int iReferenceIndex, bool bReferenceHasURI);
Default Value
TRUE
Remarks
Specifies whether the URI is set (even when it is empty).
The ReferenceIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ReferenceCount property.
This property is not available at design time.
Data Type
Boolean
ReferenceID Property (XMLSigner Class)
A user-defined identifier (ID) attribute of this Reference element.
Syntax
ANSI (Cross Platform) char* GetReferenceID(int iReferenceIndex);
int SetReferenceID(int iReferenceIndex, const char* lpszReferenceID); Unicode (Windows) LPWSTR GetReferenceID(INT iReferenceIndex);
INT SetReferenceID(INT iReferenceIndex, LPCWSTR lpszReferenceID);
char* secureblackbox_xmlsigner_getreferenceid(void* lpObj, int referenceindex);
int secureblackbox_xmlsigner_setreferenceid(void* lpObj, int referenceindex, const char* lpszReferenceID);
QString GetReferenceID(int iReferenceIndex);
int SetReferenceID(int iReferenceIndex, QString qsReferenceID);
Default Value
""
Remarks
A user-defined identifier (ID) attribute of this Reference element.
The ReferenceIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ReferenceCount property.
This property is not available at design time.
Data Type
String
ReferenceInclusiveNamespacesPrefixList Property (XMLSigner Class)
Use this property to specify InclusiveNamespaces PrefixList for exclusive canonicalization transform of the reference.
Syntax
ANSI (Cross Platform) char* GetReferenceInclusiveNamespacesPrefixList(int iReferenceIndex);
int SetReferenceInclusiveNamespacesPrefixList(int iReferenceIndex, const char* lpszReferenceInclusiveNamespacesPrefixList); Unicode (Windows) LPWSTR GetReferenceInclusiveNamespacesPrefixList(INT iReferenceIndex);
INT SetReferenceInclusiveNamespacesPrefixList(INT iReferenceIndex, LPCWSTR lpszReferenceInclusiveNamespacesPrefixList);
char* secureblackbox_xmlsigner_getreferenceinclusivenamespacesprefixlist(void* lpObj, int referenceindex);
int secureblackbox_xmlsigner_setreferenceinclusivenamespacesprefixlist(void* lpObj, int referenceindex, const char* lpszReferenceInclusiveNamespacesPrefixList);
QString GetReferenceInclusiveNamespacesPrefixList(int iReferenceIndex);
int SetReferenceInclusiveNamespacesPrefixList(int iReferenceIndex, QString qsReferenceInclusiveNamespacesPrefixList);
Default Value
""
Remarks
Use this property to specify InclusiveNamespaces PrefixList for exclusive canonicalization transform of the reference. See XML-Signature Syntax and Processing specification for details.
The ReferenceIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ReferenceCount property.
This property is not available at design time.
Data Type
String
ReferenceReferenceType Property (XMLSigner Class)
The Reference's type attribute as defined in XMLDSIG specification.
Syntax
ANSI (Cross Platform) char* GetReferenceReferenceType(int iReferenceIndex);
int SetReferenceReferenceType(int iReferenceIndex, const char* lpszReferenceReferenceType); Unicode (Windows) LPWSTR GetReferenceReferenceType(INT iReferenceIndex);
INT SetReferenceReferenceType(INT iReferenceIndex, LPCWSTR lpszReferenceReferenceType);
char* secureblackbox_xmlsigner_getreferencereferencetype(void* lpObj, int referenceindex);
int secureblackbox_xmlsigner_setreferencereferencetype(void* lpObj, int referenceindex, const char* lpszReferenceReferenceType);
QString GetReferenceReferenceType(int iReferenceIndex);
int SetReferenceReferenceType(int iReferenceIndex, QString qsReferenceReferenceType);
Default Value
""
Remarks
The Reference's type attribute as defined in XMLDSIG specification.
The ReferenceIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ReferenceCount property.
This property is not available at design time.
Data Type
String
ReferenceSignatureIndex Property (XMLSigner Class)
Returns the index of the owner signature, if applicable.
Syntax
ANSI (Cross Platform) int GetReferenceSignatureIndex(int iReferenceIndex); Unicode (Windows) INT GetReferenceSignatureIndex(INT iReferenceIndex);
int secureblackbox_xmlsigner_getreferencesignatureindex(void* lpObj, int referenceindex);
int GetReferenceSignatureIndex(int iReferenceIndex);
Default Value
-1
Remarks
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.
The ReferenceIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ReferenceCount property.
This property is read-only and not available at design time.
Data Type
Integer
ReferenceTargetData Property (XMLSigner Class)
Contains the referenced external data when the digest value is not explicitly specified.
Syntax
ANSI (Cross Platform) int GetReferenceTargetData(int iReferenceIndex, char* &lpReferenceTargetData, int &lenReferenceTargetData);
int SetReferenceTargetData(int iReferenceIndex, const char* lpReferenceTargetData, int lenReferenceTargetData); Unicode (Windows) INT GetReferenceTargetData(INT iReferenceIndex, LPSTR &lpReferenceTargetData, INT &lenReferenceTargetData);
INT SetReferenceTargetData(INT iReferenceIndex, LPCSTR lpReferenceTargetData, INT lenReferenceTargetData);
int secureblackbox_xmlsigner_getreferencetargetdata(void* lpObj, int referenceindex, char** lpReferenceTargetData, int* lenReferenceTargetData);
int secureblackbox_xmlsigner_setreferencetargetdata(void* lpObj, int referenceindex, const char* lpReferenceTargetData, int lenReferenceTargetData);
QByteArray GetReferenceTargetData(int iReferenceIndex);
int SetReferenceTargetData(int iReferenceIndex, QByteArray qbaReferenceTargetData);
Remarks
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.
The ReferenceIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ReferenceCount property.
This property is not available at design time.
Data Type
Byte Array
ReferenceTargetType Property (XMLSigner Class)
The reference's target type to use.
Syntax
ANSI (Cross Platform) int GetReferenceTargetType(int iReferenceIndex);
int SetReferenceTargetType(int iReferenceIndex, int iReferenceTargetType); Unicode (Windows) INT GetReferenceTargetType(INT iReferenceIndex);
INT SetReferenceTargetType(INT iReferenceIndex, INT iReferenceTargetType);
Possible Values
RTT_AUTO(0),
RTT_XMLELEMENT(1),
RTT_DATA(2),
RTT_URI(3)
int secureblackbox_xmlsigner_getreferencetargettype(void* lpObj, int referenceindex);
int secureblackbox_xmlsigner_setreferencetargettype(void* lpObj, int referenceindex, int iReferenceTargetType);
int GetReferenceTargetType(int iReferenceIndex);
int SetReferenceTargetType(int iReferenceIndex, int iReferenceTargetType);
Default Value
0
Remarks
The reference's target type to use.
Use this property to specify the reference's target type to use when forming the signature.
The ReferenceIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ReferenceCount property.
This property is not available at design time.
Data Type
Integer
ReferenceTargetXMLElement Property (XMLSigner Class)
This property specifies the referenced XML element.
Syntax
ANSI (Cross Platform) char* GetReferenceTargetXMLElement(int iReferenceIndex);
int SetReferenceTargetXMLElement(int iReferenceIndex, const char* lpszReferenceTargetXMLElement); Unicode (Windows) LPWSTR GetReferenceTargetXMLElement(INT iReferenceIndex);
INT SetReferenceTargetXMLElement(INT iReferenceIndex, LPCWSTR lpszReferenceTargetXMLElement);
char* secureblackbox_xmlsigner_getreferencetargetxmlelement(void* lpObj, int referenceindex);
int secureblackbox_xmlsigner_setreferencetargetxmlelement(void* lpObj, int referenceindex, const char* lpszReferenceTargetXMLElement);
QString GetReferenceTargetXMLElement(int iReferenceIndex);
int SetReferenceTargetXMLElement(int iReferenceIndex, QString qsReferenceTargetXMLElement);
Default Value
""
Remarks
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:
"" | an empty string indicates the Document element. |
"#id" | indicates an XML element with specified Id. |
XPointer expression | indicates an XML element selected using XPointer expression. Use the XPathNamespaces property to specify Prefixes and NamespaceURIs
For example: "/root/data[1]" - indicates the second "data" element under the document element with a name "root" "//ns1:data" - indicates a data element. "ns1" prefix should be defined in XPathNamespaces property |
Node name | indicates an XML element selected using its NodeName.
For example: "data" - indicates an XML element with node name "data". |
The ReferenceIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ReferenceCount property.
This property is not available at design time.
Data Type
String
ReferenceURI Property (XMLSigner Class)
Use this property to get or set the URL which references the data.
Syntax
ANSI (Cross Platform) char* GetReferenceURI(int iReferenceIndex);
int SetReferenceURI(int iReferenceIndex, const char* lpszReferenceURI); Unicode (Windows) LPWSTR GetReferenceURI(INT iReferenceIndex);
INT SetReferenceURI(INT iReferenceIndex, LPCWSTR lpszReferenceURI);
char* secureblackbox_xmlsigner_getreferenceuri(void* lpObj, int referenceindex);
int secureblackbox_xmlsigner_setreferenceuri(void* lpObj, int referenceindex, const char* lpszReferenceURI);
QString GetReferenceURI(int iReferenceIndex);
int SetReferenceURI(int iReferenceIndex, QString qsReferenceURI);
Default Value
""
Remarks
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.
The ReferenceIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ReferenceCount property.
This property is not available at design time.
Data Type
String
ReferenceUseBase64Transform Property (XMLSigner Class)
Specifies whether Base64 transform is included in transform chain.
Syntax
ANSI (Cross Platform) int GetReferenceUseBase64Transform(int iReferenceIndex);
int SetReferenceUseBase64Transform(int iReferenceIndex, int bReferenceUseBase64Transform); Unicode (Windows) BOOL GetReferenceUseBase64Transform(INT iReferenceIndex);
INT SetReferenceUseBase64Transform(INT iReferenceIndex, BOOL bReferenceUseBase64Transform);
int secureblackbox_xmlsigner_getreferenceusebase64transform(void* lpObj, int referenceindex);
int secureblackbox_xmlsigner_setreferenceusebase64transform(void* lpObj, int referenceindex, int bReferenceUseBase64Transform);
bool GetReferenceUseBase64Transform(int iReferenceIndex);
int SetReferenceUseBase64Transform(int iReferenceIndex, bool bReferenceUseBase64Transform);
Default Value
FALSE
Remarks
Specifies whether Base64 transform is included in transform chain.
The ReferenceIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ReferenceCount property.
This property is not available at design time.
Data Type
Boolean
ReferenceUseEnvelopedSignatureTransform Property (XMLSigner Class)
Specifies whether enveloped signature transform is included in transform chain.
Syntax
ANSI (Cross Platform) int GetReferenceUseEnvelopedSignatureTransform(int iReferenceIndex);
int SetReferenceUseEnvelopedSignatureTransform(int iReferenceIndex, int bReferenceUseEnvelopedSignatureTransform); Unicode (Windows) BOOL GetReferenceUseEnvelopedSignatureTransform(INT iReferenceIndex);
INT SetReferenceUseEnvelopedSignatureTransform(INT iReferenceIndex, BOOL bReferenceUseEnvelopedSignatureTransform);
int secureblackbox_xmlsigner_getreferenceuseenvelopedsignaturetransform(void* lpObj, int referenceindex);
int secureblackbox_xmlsigner_setreferenceuseenvelopedsignaturetransform(void* lpObj, int referenceindex, int bReferenceUseEnvelopedSignatureTransform);
bool GetReferenceUseEnvelopedSignatureTransform(int iReferenceIndex);
int SetReferenceUseEnvelopedSignatureTransform(int iReferenceIndex, bool bReferenceUseEnvelopedSignatureTransform);
Default Value
FALSE
Remarks
Specifies whether enveloped signature transform is included in transform chain.
The ReferenceIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ReferenceCount property.
This property is not available at design time.
Data Type
Boolean
ReferenceUseXPathFilter2Transform Property (XMLSigner Class)
Specifies whether XPath Filter 2.
Syntax
ANSI (Cross Platform) int GetReferenceUseXPathFilter2Transform(int iReferenceIndex);
int SetReferenceUseXPathFilter2Transform(int iReferenceIndex, int bReferenceUseXPathFilter2Transform); Unicode (Windows) BOOL GetReferenceUseXPathFilter2Transform(INT iReferenceIndex);
INT SetReferenceUseXPathFilter2Transform(INT iReferenceIndex, BOOL bReferenceUseXPathFilter2Transform);
int secureblackbox_xmlsigner_getreferenceusexpathfilter2transform(void* lpObj, int referenceindex);
int secureblackbox_xmlsigner_setreferenceusexpathfilter2transform(void* lpObj, int referenceindex, int bReferenceUseXPathFilter2Transform);
bool GetReferenceUseXPathFilter2Transform(int iReferenceIndex);
int SetReferenceUseXPathFilter2Transform(int iReferenceIndex, bool bReferenceUseXPathFilter2Transform);
Default Value
FALSE
Remarks
Specifies whether XPath Filter 2.0 transform is included in transform chain.
The ReferenceIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ReferenceCount property.
This property is not available at design time.
Data Type
Boolean
ReferenceUseXPathTransform Property (XMLSigner Class)
Specifies whether XPath transform is included in transform chain.
Syntax
ANSI (Cross Platform) int GetReferenceUseXPathTransform(int iReferenceIndex);
int SetReferenceUseXPathTransform(int iReferenceIndex, int bReferenceUseXPathTransform); Unicode (Windows) BOOL GetReferenceUseXPathTransform(INT iReferenceIndex);
INT SetReferenceUseXPathTransform(INT iReferenceIndex, BOOL bReferenceUseXPathTransform);
int secureblackbox_xmlsigner_getreferenceusexpathtransform(void* lpObj, int referenceindex);
int secureblackbox_xmlsigner_setreferenceusexpathtransform(void* lpObj, int referenceindex, int bReferenceUseXPathTransform);
bool GetReferenceUseXPathTransform(int iReferenceIndex);
int SetReferenceUseXPathTransform(int iReferenceIndex, bool bReferenceUseXPathTransform);
Default Value
FALSE
Remarks
Specifies whether XPath transform is included in transform chain.
The ReferenceIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ReferenceCount property.
This property is not available at design time.
Data Type
Boolean
ReferenceXPathExpression Property (XMLSigner Class)
Use this property to specify XPath expression for XPath transform of the reference.
Syntax
ANSI (Cross Platform) char* GetReferenceXPathExpression(int iReferenceIndex);
int SetReferenceXPathExpression(int iReferenceIndex, const char* lpszReferenceXPathExpression); Unicode (Windows) LPWSTR GetReferenceXPathExpression(INT iReferenceIndex);
INT SetReferenceXPathExpression(INT iReferenceIndex, LPCWSTR lpszReferenceXPathExpression);
char* secureblackbox_xmlsigner_getreferencexpathexpression(void* lpObj, int referenceindex);
int secureblackbox_xmlsigner_setreferencexpathexpression(void* lpObj, int referenceindex, const char* lpszReferenceXPathExpression);
QString GetReferenceXPathExpression(int iReferenceIndex);
int SetReferenceXPathExpression(int iReferenceIndex, QString qsReferenceXPathExpression);
Default Value
""
Remarks
Use this property to specify XPath expression for XPath transform of the reference.
The ReferenceIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ReferenceCount property.
This property is not available at design time.
Data Type
String
ReferenceXPathFilter2Expressions Property (XMLSigner Class)
Use this property to specify XPointer expression(s) for XPath Filter 2.
Syntax
ANSI (Cross Platform) char* GetReferenceXPathFilter2Expressions(int iReferenceIndex);
int SetReferenceXPathFilter2Expressions(int iReferenceIndex, const char* lpszReferenceXPathFilter2Expressions); Unicode (Windows) LPWSTR GetReferenceXPathFilter2Expressions(INT iReferenceIndex);
INT SetReferenceXPathFilter2Expressions(INT iReferenceIndex, LPCWSTR lpszReferenceXPathFilter2Expressions);
char* secureblackbox_xmlsigner_getreferencexpathfilter2expressions(void* lpObj, int referenceindex);
int secureblackbox_xmlsigner_setreferencexpathfilter2expressions(void* lpObj, int referenceindex, const char* lpszReferenceXPathFilter2Expressions);
QString GetReferenceXPathFilter2Expressions(int iReferenceIndex);
int SetReferenceXPathFilter2Expressions(int iReferenceIndex, QString qsReferenceXPathFilter2Expressions);
Default Value
""
Remarks
Use this property to specify XPointer expression(s) for XPath Filter 2.0 transform of the reference.
The ReferenceIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ReferenceCount property.
This property is not available at design time.
Data Type
String
ReferenceXPathFilter2Filters Property (XMLSigner Class)
Use this property to specify XPointer filter(s) for XPath Filter 2.
Syntax
ANSI (Cross Platform) char* GetReferenceXPathFilter2Filters(int iReferenceIndex);
int SetReferenceXPathFilter2Filters(int iReferenceIndex, const char* lpszReferenceXPathFilter2Filters); Unicode (Windows) LPWSTR GetReferenceXPathFilter2Filters(INT iReferenceIndex);
INT SetReferenceXPathFilter2Filters(INT iReferenceIndex, LPCWSTR lpszReferenceXPathFilter2Filters);
char* secureblackbox_xmlsigner_getreferencexpathfilter2filters(void* lpObj, int referenceindex);
int secureblackbox_xmlsigner_setreferencexpathfilter2filters(void* lpObj, int referenceindex, const char* lpszReferenceXPathFilter2Filters);
QString GetReferenceXPathFilter2Filters(int iReferenceIndex);
int SetReferenceXPathFilter2Filters(int iReferenceIndex, QString qsReferenceXPathFilter2Filters);
Default Value
""
Remarks
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:
"intersect" | Intersect filter computes the intersection of the selected subtrees with the filter node-set. |
"subtract" | Subtract filter computes the subtraction of the selected subtrees with the filter node-set. |
"union" | Union filter computes the union of the selected subtrees with the filter node-set. |
The ReferenceIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ReferenceCount property.
This property is not available at design time.
Data Type
String
ReferenceXPathFilter2PrefixList Property (XMLSigner Class)
Use this property to specify a prefix list for XPath Filter 2.
Syntax
ANSI (Cross Platform) char* GetReferenceXPathFilter2PrefixList(int iReferenceIndex);
int SetReferenceXPathFilter2PrefixList(int iReferenceIndex, const char* lpszReferenceXPathFilter2PrefixList); Unicode (Windows) LPWSTR GetReferenceXPathFilter2PrefixList(INT iReferenceIndex);
INT SetReferenceXPathFilter2PrefixList(INT iReferenceIndex, LPCWSTR lpszReferenceXPathFilter2PrefixList);
char* secureblackbox_xmlsigner_getreferencexpathfilter2prefixlist(void* lpObj, int referenceindex);
int secureblackbox_xmlsigner_setreferencexpathfilter2prefixlist(void* lpObj, int referenceindex, const char* lpszReferenceXPathFilter2PrefixList);
QString GetReferenceXPathFilter2PrefixList(int iReferenceIndex);
int SetReferenceXPathFilter2PrefixList(int iReferenceIndex, QString qsReferenceXPathFilter2PrefixList);
Default Value
""
Remarks
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.
The ReferenceIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ReferenceCount property.
This property is not available at design time.
Data Type
String
ReferenceXPathPrefixList Property (XMLSigner Class)
Use this property to specify a prefix list for XPath transform of the reference.
Syntax
ANSI (Cross Platform) char* GetReferenceXPathPrefixList(int iReferenceIndex);
int SetReferenceXPathPrefixList(int iReferenceIndex, const char* lpszReferenceXPathPrefixList); Unicode (Windows) LPWSTR GetReferenceXPathPrefixList(INT iReferenceIndex);
INT SetReferenceXPathPrefixList(INT iReferenceIndex, LPCWSTR lpszReferenceXPathPrefixList);
char* secureblackbox_xmlsigner_getreferencexpathprefixlist(void* lpObj, int referenceindex);
int secureblackbox_xmlsigner_setreferencexpathprefixlist(void* lpObj, int referenceindex, const char* lpszReferenceXPathPrefixList);
QString GetReferenceXPathPrefixList(int iReferenceIndex);
int SetReferenceXPathPrefixList(int iReferenceIndex, QString qsReferenceXPathPrefixList);
Default Value
""
Remarks
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.
The ReferenceIndex parameter specifies the index of the item in the array. The size of the array is controlled by the ReferenceCount property.
This property is not available at design time.
Data Type
String
SignatureType Property (XMLSigner Class)
The signature type to employ when signing the document.
Syntax
ANSI (Cross Platform) int GetSignatureType();
int SetSignatureType(int iSignatureType); Unicode (Windows) INT GetSignatureType();
INT SetSignatureType(INT iSignatureType);
Possible Values
CXST_DETACHED(1),
CXST_ENVELOPING(2),
CXST_ENVELOPED(4)
int secureblackbox_xmlsigner_getsignaturetype(void* lpObj);
int secureblackbox_xmlsigner_setsignaturetype(void* lpObj, int iSignatureType);
int GetSignatureType();
int SetSignatureType(int iSignatureType);
Default Value
4
Remarks
This property specifies the signature type to be used when signing the document.
Supported values:
cxstDetached | 1 | Specifies whether a detached signature should be produced. I.e., a signature which is kept separately from the signed document. |
cxstEnveloping | 2 | Specifies whether an enveloping signature should be produced. |
cxstEnveloped | 4 | Specifies whether an enveloped signature should be produced. |
Data Type
Integer
SigningCertBytes Property (XMLSigner Class)
Returns the raw certificate data in DER format.
Syntax
ANSI (Cross Platform) int GetSigningCertBytes(char* &lpSigningCertBytes, int &lenSigningCertBytes); Unicode (Windows) INT GetSigningCertBytes(LPSTR &lpSigningCertBytes, INT &lenSigningCertBytes);
int secureblackbox_xmlsigner_getsigningcertbytes(void* lpObj, char** lpSigningCertBytes, int* lenSigningCertBytes);
QByteArray GetSigningCertBytes();
Remarks
Returns the raw certificate data in DER format.
This property is read-only and not available at design time.
Data Type
Byte Array
SigningCertHandle Property (XMLSigner Class)
Allows to get or set a 'handle', a unique identifier of the underlying property object.
Syntax
ANSI (Cross Platform) int64 GetSigningCertHandle();
int SetSigningCertHandle(int64 lSigningCertHandle); Unicode (Windows) LONG64 GetSigningCertHandle();
INT SetSigningCertHandle(LONG64 lSigningCertHandle);
int64 secureblackbox_xmlsigner_getsigningcerthandle(void* lpObj);
int secureblackbox_xmlsigner_setsigningcerthandle(void* lpObj, int64 lSigningCertHandle);
qint64 GetSigningCertHandle();
int SetSigningCertHandle(qint64 lSigningCertHandle);
Default Value
0
Remarks
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.
pdfSigner.setSigningCertHandle(certMgr.getCertHandle());
This property is not available at design time.
Data Type
Long64
SigningChainCount Property (XMLSigner Class)
The number of records in the SigningChain arrays.
Syntax
ANSI (Cross Platform) int GetSigningChainCount();
int SetSigningChainCount(int iSigningChainCount); Unicode (Windows) INT GetSigningChainCount();
INT SetSigningChainCount(INT iSigningChainCount);
int secureblackbox_xmlsigner_getsigningchaincount(void* lpObj);
int secureblackbox_xmlsigner_setsigningchaincount(void* lpObj, int iSigningChainCount);
int GetSigningChainCount();
int SetSigningChainCount(int iSigningChainCount);
Default Value
0
Remarks
This property controls the size of the following arrays:
The array indices start at 0 and end at SigningChainCount - 1.
This property is not available at design time.
Data Type
Integer
SigningChainBytes Property (XMLSigner Class)
Returns the raw certificate data in DER format.
Syntax
ANSI (Cross Platform) int GetSigningChainBytes(int iSigningChainIndex, char* &lpSigningChainBytes, int &lenSigningChainBytes); Unicode (Windows) INT GetSigningChainBytes(INT iSigningChainIndex, LPSTR &lpSigningChainBytes, INT &lenSigningChainBytes);
int secureblackbox_xmlsigner_getsigningchainbytes(void* lpObj, int signingchainindex, char** lpSigningChainBytes, int* lenSigningChainBytes);
QByteArray GetSigningChainBytes(int iSigningChainIndex);
Remarks
Returns the raw certificate data in DER format.
The SigningChainIndex parameter specifies the index of the item in the array. The size of the array is controlled by the SigningChainCount property.
This property is read-only and not available at design time.
Data Type
Byte Array
SigningChainHandle Property (XMLSigner Class)
Allows to get or set a 'handle', a unique identifier of the underlying property object.
Syntax
ANSI (Cross Platform) int64 GetSigningChainHandle(int iSigningChainIndex);
int SetSigningChainHandle(int iSigningChainIndex, int64 lSigningChainHandle); Unicode (Windows) LONG64 GetSigningChainHandle(INT iSigningChainIndex);
INT SetSigningChainHandle(INT iSigningChainIndex, LONG64 lSigningChainHandle);
int64 secureblackbox_xmlsigner_getsigningchainhandle(void* lpObj, int signingchainindex);
int secureblackbox_xmlsigner_setsigningchainhandle(void* lpObj, int signingchainindex, int64 lSigningChainHandle);
qint64 GetSigningChainHandle(int iSigningChainIndex);
int SetSigningChainHandle(int iSigningChainIndex, qint64 lSigningChainHandle);
Default Value
0
Remarks
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.
pdfSigner.setSigningCertHandle(certMgr.getCertHandle());
The SigningChainIndex parameter specifies the index of the item in the array. The size of the array is controlled by the SigningChainCount property.
This property is not available at design time.
Data Type
Long64
XMLElement Property (XMLSigner Class)
Specifies the XML element where to save the signature data.
Syntax
ANSI (Cross Platform) char* GetXMLElement();
int SetXMLElement(const char* lpszXMLElement); Unicode (Windows) LPWSTR GetXMLElement();
INT SetXMLElement(LPCWSTR lpszXMLElement);
char* secureblackbox_xmlsigner_getxmlelement(void* lpObj);
int secureblackbox_xmlsigner_setxmlelement(void* lpObj, const char* lpszXMLElement);
QString GetXMLElement();
int SetXMLElement(QString qsXMLElement);
Default Value
""
Remarks
This property specifies the XML element where to save the electronic signature.
Supported values are:
"" | an empty string indicates the Document element |
"#id" | indicates an XML element with specified Id |
XPath expression | indicates an XML element selected using XPath expression. Use XPathNamespaces property to specify Prefixes and NamespaceURIs
For example: "/root/data[1]" - indicates the second "data" element under the document element with a name "root" "//ns1:data" - indicates a data element. "ns1" prefix should be defined in XPathNamespaces property |
Node name | indicates an XML element selected using its NodeName.
For example: "data" - indicates an XML element with node name "data". |
Data Type
String
NamespaceCount Property (XMLSigner Class)
The number of records in the Namespace arrays.
Syntax
ANSI (Cross Platform) int GetNamespaceCount();
int SetNamespaceCount(int iNamespaceCount); Unicode (Windows) INT GetNamespaceCount();
INT SetNamespaceCount(INT iNamespaceCount);
int secureblackbox_xmlsigner_getnamespacecount(void* lpObj);
int secureblackbox_xmlsigner_setnamespacecount(void* lpObj, int iNamespaceCount);
int GetNamespaceCount();
int SetNamespaceCount(int iNamespaceCount);
Default Value
0
Remarks
This property controls the size of the following arrays:
The array indices start at 0 and end at NamespaceCount - 1.
This property is not available at design time.
Data Type
Integer
NamespacePrefix Property (XMLSigner Class)
A user-defined prefix value of a namespace.
Syntax
ANSI (Cross Platform) char* GetNamespacePrefix(int iNamespaceIndex);
int SetNamespacePrefix(int iNamespaceIndex, const char* lpszNamespacePrefix); Unicode (Windows) LPWSTR GetNamespacePrefix(INT iNamespaceIndex);
INT SetNamespacePrefix(INT iNamespaceIndex, LPCWSTR lpszNamespacePrefix);
char* secureblackbox_xmlsigner_getnamespaceprefix(void* lpObj, int namespaceindex);
int secureblackbox_xmlsigner_setnamespaceprefix(void* lpObj, int namespaceindex, const char* lpszNamespacePrefix);
QString GetNamespacePrefix(int iNamespaceIndex);
int SetNamespacePrefix(int iNamespaceIndex, QString qsNamespacePrefix);
Default Value
""
Remarks
A user-defined prefix value of a namespace.
The NamespaceIndex parameter specifies the index of the item in the array. The size of the array is controlled by the NamespaceCount property.
This property is not available at design time.
Data Type
String
NamespaceURI Property (XMLSigner Class)
A user-defined URI value of a namespace.
Syntax
ANSI (Cross Platform) char* GetNamespaceURI(int iNamespaceIndex);
int SetNamespaceURI(int iNamespaceIndex, const char* lpszNamespaceURI); Unicode (Windows) LPWSTR GetNamespaceURI(INT iNamespaceIndex);
INT SetNamespaceURI(INT iNamespaceIndex, LPCWSTR lpszNamespaceURI);
char* secureblackbox_xmlsigner_getnamespaceuri(void* lpObj, int namespaceindex);
int secureblackbox_xmlsigner_setnamespaceuri(void* lpObj, int namespaceindex, const char* lpszNamespaceURI);
QString GetNamespaceURI(int iNamespaceIndex);
int SetNamespaceURI(int iNamespaceIndex, QString qsNamespaceURI);
Default Value
""
Remarks
A user-defined URI value of a namespace.
The NamespaceIndex parameter specifies the index of the item in the array. The size of the array is controlled by the NamespaceCount property.
This property is not available at design time.
Data Type
String
AddDataReference Method (XMLSigner Class)
Creates a new XML reference to the specified data.
Syntax
ANSI (Cross Platform) int AddDataReference(const char* lpszDataURI, const char* lpData, int lenData); Unicode (Windows) INT AddDataReference(LPCWSTR lpszDataURI, LPCSTR lpData, INT lenData);
int secureblackbox_xmlsigner_adddatareference(void* lpObj, const char* lpszDataURI, const char* lpData, int lenData);
int AddDataReference(const QString& qsDataURI, QByteArray qbaData);
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.
Error Handling (C++)
This method returns an Integer value; after it returns, call the GetLastErrorCode() method to obtain its result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message.
AddReference Method (XMLSigner Class)
Creates a new XML reference to the specified XML element.
Syntax
ANSI (Cross Platform) int AddReference(const char* lpszTargetXmlElement, const char* lpszCustomId, int bAutoGenerateId); Unicode (Windows) INT AddReference(LPCWSTR lpszTargetXmlElement, LPCWSTR lpszCustomId, BOOL bAutoGenerateId);
int secureblackbox_xmlsigner_addreference(void* lpObj, const char* lpszTargetXmlElement, const char* lpszCustomId, int bAutoGenerateId);
int AddReference(const QString& qsTargetXmlElement, const QString& qsCustomId, bool bAutoGenerateId);
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.
Error Handling (C++)
This method returns an Integer value; after it returns, call the GetLastErrorCode() method to obtain its result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message.
Config Method (XMLSigner Class)
Sets or retrieves a configuration setting.
Syntax
ANSI (Cross Platform) char* Config(const char* lpszConfigurationString); Unicode (Windows) LPWSTR Config(LPCWSTR lpszConfigurationString);
char* secureblackbox_xmlsigner_config(void* lpObj, const char* lpszConfigurationString);
QString Config(const QString& qsConfigurationString);
Remarks
Config is a generic method available in every class. It is used to set and retrieve configuration settings for the class.
These settings are similar in functionality to properties, but they are rarely used. In order to avoid "polluting" the property namespace of the class, 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.
Error Handling (C++)
This method returns a String value; after it returns, call the GetLastErrorCode() method to obtain its result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message.
DoAction Method (XMLSigner Class)
Performs an additional action.
Syntax
ANSI (Cross Platform) char* DoAction(const char* lpszActionID, const char* lpszActionParams); Unicode (Windows) LPWSTR DoAction(LPCWSTR lpszActionID, LPCWSTR lpszActionParams);
char* secureblackbox_xmlsigner_doaction(void* lpObj, const char* lpszActionID, const char* lpszActionParams);
QString DoAction(const QString& qsActionID, const QString& qsActionParams);
Remarks
DoAction is a generic method available in every class. 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 (case insensitive) of the action is provided in the ActionID parameter.
ActionParams contains the value of a single parameter, or a list of multiple parameters for the action in the form of PARAM1=VALUE1;PARAM2=VALUE2;....
Error Handling (C++)
This method returns a String value; after it returns, call the GetLastErrorCode() method to obtain its result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message.
ExtractAsyncData Method (XMLSigner Class)
Extracts user data from the DC signing service response.
Syntax
ANSI (Cross Platform) char* ExtractAsyncData(const char* lpszAsyncReply); Unicode (Windows) LPWSTR ExtractAsyncData(LPCWSTR lpszAsyncReply);
char* secureblackbox_xmlsigner_extractasyncdata(void* lpObj, const char* lpszAsyncReply);
QString ExtractAsyncData(const QString& qsAsyncReply);
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 the completion async stage.
Error Handling (C++)
This method returns a String value; after it returns, call the GetLastErrorCode() method to obtain its result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message.
GetInnerXML Method (XMLSigner Class)
Get the inner XML content of the selected XML element.
Syntax
ANSI (Cross Platform) char* GetInnerXML(const char* lpszXPath); Unicode (Windows) LPWSTR GetInnerXML(LPCWSTR lpszXPath);
char* secureblackbox_xmlsigner_getinnerxml(void* lpObj, const char* lpszXPath);
QString GetInnerXML(const QString& qsXPath);
Remarks
Call this method to get the inner XML content of the selected XML element.
Error Handling (C++)
This method returns a String value; after it returns, call the GetLastErrorCode() method to obtain its result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message.
GetOuterXML Method (XMLSigner Class)
Get the outer XML content of the selected XML element.
Syntax
ANSI (Cross Platform) char* GetOuterXML(const char* lpszXPath); Unicode (Windows) LPWSTR GetOuterXML(LPCWSTR lpszXPath);
char* secureblackbox_xmlsigner_getouterxml(void* lpObj, const char* lpszXPath);
QString GetOuterXML(const QString& qsXPath);
Remarks
Call this method to get the outer XML content of the selected XML element.
Error Handling (C++)
This method returns a String value; after it returns, call the GetLastErrorCode() method to obtain its result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message.
GetTextContent Method (XMLSigner Class)
Get the text content of the selected XML element.
Syntax
ANSI (Cross Platform) char* GetTextContent(const char* lpszXPath); Unicode (Windows) LPWSTR GetTextContent(LPCWSTR lpszXPath);
char* secureblackbox_xmlsigner_gettextcontent(void* lpObj, const char* lpszXPath);
QString GetTextContent(const QString& qsXPath);
Remarks
Call this method to get the text content of the selected XML element.
Error Handling (C++)
This method returns a String value; after it returns, call the GetLastErrorCode() method to obtain its result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message.
SetInnerXML Method (XMLSigner Class)
Set the inner XML content of the selected XML element.
Syntax
ANSI (Cross Platform) int SetInnerXML(const char* lpszXPath, const char* lpszValue); Unicode (Windows) INT SetInnerXML(LPCWSTR lpszXPath, LPCWSTR lpszValue);
int secureblackbox_xmlsigner_setinnerxml(void* lpObj, const char* lpszXPath, const char* lpszValue);
int SetInnerXML(const QString& qsXPath, const QString& qsValue);
Remarks
Call this method to set the inner XML content of the selected XML element.
Error Handling (C++)
This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)
SetTextContent Method (XMLSigner Class)
Set the text content of the selected XML element.
Syntax
ANSI (Cross Platform) int SetTextContent(const char* lpszXPath, const char* lpszValue); Unicode (Windows) INT SetTextContent(LPCWSTR lpszXPath, LPCWSTR lpszValue);
int secureblackbox_xmlsigner_settextcontent(void* lpObj, const char* lpszXPath, const char* lpszValue);
int SetTextContent(const QString& qsXPath, const QString& qsValue);
Remarks
Call this method to set the text content of the selected XML element.
Error Handling (C++)
This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)
Sign Method (XMLSigner Class)
Signs an XML document.
Syntax
ANSI (Cross Platform) int Sign(); Unicode (Windows) INT Sign();
int secureblackbox_xmlsigner_sign(void* lpObj);
int Sign();
Remarks
Call this method to generate a signature over an XML document.
Error Handling (C++)
This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)
SignAsyncBegin Method (XMLSigner Class)
Initiates the asynchronous signing operation.
Syntax
ANSI (Cross Platform) char* SignAsyncBegin(); Unicode (Windows) LPWSTR SignAsyncBegin();
char* secureblackbox_xmlsigner_signasyncbegin(void* lpObj);
QString SignAsyncBegin();
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. The DC protocol is based on the 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 class), which processes it and produces a matching signature state. The async state produced by the server is then passed to the SignAsyncEnd method.
Error Handling (C++)
This method returns a String value; after it returns, call the GetLastErrorCode() method to obtain its result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message.
SignAsyncEnd Method (XMLSigner Class)
Completes the asynchronous signing operation.
Syntax
ANSI (Cross Platform) int SignAsyncEnd(const char* lpszAsyncReply); Unicode (Windows) INT SignAsyncEnd(LPCWSTR lpszAsyncReply);
int secureblackbox_xmlsigner_signasyncend(void* lpObj, const char* lpszAsyncReply);
int SignAsyncEnd(const QString& qsAsyncReply);
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 the 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. The DC protocol is based on the 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 class), which processes it and produces a matching signature state. The async state produced by the server is then passed to the SignAsyncEnd method.
Error Handling (C++)
This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)
SignExternal Method (XMLSigner Class)
Signs the document using an external signing facility.
Syntax
ANSI (Cross Platform) int SignExternal(); Unicode (Windows) INT SignExternal();
int secureblackbox_xmlsigner_signexternal(void* lpObj);
int 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 class fires ExternalSign event which allows to pass the hash value for signing.
Error Handling (C++)
This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)
Error Event (XMLSigner Class)
Reports the details of signing errors.
Syntax
ANSI (Cross Platform) virtual int FireError(XMLSignerErrorEventParams *e);
typedef struct {
int ErrorCode;
const char *Description; int reserved; } XMLSignerErrorEventParams;
Unicode (Windows) virtual INT FireError(XMLSignerErrorEventParams *e);
typedef struct {
INT ErrorCode;
LPCWSTR Description; INT reserved; } XMLSignerErrorEventParams;
#define EID_XMLSIGNER_ERROR 1 virtual INT SECUREBLACKBOX_CALL FireError(INT &iErrorCode, LPSTR &lpszDescription);
class XMLSignerErrorEventParams { public: int ErrorCode(); const QString &Description(); int EventRetVal(); void SetEventRetVal(int iRetVal); };
// To handle, connect one or more slots to this signal. void Error(XMLSignerErrorEventParams *e);
// Or, subclass XMLSigner and override this emitter function. virtual int FireError(XMLSignerErrorEventParams *e) {...}
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 (XMLSigner Class)
Handles remote or external signing initiated by the SignExternal method or other source.
Syntax
ANSI (Cross Platform) virtual int FireExternalSign(XMLSignerExternalSignEventParams *e);
typedef struct {
const char *OperationId;
const char *HashAlgorithm;
const char *Pars;
const char *Data;
char *SignedData; int reserved; } XMLSignerExternalSignEventParams;
Unicode (Windows) virtual INT FireExternalSign(XMLSignerExternalSignEventParams *e);
typedef struct {
LPCWSTR OperationId;
LPCWSTR HashAlgorithm;
LPCWSTR Pars;
LPCWSTR Data;
LPWSTR SignedData; INT reserved; } XMLSignerExternalSignEventParams;
#define EID_XMLSIGNER_EXTERNALSIGN 2 virtual INT SECUREBLACKBOX_CALL FireExternalSign(LPSTR &lpszOperationId, LPSTR &lpszHashAlgorithm, LPSTR &lpszPars, LPSTR &lpszData, LPSTR &lpszSignedData);
class XMLSignerExternalSignEventParams { public: const QString &OperationId(); const QString &HashAlgorithm(); const QString &Pars(); const QString &Data(); const QString &SignedData(); void SetSignedData(const QString &qsSignedData); int EventRetVal(); void SetEventRetVal(int iRetVal); };
// To handle, connect one or more slots to this signal. void ExternalSign(XMLSignerExternalSignEventParams *e);
// Or, subclass XMLSigner and override this emitter function. virtual int FireExternalSign(XMLSignerExternalSignEventParams *e) {...}
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 class via the SignedData parameter.
OperationId provides a comment about the operation and its origin. It depends on the exact class being used, and may be empty. HashAlgorithm specifies the hash algorithm being used for the operation, and Pars contains algorithm-dependent parameters.
The class uses base16 (hex) encoding for the 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 the .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 (XMLSigner Class)
Reports the XML element that is currently being processed.
Syntax
ANSI (Cross Platform) virtual int FireFormatElement(XMLSignerFormatElementEventParams *e);
typedef struct {
char *StartTagWhitespace;
char *EndTagWhitespace;
int Level;
const char *Path;
int HasChildElements; int reserved; } XMLSignerFormatElementEventParams;
Unicode (Windows) virtual INT FireFormatElement(XMLSignerFormatElementEventParams *e);
typedef struct {
LPWSTR StartTagWhitespace;
LPWSTR EndTagWhitespace;
INT Level;
LPCWSTR Path;
BOOL HasChildElements; INT reserved; } XMLSignerFormatElementEventParams;
#define EID_XMLSIGNER_FORMATELEMENT 3 virtual INT SECUREBLACKBOX_CALL FireFormatElement(LPSTR &lpszStartTagWhitespace, LPSTR &lpszEndTagWhitespace, INT &iLevel, LPSTR &lpszPath, BOOL &bHasChildElements);
class XMLSignerFormatElementEventParams { public: const QString &StartTagWhitespace(); void SetStartTagWhitespace(const QString &qsStartTagWhitespace); const QString &EndTagWhitespace(); void SetEndTagWhitespace(const QString &qsEndTagWhitespace); int Level(); const QString &Path(); bool HasChildElements(); int EventRetVal(); void SetEventRetVal(int iRetVal); };
// To handle, connect one or more slots to this signal. void FormatElement(XMLSignerFormatElementEventParams *e);
// Or, subclass XMLSigner and override this emitter function. virtual int FireFormatElement(XMLSignerFormatElementEventParams *e) {...}
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 (XMLSigner Class)
Reports XML text that is currently being processed.
Syntax
ANSI (Cross Platform) virtual int FireFormatText(XMLSignerFormatTextEventParams *e);
typedef struct {
char *Text;
int TextType;
int Level;
const char *Path; int reserved; } XMLSignerFormatTextEventParams;
Unicode (Windows) virtual INT FireFormatText(XMLSignerFormatTextEventParams *e);
typedef struct {
LPWSTR Text;
INT TextType;
INT Level;
LPCWSTR Path; INT reserved; } XMLSignerFormatTextEventParams;
#define EID_XMLSIGNER_FORMATTEXT 4 virtual INT SECUREBLACKBOX_CALL FireFormatText(LPSTR &lpszText, INT &iTextType, INT &iLevel, LPSTR &lpszPath);
class XMLSignerFormatTextEventParams { public: const QString &Text(); void SetText(const QString &qsText); int TextType(); int Level(); const QString &Path(); int EventRetVal(); void SetEventRetVal(int iRetVal); };
// To handle, connect one or more slots to this signal. void FormatText(XMLSignerFormatTextEventParams *e);
// Or, subclass XMLSigner and override this emitter function. virtual int FireFormatText(XMLSignerFormatTextEventParams *e) {...}
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 (XMLSigner Class)
This event notifies the application about an underlying control flow event.
Syntax
ANSI (Cross Platform) virtual int FireNotification(XMLSignerNotificationEventParams *e);
typedef struct {
const char *EventID;
const char *EventParam; int reserved; } XMLSignerNotificationEventParams;
Unicode (Windows) virtual INT FireNotification(XMLSignerNotificationEventParams *e);
typedef struct {
LPCWSTR EventID;
LPCWSTR EventParam; INT reserved; } XMLSignerNotificationEventParams;
#define EID_XMLSIGNER_NOTIFICATION 5 virtual INT SECUREBLACKBOX_CALL FireNotification(LPSTR &lpszEventID, LPSTR &lpszEventParam);
class XMLSignerNotificationEventParams { public: const QString &EventID(); const QString &EventParam(); int EventRetVal(); void SetEventRetVal(int iRetVal); };
// To handle, connect one or more slots to this signal. void Notification(XMLSignerNotificationEventParams *e);
// Or, subclass XMLSigner and override this emitter function. virtual int FireNotification(XMLSignerNotificationEventParams *e) {...}
Remarks
The class fires this event to let the application know about some event, occurrence, or milestone in the class. 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 the EventID parameter. EventParam contains any parameters accompanying the occurrence. Depending on the type of the class, the exact action it is performing, or the document being processed, one or both may be omitted.
ResolveReference Event (XMLSigner Class)
Asks the application to resolve a reference.
Syntax
ANSI (Cross Platform) virtual int FireResolveReference(XMLSignerResolveReferenceEventParams *e);
typedef struct {
int ReferenceIndex;
const char *URI; int reserved; } XMLSignerResolveReferenceEventParams;
Unicode (Windows) virtual INT FireResolveReference(XMLSignerResolveReferenceEventParams *e);
typedef struct {
INT ReferenceIndex;
LPCWSTR URI; INT reserved; } XMLSignerResolveReferenceEventParams;
#define EID_XMLSIGNER_RESOLVEREFERENCE 6 virtual INT SECUREBLACKBOX_CALL FireResolveReference(INT &iReferenceIndex, LPSTR &lpszURI);
class XMLSignerResolveReferenceEventParams { public: int ReferenceIndex(); const QString &URI(); int EventRetVal(); void SetEventRetVal(int iRetVal); };
// To handle, connect one or more slots to this signal. void ResolveReference(XMLSignerResolveReferenceEventParams *e);
// Or, subclass XMLSigner and override this emitter function. virtual int FireResolveReference(XMLSignerResolveReferenceEventParams *e) {...}
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.
Config Settings (XMLSigner Class)
The class 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 class, access to these internal properties is provided through the Config method.XMLSigner Config Settings
Specifies a URI used for data being signed, usually the data filename if stored along with a detached signature.
In case of enveloping signature, this property contains the Encoding attribute of the enveloped object.
In case of enveloping signature, this property contains the identifier (ID) attribute of the enveloped object.
In case of enveloping signature, this property contains the MIME type attribute of the enveloped object.
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:
"#default" or "" | indicates that the prefix will be omitted. |
"#auto" | indicates that the prefix will be auto-detected based on the parent nodes. |
Sets the HMAC key. The component uses base16 (hex) encoding for this configuration value.
Use this property to configure the length of the HMAC output, in bytes.
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.
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.
Set this property to True to include the public part of the signing key to the signature.
Set this property to True if the key value (its public part) should be included to the signature.
Use this property to specify InclusiveNamespaces PrefixList for exclusive canonicalization transform of SignedInfo element. See XML-Signature Syntax and Processing specification for details.
Use this property to specify the type of the input (either InputFile, InputStream or InputBytes properties) for class. The following input types are supported:
"" or "XML" | an XML document (by default). | |
"data" | a binary data. | |
"base64" | Base64 encoded binary data (input data will be encoded in Base64 and will be placed in ds:Object for Enveloping signature type) |
Enveloped signature type supports only an XML document as the input. | |
Enveloping signature type supports all types of the input. | |
Detached signature type supports an XML document and a binary data as the input. |
Use this property to specify XML element before which the signature should be inserted.
Supported values are:
"" | an empty string indicates the Document element |
"#id" | indicates an XML element with specified Id |
XPath expression | indicates an XML element selected using XPath expression. Use XPathNamespaces property to specify Prefixes and NamespaceURIs
For example: "/root/data[1]" - indicates the second "data" element under the document element with a name "root" "//ns1:data" - indicates a data element. "ns1" prefix should be defined in XPathNamespaces property |
Node name | indicates an XML element selected using its NodeName.
For example: "data" - indicates an XML element with node name "data". |
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/>"
Contains a comma-separated list of values that specifies which signing key info details to include to the signature.
Supported values are:
certificate | Base64-encoded [X509v3] certificate is placed to the signature | |
issuerserial | X.509 issuer distinguished name/serial number pair are placed to the signature | |
subjectname | X.509 subject distinguished name is placed to the signature | |
ski | Base64 encoded plain (i.e. non-DER-encoded) value of a X509 V.3 SubjectKeyIdentifier extension is placed to the signature | |
crl | Base64-encoded certificate revocation list (CRL) is placed to the signature |
This property contains the identifier (ID) attribute of the ds:KeyInfo element.
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.
Returns the number of the ds:Manifest elements available.
Use this property to specify the identifier (ID) attribute of the ds:Manifest element. Index value could be omitted for the first manifest.
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.
Use this property to specify the XML content of the ds:Manifest element. Index value could be omitted for the first manifest.
Returns the number of the additional ds:Object elements available.
Use this property to specify the Encoding attribute of the ds:Object element. Index value could be omitted for the first object.
Use this property to specify the identifier (ID) attribute of the ds:Object element. Index value could be omitted for the first object.
Use this property to specify the MIME type attribute of the ds:Object element. Index value could be omitted for the first object.
Returns the number of the ds:SignatureProperties elements available.
Use this property to specify the identifier (ID) attribute of the ds:SignatureProperties element. Index value could be omitted for the first signature properties.
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.
Use this property to specify the XML content of the ds:SignatureProperties element. Index value could be omitted for the first signature properties.
Returns the number of the ds:SignatureProperty elements available.
Use this property to specify the identifier (ID) attribute of the ds:SignatureProperty element. Index value could be omitted for the first signature property.
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.
Use this property to specify the Target attribute of the ds:SignatureProperty element. Index value could be omitted for the first signature property.
Use this property to specify the XML content of the ds:SignatureProperty element. Index value could be omitted for the first signature property.
Use this property to specify the XML content of the ds:Object element. Index value could be omitted for the first object.
Use this property to specify whether the signature is W3C's XMLDSig, or Electronic Banking Internet Communication Standard (EBICS) compliant.
Supported values are:
"" | The same as "XML-DSig". | |
XML-DSig | The W3C's XMLDSig-compliant signature (by default). | |
EBICS | Electronic Banking Internet Communication Standard (EBICS) compliant signature. On signing the version is autodetected based on the document element. | |
EBICS_H3 | Electronic Banking Internet Communication Standard (EBICS) compliant signature. The version is H3. | |
EBICS_H4 | Electronic Banking Internet Communication Standard (EBICS) compliant signature. The version is H4. | |
EBICS_H5 | Electronic Banking Internet Communication Standard (EBICS) compliant signature. The version is H5. |
This property contains the identifier (ID) attribute of the ds:Signature element.
Specifies the prefix for the Signature elements.
Default value is "ds". In this case "ds:" prefix will be used.
Special values:
"#default" or "" | indicates that the prefix will be omitted. |
"#auto" | indicates that the prefix will be auto-detected based on the parent nodes. |
This property contains the text content of the ds:SignatureValue element.
This property contains the identifier (ID) attribute of the ds:SignatureValue element.
This property contains the identifier (ID) attribute of the ds:SignedInfo element.
This setting specifies an absolute path to the location on disk where temporary files are stored.
Set this property to true to make the component perform signing using HMAC method, rather than asymmetric cryptography.
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.
Set this property to False to disable writing byte-order mark (BOM) when saving the XML document in Unicode encoding.
Use this property to specify how the signature should be formatted.
Supported values:
"" or "none" | no formatting (by default). | |
"auto" | enables auto-formatting, equivalent to: "indent: 1; indent-char: tab; base64-max-length: 64; starting-level: node" |
indent | specifies indentation level (default is 1) | |
indent-char | specifies indentation character: "space" or "tab" (default) | |
base64-max-length | specifies max length of base64 encoded data, such as signature value, certificate data and etc. (default is 64) | |
starting-level | specifies starting indentation level: non-negative integer or "node" - detected based on parent node, or "root" - detected based on number of parent nodes to a document element (default is "node"). | |
indent-before-main | specifies if whitespace characters should be inserted before a main (ds:Signature) element: "auto" (default), "yes" or "no" |
Base Config Settings
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.
Set this property to enable or disable cookies caching for the class.
Supported values are:
off | No caching (default) | |
local | Local caching | |
global | Global caching |
Use this property to get cookies from the internal cookie storage of the class and/or restore them back between application sessions.
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.
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.
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 classes that have its CookieCaching property set to "global".
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 classes.
Contains a comma-separated list of values that specifies where debug log should be dumped.
Supported values are:
file | File | |
console | Console | |
systemlog | System Log (supported for Android only) | |
debugger | Debugger (supported for VCL for Windows and .Net) |
Contains a comma-separated list of values that specifies which debug log details to dump.
Supported values are:
time | Current time | |
level | Level | |
package | Package name | |
module | Module name | |
class | Class name | |
method | Method name | |
threadid | Thread Id | |
contenttype | Content type | |
content | Content | |
all | All details |
Use this property to provide a path to the log file.
Contains a comma-separated list of value pairs ("name:value") that describe filters.
Supported filter names are:
exclude-package | Exclude a package specified in the value | |
exclude-module | Exclude a module specified in the value | |
exclude-class | Exclude a class specified in the value | |
exclude-method | Exclude a method specified in the value | |
include-package | Include a package specified in the value | |
include-module | Include a module specified in the value | |
include-class | Include a class specified in the value | |
include-method | Include a method specified in the value |
Use this property to set the log flush mode. The following values are defined:
none | No flush (caching only) | |
immediate | Immediate flush (real-time logging) | |
maxcount | Flush cached entries upon reaching LogMaxEventCount entries in the cache. |
Use this property to provide the desired debug log level.
Supported values are:
none | None (by default) | |
fatal | Severe errors that cause premature termination. | |
error | Other runtime errors or unexpected conditions. | |
warning | Use of deprecated APIs, poor use of API, 'almost' errors, other runtime situations that are undesirable or unexpected, but not necessarily "wrong". | |
info | Interesting runtime events (startup/shutdown). | |
debug | Detailed information on flow of through the system. | |
trace | More detailed information. |
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.
Use this property to set the log rotation mode. The following values are defined:
none | No rotation | |
deleteolder | Delete older entries from the cache upon reaching LogMaxEventCount | |
keepolder | Keep older entries in the cache upon reaching LogMaxEventCount (newer entries are discarded) |
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.
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.
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.
Set this property to enable or disable static DNS rules for the class. Works only if UseOwnDNSResolver is set to true.
Supported values are:
none | No static DNS rules (default) | |
local | Local static DNS rules | |
global | Global static DNS rules |
Use this property to get or set an IP address for the specified domain name in the internal (of the class) 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.
Use this property to get static DNS rules from the current rules storage or restore them back between application sessions. If StaticDNS of the class is set to "local", the property returns/restores the rules from/to the internal storage of the class. If StaticDNS of the class 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.
Use this config property to store any custom data.
Use this property to limit the search of chached TLS sessions to the specified group. Sessions from other groups will be ignored. By default, all sessions are cached with an empty group name and available to all the classes.
Use this property to specify how much time the TLS session should be kept in the session cache. After this time, the session expires and will be automatically removed from the cache. Default value is 300 seconds (5 minutes).
Use this property to specify the time interval of purging the expired TLS sessions from the session cache. Default value is 60 seconds (1 minute).
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.
Set this global property to false to make each validation run use its own copy of system certificate stores.
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.
Use this global property to enable or disable the use of operating system-driven pseudorandom number generation.
Trappable Errors (XMLSigner Class)
Error Handling (C++)
Call the GetLastErrorCode() method to obtain the last called method's result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. Known error codes are listed below. If an error occurs, the GetLastError() method can be called to retrieve the associated error message.
XMLSigner Errors
1048577 Invalid parameter value (SB_ERROR_INVALID_PARAMETER) | |
1048578 Class 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) |