XMLDecryptor Class
Properties Methods Events Config Settings Errors
The XMLDecryptor class decrypts XML documents.
Class Name
SecureBlackbox_XMLDecryptor
Procedural Interface
secureblackbox_xmldecryptor_open(); secureblackbox_xmldecryptor_close($res); secureblackbox_xmldecryptor_register_callback($res, $id, $function); secureblackbox_xmldecryptor_get_last_error($res); secureblackbox_xmldecryptor_get_last_error_code($res); secureblackbox_xmldecryptor_set($res, $id, $index, $value); secureblackbox_xmldecryptor_get($res, $id, $index); secureblackbox_xmldecryptor_do_addknownnamespace($res, $prefix, $uri); secureblackbox_xmldecryptor_do_config($res, $configurationstring); secureblackbox_xmldecryptor_do_decrypt($res); secureblackbox_xmldecryptor_do_doaction($res, $actionid, $actionparams); secureblackbox_xmldecryptor_do_reset($res);
Remarks
XMlDecryptor decrypts XML documents encrypted with certificates or generic keys.
Property List
The following is the full list of the properties of the class with short descriptions. Click on the links for further details.
DecryptionKey | The symmetric (session) key used to encrypt the data. |
Encoding | Specifies XML encoding. |
EncryptedDataType | Defines the type of data being encrypted. |
EncryptionMethod | The encryption method used to encrypt the document. |
EncryptKey | Specifies if the encryption key is encrypted. |
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. |
ExternalData | The data that should be encrypted. |
FIPSMode | Reserved. |
InputBytes | Use this property to pass the input to class in byte array form. |
InputFile | The XML file to be decrypted. |
KeyDecryptionCertBytes | Returns the raw certificate data in DER format. |
KeyDecryptionCertHandle | Allows to get or set a 'handle', a unique identifier of the underlying property object. |
KeyDecryptionKey | The symmetric key used to decrypt a session key. |
KeyEncryptionType | Defines how the session key is encrypted. |
KeyInfoItemCount | The number of records in the KeyInfoItem arrays. |
KeyInfoItemIssuerRDN | A list of Property=Value pairs that uniquely identify the certificate issuer. |
KeyInfoItemSerialNumber | Returns the certificate's serial number. |
KeyInfoItemSubjectKeyID | Contains a unique identifier of the certificate's cryptographic key. |
KeyInfoItemSubjectRDN | A list of Property=Value pairs that uniquely identify the certificate holder (subject). |
KeyInfoCertificateCount | The number of records in the KeyInfoCertificate arrays. |
KeyInfoCertificateBytes | Returns the raw certificate data in DER format. |
KeyInfoCertificateHandle | Allows to get or set a 'handle', a unique identifier of the underlying property object. |
KeyTransportMethod | Defines how the session key is encrypted. |
KeyWrapMethod | The key wrap method used to encrypt the session key. |
OutputBytes | Use this property to read the output the class object has produced. |
OutputFile | Defines where to save the decrypted XML document. |
UseGCM | Indicates if GCM mode was enabled. |
XMLElement | Defines the XML element to decrypt. |
Method List
The following is the full list of the methods of the class with short descriptions. Click on the links for further details.
AddKnownNamespace | Adds known prefix and correspondent namespace URI. |
Config | Sets or retrieves a configuration setting. |
Decrypt | Decrypts an XML document. |
DoAction | Performs an additional action. |
Reset | Resets the class settings. |
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.
DecryptionInfoNeeded | Requests decryption information from the application. |
Error | Information about errors during signing. |
ExternalDecrypt | Handles remote or external decryption. |
Notification | This event notifies the application about an underlying control flow event. |
SaveExternalData | Request to save decrypted external data. |
Config Settings
The following is a list of config settings for the class with short descriptions. Click on the links for further details.
EncryptedKeyXMLElement | Specifies the XML element where the encrypted key element is located. |
KeyName | Contains information about the key used for encryption. |
MimeType | Contains the mime type of the encrypted data. |
TempPath | Path for storing temporary files. |
WriteBOM | Specifies whether byte-order mark should be written when saving the document. |
ASN1UseGlobalTagCache | Controls whether ASN.1 module should use a global object cache. |
AssignSystemSmartCardPins | Specifies whether CSP-level PINs should be assigned to CNG keys. |
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. |
DNSLocalSuffix | The suffix to assign for TLD names. |
EnableClientSideSSLFFDHE | Enables or disables finite field DHE key exchange support in TLS clients. |
GlobalCookies | Gets or sets global cookies for all the HTTP transports. |
HardwareCryptoUsePolicy | The hardware crypto usage policy. |
HttpUserAgent | Specifies the user agent name to be used by all HTTP clients. |
HttpVersion | The HTTP version to use in any inner HTTP client classes created. |
IgnoreExpiredMSCTLSigningCert | Whether to tolerate the expired Windows Update signing certificate. |
ListDelimiter | The delimiter character for multi-element lists. |
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. |
OldClientSideRSAFallback | Specifies whether the SSH client should use a SHA1 fallback. |
PKICache | Specifies which PKI elements (certificates, CRLs, OCSP responses) should be cached. |
PKICachePath | Specifies the file system path where cached PKI data is stored. |
ProductVersion | Returns the version of the SecureBlackbox library. |
ServerSSLDHKeyLength | Sets the size of the TLS DHE key exchange group. |
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. |
UseCRLObjectCaching | Specifies whether reuse of loaded CRL objects is enabled. |
UseInternalRandom | Switches between SecureBlackbox-own and platform PRNGs. |
UseLegacyAdESValidation | Enables legacy AdES validation mode. |
UseOCSPResponseObjectCaching | Specifies whether reuse of loaded OCSP response objects is enabled. |
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. |
UseSystemNativeSizeCalculation | An internal CryptoAPI access tweak. |
UseSystemOAEPAndPSS | Enforces or disables the use of system-driven RSA OAEP and PSS computations. |
UseSystemRandom | Enables or disables the use of the OS PRNG. |
XMLRDNDescriptorName[OID] | Defines an OID mapping to descriptor names for the certificate's IssuerRDN or SubjectRDN. |
XMLRDNDescriptorPriority[OID] | Specifies the priority of descriptor names associated with a specific OID. |
XMLRDNDescriptorReverseOrder | Specifies whether to reverse the order of descriptors in RDN. |
XMLRDNDescriptorSeparator | Specifies the separator used between descriptors in RDN. |
DecryptionKey Property (SecureBlackbox_XMLDecryptor Class)
The symmetric (session) key used to encrypt the data.
Object Oriented Interface
public function getDecryptionKey(); public function setDecryptionKey($value);
Procedural Interface
secureblackbox_xmldecryptor_get($res, 1 ); secureblackbox_xmldecryptor_set($res, 1, $value );
Remarks
Use this property to provide the encryption symmetric (session) key that will be used to encrypt a data.
It is required when the EncryptKey property is disabled. If the EncryptKey property is enabled, and no value is set, the component will generate a random session key (recommended).
This property is not available at design time.
Data Type
Byte Array
Encoding Property (SecureBlackbox_XMLDecryptor Class)
Specifies XML encoding.
Object Oriented Interface
public function getEncoding(); public function setEncoding($value);
Procedural Interface
secureblackbox_xmldecryptor_get($res, 2 ); secureblackbox_xmldecryptor_set($res, 2, $value );
Default Value
''
Remarks
Use this property to specify the encoding to apply to the XML documents.
Data Type
String
EncryptedDataType Property (SecureBlackbox_XMLDecryptor Class)
Defines the type of data being encrypted.
Object Oriented Interface
public function getEncryptedDataType();
Procedural Interface
secureblackbox_xmldecryptor_get($res, 3 );
Default Value
0
Remarks
This property defines what data type is about to be encrypted.
Supported values:
cxedtElement | 0 | The XML element is encrypted.
XMLNode property specifies the XML element that should be encrypted. |
cxedtContent | 1 | Element content is encrypted.
XMLNode property specifies the XML element which content should be encrypted. |
cxedtExternal | 2 | External data is encrypted. Use ExternalData property to set the data that should be encrypted.
XMLNode property specifies the location where xenc:EncryptedData element should be placed. |
This property is read-only and not available at design time.
Data Type
Integer
EncryptionMethod Property (SecureBlackbox_XMLDecryptor Class)
The encryption method used to encrypt the document.
Object Oriented Interface
public function getEncryptionMethod();
Procedural Interface
secureblackbox_xmldecryptor_get($res, 4 );
Default Value
'AES256'
Remarks
This property contains the encryption algorithm used to encrypt the XML document.
Supported values:
SB_XML_ENCRYPTION_ALGORITHM_RC4 | RC4 | |
SB_XML_ENCRYPTION_ALGORITHM_DES | DES | |
SB_XML_ENCRYPTION_ALGORITHM_3DES | 3DEST | |
SB_XML_ENCRYPTION_ALGORITHM_AES128 | AES128 | |
SB_XML_ENCRYPTION_ALGORITHM_AES192 | AES192 | |
SB_XML_ENCRYPTION_ALGORITHM_AES256 | AES256 | |
SB_XML_ENCRYPTION_ALGORITHM_CAMELLIA128 | Camellia128 | |
SB_XML_ENCRYPTION_ALGORITHM_CAMELLIA192 | Camellia192 | |
SB_XML_ENCRYPTION_ALGORITHM_CAMELLIA256 | Camellia256 | |
SB_XML_ENCRYPTION_ALGORITHM_SEED | SEED |
If UseGCM property is enabled, then supported values are:
SB_XML_ENCRYPTION_ALGORITHM_AES128 | AES128 | |
SB_XML_ENCRYPTION_ALGORITHM_AES192 | AES192 | |
SB_XML_ENCRYPTION_ALGORITHM_AES256 | AES256 |
This property is read-only and not available at design time.
Data Type
String
EncryptKey Property (SecureBlackbox_XMLDecryptor Class)
Specifies if the encryption key is encrypted.
Object Oriented Interface
public function getEncryptKey();
Procedural Interface
secureblackbox_xmldecryptor_get($res, 5 );
Default Value
true
Remarks
Use this property to specify if encryption (session) key should be encrypted and also added to the encrypted data.
This property is read-only and not available at design time.
Data Type
Boolean
ExternalCryptoAsyncDocumentID Property (SecureBlackbox_XMLDecryptor Class)
Specifies an optional document ID for SignAsyncBegin() and SignAsyncEnd() calls.
Object Oriented Interface
public function getExternalCryptoAsyncDocumentID(); public function setExternalCryptoAsyncDocumentID($value);
Procedural Interface
secureblackbox_xmldecryptor_get($res, 6 ); secureblackbox_xmldecryptor_set($res, 6, $value );
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 (SecureBlackbox_XMLDecryptor Class)
Custom parameters to be passed to the signing service (uninterpreted).
Object Oriented Interface
public function getExternalCryptoCustomParams(); public function setExternalCryptoCustomParams($value);
Procedural Interface
secureblackbox_xmldecryptor_get($res, 7 ); secureblackbox_xmldecryptor_set($res, 7, $value );
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 (SecureBlackbox_XMLDecryptor Class)
Additional data to be included in the async state and mirrored back by the requestor.
Object Oriented Interface
public function getExternalCryptoData(); public function setExternalCryptoData($value);
Procedural Interface
secureblackbox_xmldecryptor_get($res, 8 ); secureblackbox_xmldecryptor_set($res, 8, $value );
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 (SecureBlackbox_XMLDecryptor Class)
Specifies whether the message hash is to be calculated at the external endpoint.
Object Oriented Interface
public function getExternalCryptoExternalHashCalculation(); public function setExternalCryptoExternalHashCalculation($value);
Procedural Interface
secureblackbox_xmldecryptor_get($res, 9 ); secureblackbox_xmldecryptor_set($res, 9, $value );
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 (SecureBlackbox_XMLDecryptor Class)
Specifies the request's signature hash algorithm.
Object Oriented Interface
public function getExternalCryptoHashAlgorithm(); public function setExternalCryptoHashAlgorithm($value);
Procedural Interface
secureblackbox_xmldecryptor_get($res, 10 ); secureblackbox_xmldecryptor_set($res, 10, $value );
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 (SecureBlackbox_XMLDecryptor Class)
The ID of the pre-shared key used for DC request authentication.
Object Oriented Interface
public function getExternalCryptoKeyID(); public function setExternalCryptoKeyID($value);
Procedural Interface
secureblackbox_xmldecryptor_get($res, 11 ); secureblackbox_xmldecryptor_set($res, 11, $value );
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 (SecureBlackbox_XMLDecryptor Class)
The pre-shared key used for DC request authentication.
Object Oriented Interface
public function getExternalCryptoKeySecret(); public function setExternalCryptoKeySecret($value);
Procedural Interface
secureblackbox_xmldecryptor_get($res, 12 ); secureblackbox_xmldecryptor_set($res, 12, $value );
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 (SecureBlackbox_XMLDecryptor Class)
Specifies the asynchronous signing method.
Object Oriented Interface
public function getExternalCryptoMethod(); public function setExternalCryptoMethod($value);
Procedural Interface
secureblackbox_xmldecryptor_get($res, 13 ); secureblackbox_xmldecryptor_set($res, 13, $value );
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 (SecureBlackbox_XMLDecryptor Class)
Specifies the external cryptography mode.
Object Oriented Interface
public function getExternalCryptoMode(); public function setExternalCryptoMode($value);
Procedural Interface
secureblackbox_xmldecryptor_get($res, 14 ); secureblackbox_xmldecryptor_set($res, 14, $value );
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 (SecureBlackbox_XMLDecryptor Class)
Provide the public key algorithm here if the certificate is not available on the pre-signing stage.
Object Oriented Interface
public function getExternalCryptoPublicKeyAlgorithm(); public function setExternalCryptoPublicKeyAlgorithm($value);
Procedural Interface
secureblackbox_xmldecryptor_get($res, 15 ); secureblackbox_xmldecryptor_set($res, 15, $value );
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
ExternalData Property (SecureBlackbox_XMLDecryptor Class)
The data that should be encrypted.
Object Oriented Interface
public function getExternalData(); public function setExternalData($value);
Procedural Interface
secureblackbox_xmldecryptor_get($res, 16 ); secureblackbox_xmldecryptor_set($res, 16, $value );
Remarks
Use this property to provide the data that should be encrypted if EncryptedDataType property is set to cxedtExternal value.
This property is not available at design time.
Data Type
Byte Array
FIPSMode Property (SecureBlackbox_XMLDecryptor Class)
Reserved.
Object Oriented Interface
public function getFIPSMode(); public function setFIPSMode($value);
Procedural Interface
secureblackbox_xmldecryptor_get($res, 17 ); secureblackbox_xmldecryptor_set($res, 17, $value );
Default Value
false
Remarks
This property is reserved for future use.
Data Type
Boolean
InputBytes Property (SecureBlackbox_XMLDecryptor Class)
Use this property to pass the input to class in byte array form.
Object Oriented Interface
public function getInputBytes(); public function setInputBytes($value);
Procedural Interface
secureblackbox_xmldecryptor_get($res, 18 ); secureblackbox_xmldecryptor_set($res, 18, $value );
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 (SecureBlackbox_XMLDecryptor Class)
The XML file to be decrypted.
Object Oriented Interface
public function getInputFile(); public function setInputFile($value);
Procedural Interface
secureblackbox_xmldecryptor_get($res, 19 ); secureblackbox_xmldecryptor_set($res, 19, $value );
Default Value
''
Remarks
Provide the path to the XML document to be decrypted.
Data Type
String
KeyDecryptionCertBytes Property (SecureBlackbox_XMLDecryptor Class)
Returns the raw certificate data in DER format.
Object Oriented Interface
public function getKeyDecryptionCertBytes();
Procedural Interface
secureblackbox_xmldecryptor_get($res, 20 );
Remarks
Returns the raw certificate data in DER format.
This property is read-only and not available at design time.
Data Type
Byte Array
KeyDecryptionCertHandle Property (SecureBlackbox_XMLDecryptor Class)
Allows to get or set a 'handle', a unique identifier of the underlying property object.
Object Oriented Interface
public function getKeyDecryptionCertHandle(); public function setKeyDecryptionCertHandle($value);
Procedural Interface
secureblackbox_xmldecryptor_get($res, 28 ); secureblackbox_xmldecryptor_set($res, 28, $value );
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
KeyDecryptionKey Property (SecureBlackbox_XMLDecryptor Class)
The symmetric key used to decrypt a session key.
Object Oriented Interface
public function getKeyDecryptionKey(); public function setKeyDecryptionKey($value);
Procedural Interface
secureblackbox_xmldecryptor_get($res, 59 ); secureblackbox_xmldecryptor_set($res, 59, $value );
Remarks
Use this property to provide the decryption symmetric key that will be used to decrypt a session key. It is required when EncryptKey property is enabled and KeyEncryptionType set to cxetKeyWrap value.
This property is not available at design time.
Data Type
Byte Array
KeyEncryptionType Property (SecureBlackbox_XMLDecryptor Class)
Defines how the session key is encrypted.
Object Oriented Interface
public function getKeyEncryptionType();
Procedural Interface
secureblackbox_xmldecryptor_get($res, 60 );
Default Value
0
Remarks
This property defines how the session key is encrypted.
Supported values:
cxetKeyTransport | 0 | The key is encrypted using public-key based algorithm |
cxetKeyWrap | 1 | The key is encrypted using symmetric algorithm with pre-shared secret key |
This property is read-only and not available at design time.
Data Type
Integer
KeyInfoItemCount Property (SecureBlackbox_XMLDecryptor Class)
The number of records in the KeyInfoItem arrays.
Object Oriented Interface
public function getKeyInfoItemCount();
Procedural Interface
secureblackbox_xmldecryptor_get($res, 61 );
Default Value
0
Remarks
This property controls the size of the following arrays:
The array indices start at 0 and end at KeyInfoItemCount - 1.This property is read-only and not available at design time.
Data Type
Integer
KeyInfoItemIssuerRDN Property (SecureBlackbox_XMLDecryptor Class)
A list of Property=Value pairs that uniquely identify the certificate issuer.
Object Oriented Interface
public function getKeyInfoItemIssuerRDN($keyinfoitemindex);
Procedural Interface
secureblackbox_xmldecryptor_get($res, 62 , $keyinfoitemindex);
Default Value
''
Remarks
A list of Property=Value pairs that uniquely identify the certificate issuer.
Example: /C=US/O=Nationwide CA/CN=Web Certification Authority
The $keyinfoitemindex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyInfoItemCount property.
This property is read-only and not available at design time.
Data Type
String
KeyInfoItemSerialNumber Property (SecureBlackbox_XMLDecryptor Class)
Returns the certificate's serial number.
Object Oriented Interface
public function getKeyInfoItemSerialNumber($keyinfoitemindex);
Procedural Interface
secureblackbox_xmldecryptor_get($res, 63 , $keyinfoitemindex);
Remarks
Returns the certificate's serial number.
The serial number is a binary string that uniquely identifies a certificate among others issued by the same CA. According to the X.509 standard, the (issuer, serial number) pair should be globally unique to facilitate chain building.
The $keyinfoitemindex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyInfoItemCount property.
This property is read-only and not available at design time.
Data Type
Byte Array
KeyInfoItemSubjectKeyID Property (SecureBlackbox_XMLDecryptor Class)
Contains a unique identifier of the certificate's cryptographic key.
Object Oriented Interface
public function getKeyInfoItemSubjectKeyID($keyinfoitemindex);
Procedural Interface
secureblackbox_xmldecryptor_get($res, 64 , $keyinfoitemindex);
Remarks
Contains a unique identifier of the certificate's cryptographic key.
Subject Key Identifier is a certificate extension which allows a specific public key to be associated with a certificate holder. Typically, subject key identifiers of CA certificates are recorded as respective CA key identifiers in the subordinate certificates that they issue, which facilitates chain building.
The KeyInfoItemSubjectKeyID and KeyInfoItemCAKeyID properties of self-signed certificates typically contain identical values, as in that specific case, the issuer and the subject are the same entity.
The $keyinfoitemindex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyInfoItemCount property.
This property is read-only and not available at design time.
Data Type
Byte Array
KeyInfoItemSubjectRDN Property (SecureBlackbox_XMLDecryptor Class)
A list of Property=Value pairs that uniquely identify the certificate holder (subject).
Object Oriented Interface
public function getKeyInfoItemSubjectRDN($keyinfoitemindex);
Procedural Interface
secureblackbox_xmldecryptor_get($res, 65 , $keyinfoitemindex);
Default Value
''
Remarks
A list of Property=Value pairs that uniquely identify the certificate holder (subject).
Depending on the purpose of the certificate and the policies of the CA that issued it, the values included in the subject record may differ drastically and contain business or personal names, web URLs, email addresses, and other data.
Example: /C=US/O=Oranges and Apples, Inc./OU=Accounts Receivable/1.2.3.4.5=Value with unknown OID/CN=Margaret Watkins.
The $keyinfoitemindex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyInfoItemCount property.
This property is read-only and not available at design time.
Data Type
String
KeyInfoCertificateCount Property (SecureBlackbox_XMLDecryptor Class)
The number of records in the KeyInfoCertificate arrays.
Object Oriented Interface
public function getKeyInfoCertificateCount();
Procedural Interface
secureblackbox_xmldecryptor_get($res, 66 );
Default Value
0
Remarks
This property controls the size of the following arrays:
The array indices start at 0 and end at KeyInfoCertificateCount - 1.This property is read-only and not available at design time.
Data Type
Integer
KeyInfoCertificateBytes Property (SecureBlackbox_XMLDecryptor Class)
Returns the raw certificate data in DER format.
Object Oriented Interface
public function getKeyInfoCertificateBytes($keyinfocertificateindex);
Procedural Interface
secureblackbox_xmldecryptor_get($res, 67 , $keyinfocertificateindex);
Remarks
Returns the raw certificate data in DER format.
The $keyinfocertificateindex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyInfoCertificateCount property.
This property is read-only and not available at design time.
Data Type
Byte Array
KeyInfoCertificateHandle Property (SecureBlackbox_XMLDecryptor Class)
Allows to get or set a 'handle', a unique identifier of the underlying property object.
Object Oriented Interface
public function getKeyInfoCertificateHandle($keyinfocertificateindex);
Procedural Interface
secureblackbox_xmldecryptor_get($res, 75 , $keyinfocertificateindex);
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 $keyinfocertificateindex parameter specifies the index of the item in the array. The size of the array is controlled by the KeyInfoCertificateCount property.
This property is read-only and not available at design time.
Data Type
Long64
KeyTransportMethod Property (SecureBlackbox_XMLDecryptor Class)
Defines how the session key is encrypted.
Object Oriented Interface
public function getKeyTransportMethod();
Procedural Interface
secureblackbox_xmldecryptor_get($res, 106 );
Default Value
0
Remarks
This property defines how the session key is encrypted.
Supported values:
cxktRSA15 | 0 | RSA 1.5 (RSAES-PKCS1-v1_5) encryption is used |
cxktRSAOAEP | 1 | RSA-OAEP (RSAES-OAEP-ENCRYPT) encryption is used |
This property is read-only and not available at design time.
Data Type
Integer
KeyWrapMethod Property (SecureBlackbox_XMLDecryptor Class)
The key wrap method used to encrypt the session key.
Object Oriented Interface
public function getKeyWrapMethod();
Procedural Interface
secureblackbox_xmldecryptor_get($res, 107 );
Default Value
'Cammelia256'
Remarks
This property specifies the key wrap algorithm used to encrypt the session key.
Supported values:
SB_XML_ENCRYPTION_ALGORITHM_3DES | 3DEST | |
SB_XML_ENCRYPTION_ALGORITHM_AES128 | AES128 | |
SB_XML_ENCRYPTION_ALGORITHM_AES192 | AES192 | |
SB_XML_ENCRYPTION_ALGORITHM_AES256 | AES256 | |
SB_XML_ENCRYPTION_ALGORITHM_CAMELLIA128 | Camellia128 | |
SB_XML_ENCRYPTION_ALGORITHM_CAMELLIA192 | Camellia192 | |
SB_XML_ENCRYPTION_ALGORITHM_CAMELLIA256 | Camellia256 | |
SB_XML_ENCRYPTION_ALGORITHM_SEED | SEED |
This property is read-only and not available at design time.
Data Type
String
OutputBytes Property (SecureBlackbox_XMLDecryptor Class)
Use this property to read the output the class object has produced.
Object Oriented Interface
public function getOutputBytes();
Procedural Interface
secureblackbox_xmldecryptor_get($res, 108 );
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 (SecureBlackbox_XMLDecryptor Class)
Defines where to save the decrypted XML document.
Object Oriented Interface
public function getOutputFile(); public function setOutputFile($value);
Procedural Interface
secureblackbox_xmldecryptor_get($res, 109 ); secureblackbox_xmldecryptor_set($res, 109, $value );
Default Value
''
Remarks
A path where the decrypted XML document should be saved.
Data Type
String
UseGCM Property (SecureBlackbox_XMLDecryptor Class)
Indicates if GCM mode was enabled.
Object Oriented Interface
public function getUseGCM();
Procedural Interface
secureblackbox_xmldecryptor_get($res, 110 );
Default Value
true
Remarks
Use this property to check if GCM encryption mode was enabled.
This property is read-only and not available at design time.
Data Type
Boolean
XMLElement Property (SecureBlackbox_XMLDecryptor Class)
Defines the XML element to decrypt.
Object Oriented Interface
public function getXMLElement(); public function setXMLElement($value);
Procedural Interface
secureblackbox_xmldecryptor_get($res, 111 ); secureblackbox_xmldecryptor_set($res, 111, $value );
Default Value
''
Remarks
Defines the XML element to decrypt.
Supported values are:
"" | an empty string indicates that all xenc:EncryptedData elements will be decrypted. |
"#id" | indicates an XML element with specified Id. |
XPointer expression | indicates an XML element selected using XPointer expression. Use AddKnownNamespace method 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 via AddKnownNamespace method. |
Node name | indicates an XML element selected using its NodeName.
For example: "data" - indicates an XML element with node name "data". |
Data Type
String
AddKnownNamespace Method (SecureBlackbox_XMLDecryptor Class)
Adds known prefix and correspondent namespace URI.
Object Oriented Interface
public function doAddKnownNamespace($prefix, $uri);
Procedural Interface
secureblackbox_xmldecryptor_do_addknownnamespace($res, $prefix, $uri);
Remarks
Use this method to add a known prefix and namespace URI that are used in XPath expression within XMLElement/XMLNode property, and within TargetXMLElement and XPathPrefixList properties of the references.
Config Method (SecureBlackbox_XMLDecryptor Class)
Sets or retrieves a configuration setting.
Object Oriented Interface
public function doConfig($configurationstring);
Procedural Interface
secureblackbox_xmldecryptor_do_config($res, $configurationstring);
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.
Decrypt Method (SecureBlackbox_XMLDecryptor Class)
Decrypts an XML document.
Object Oriented Interface
public function doDecrypt();
Procedural Interface
secureblackbox_xmldecryptor_do_decrypt($res);
Remarks
Call this method to decrypt an XML document.
DoAction Method (SecureBlackbox_XMLDecryptor Class)
Performs an additional action.
Object Oriented Interface
public function doDoAction($actionid, $actionparams);
Procedural Interface
secureblackbox_xmldecryptor_do_doaction($res, $actionid, $actionparams);
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;....
Common ActionIDs:
Action | Parameters | Returned value | Description |
ResetTrustedListCache | none | none | Clears the cached list of trusted lists. |
ResetCertificateCache | none | none | Clears the cached certificates. |
ResetCRLCache | none | none | Clears the cached CRLs. |
ResetOCSPResponseCache | none | none | Clears the cached OCSP responses. |
Reset Method (SecureBlackbox_XMLDecryptor Class)
Resets the class settings.
Object Oriented Interface
public function doReset();
Procedural Interface
secureblackbox_xmldecryptor_do_reset($res);
Remarks
Reset is a generic method available in every class.
DecryptionInfoNeeded Event (SecureBlackbox_XMLDecryptor Class)
Requests decryption information from the application.
Object Oriented Interface
public function fireDecryptionInfoNeeded($param);
Procedural Interface
secureblackbox_xmldecryptor_register_callback($res, 1, array($this, 'fireDecryptionInfoNeeded'));
Parameter List
'canceldecryption'
Remarks
This event is fired when the component needs decryption information (the private key) from the user.
Use EncryptKey, Config["KeyName"] and KeyEncryptionType properties to identify the encryption type and then set DecryptionKey or KeyDecryptionKey or KeyDecryptionCertificate properties accordingly.
if CancelDecryption property is set to true value (default value) then decryption would fail if provided key/certificate is invalid. Otherwise this event would be fired again.
Error Event (SecureBlackbox_XMLDecryptor Class)
Information about errors during signing.
Object Oriented Interface
public function fireError($param);
Procedural Interface
secureblackbox_xmldecryptor_register_callback($res, 2, array($this, 'fireError'));
Parameter List
'errorcode'
'description'
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.
ExternalDecrypt Event (SecureBlackbox_XMLDecryptor Class)
Handles remote or external decryption.
Object Oriented Interface
public function fireExternalDecrypt($param);
Procedural Interface
secureblackbox_xmldecryptor_register_callback($res, 3, array($this, 'fireExternalDecrypt'));
Parameter List
'operationid'
'algorithm'
'pars'
'encrypteddata'
'data'
Remarks
Assign a handler to this event if you need to delegate a low-level decryption operation to an external, remote, or custom decryption engine. The handler receives an encrypted value in the EncryptedData parameter, and is expected to decrypt it and place the decrypted value into the Data parameter.
OperationId provides a comment about the operation and its origin. It depends on the exact class being used, and may be empty. Algorithm specifies the encryption algorithm being used, and Pars contains algorithm-dependent parameters.
The class uses base16 (hex) encoding for the EncryptedData, Data, and Pars parameters. If your decryption engine uses a different input and output encoding, you may need to decode and/or encode the data before and/or after the decryption.
Sample data encoded in base16: a0dee2a0382afbb09120ffa7ccd8a152 - lower case base16 A0DEE2A0382AFBB09120FFA7CCD8A152 - upper case base16
Notification Event (SecureBlackbox_XMLDecryptor Class)
This event notifies the application about an underlying control flow event.
Object Oriented Interface
public function fireNotification($param);
Procedural Interface
secureblackbox_xmldecryptor_register_callback($res, 4, array($this, 'fireNotification'));
Parameter List
'eventid'
'eventparam'
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.
SaveExternalData Event (SecureBlackbox_XMLDecryptor Class)
Request to save decrypted external data.
Object Oriented Interface
public function fireSaveExternalData($param);
Procedural Interface
secureblackbox_xmldecryptor_register_callback($res, 5, array($this, 'fireSaveExternalData'));
Parameter List
'externaldata'
Remarks
This event is fired when the component successfully decrypted an external data and needs to save it. The same data could be read using ExternalData property.
It makes sense to use this event when the XML document contains several xenc:EncryptedData elements and the component decrypts them all.
Config Settings (XMLDecryptor 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.XMLDecryptor Config Settings
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 AddKnownNamespace method 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 via AddKnownNamespace method. |
Node name | indicates an XML element selected using its NodeName.
For example: "data" - indicates an XML element with node name "data". |
Base Config Settings
You can switch this property off to improve performance if your project only uses known, good private keys.
Supported values are:
off | No caching (default) | |
local | Local caching | |
global | Global caching |
This setting only applies to sessions negotiated with TLS version 1.3.
Supported values are:
file | File | |
console | Console | |
systemlog | System Log (supported for Android only) | |
debugger | Debugger (supported for VCL for Windows and .Net) |
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 |
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 |
none | No flush (caching only) | |
immediate | Immediate flush (real-time logging) | |
maxcount | Flush cached entries upon reaching LogMaxEventCount entries in the cache. |
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. |
The default value of this setting is 100.
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) |
Supported Values:
certificate | Enables caching of certificates. |
crl | Enables caching of Certificate Revocation Lists (CRLs). |
ocsp | Enables caching of OCSP (Online Certificate Status Protocol) responses. |
Example (default value):
PKICache=certificate,crl,ocsp
In this example, the component caches certificates, CRLs, and OCSP responses.
The default value is an empty string - no cached PKI data is stored on disk.
Example:
PKICachePath=C:\Temp\cache
In this example, the cached PKI data is stored in the C:\Temp\cache directory.
Supported values are:
none | No static DNS rules (default) | |
local | Local static DNS rules | |
global | Global static DNS rules |
This setting only applies to certificates originating from a Windows system store.
The property accepts comma-separated values where the first descriptor name is used when the OID is mapped, and subsequent values act as aliases for parsing.
Syntax:
Config("XMLRDNDescriptorName[OID]=PrimaryName,Alias1,Alias2");
Where:
OID: The Object Identifier from the certificate's IssuerRDN or SubjectRDN that you want to map.
PrimaryName: The main descriptor name used in the XML signature when the OID is encountered.
Alias1, Alias2, ...: Optional alternative names recognized during parsing.
Usage Examples:
Map OID 2.5.4.5 to SERIALNUMBER:
Config("XMLRDNDescriptorName[2.5.4.5]=SERIALNUMBER");
Map OID 1.2.840.113549.1.9.1 to E, with aliases EMAIL and EMAILADDRESS:
Config("XMLRDNDescriptorName[1.2.840.113549.1.9.1]=E,EMAIL,EMAILADDRESS");
Trappable Errors (XMLDecryptor Class)
XMLDecryptor Errors
1048577 | Invalid parameter (SB_ERROR_INVALID_PARAMETER) |
1048578 | Invalid configuration (SB_ERROR_INVALID_SETUP) |
1048579 | Invalid state (SB_ERROR_INVALID_STATE) |
1048580 | Invalid value (SB_ERROR_INVALID_VALUE) |
1048581 | Private key not found (SB_ERROR_NO_PRIVATE_KEY) |
1048582 | Cancelled by the user (SB_ERROR_CANCELLED_BY_USER) |
1048583 | The file was not found (SB_ERROR_NO_SUCH_FILE) |
1048584 | Unsupported feature or operation (SB_ERROR_UNSUPPORTED_FEATURE) |
1048585 | General error (SB_ERROR_GENERAL_ERROR) |
39845889 | The input file does not exist (SB_ERROR_XML_INPUTFILE_NOT_EXISTS) |
39845890 | Data file does not exist (SB_ERROR_XML_DATAFILE_NOT_EXISTS) |
39845892 | Unsupported hash algorithm (SB_ERROR_XML_UNSUPPORTED_HASH_ALGORITHM) |
39845893 | Unsupported key type (SB_ERROR_XML_UNSUPPORTED_KEY_TYPE) |
39845895 | Unsupported encryption algorithm (SB_ERROR_XML_INVALID_ENCRYPTION_METHOD) |
39845896 | XML element not found (SB_ERROR_XML_NOT_FOUND) |
39845897 | XML element has no ID (SB_ERROR_XML_NO_ELEMENT_ID) |