XMLSig Configuration
The component accepts one or more of the following configuration settings. Configuration settings are similar in functionality to properties, but they are rarely used. In order to avoid "polluting" the property namespace of the component, access to these internal properties is provided through the Config method.XMLSig Configuration Settings
KeyName:
The name of the key used to sign the XML.This setting optionally holds the key name which may be useful to the recipient to help identify the key used to create the signature.
This may be set before calling Sign.
When calling VerifySignature this may be queried inside the SignatureInfo event.
Note that this value is only informative, it does not affect processing. | |||||||||
LogLevel:
Specifies the level of detail that is logged.This setting controls the level of detail that is logged through the Status event. Possible values are:
| |||||||||
NormalizeLineEndings: Whether to normalize line endings when calculating the reference digest.This setting specifies whether to normalize line endings when calculating the reference digest. When set to True all line endings will be converted to LF. The default value is True. | |||||||||
PreserveWhitespace: Whether to preserve whitespace in the signature.This setting specifies whether whitespace is preserved when canonicalizing XML. The default value is False. | |||||||||
ReadFromProgressEvent: Whether to read input data from inside the progress event.When set to True this setting allows input data to be specified from within the Progress event. The component will repeatedly fire the Progress event to ask for data. Inside the event set InputXML when the Operation parameter of the event is 1 (Read). When all data has been provided set the IsEOF parameter of the event to True. This allows input data to be chunked and provided piece by piece. The default value is False. | |||||||||
SignatureRelationship:
Whether the signature is a child or sibling of the SignatureXPath.
This setting specifies whether the created signature is included as a child or sibling of
the element specified by SignatureXPath. If this is set to 0 (default), the signature
is inserted as a child of the element. If this is set to 1, the signature is inserted
as a sibling after the element. The default value is 0 (child).
Example: SignatureRelationship is set to 0 (child - default)
xmlsig1.SignatureXPath = "/root/node1"; //produces XML like: <root> <node1> <ds:Signature>...</ds:Signature> </node1> <node2></node2> <node3></node3> </root> Example: SignatureRelationship is set to 1 (sibling)
xmlsig1.SignatureXPath = "/root/node1"; xmlsig1.Config("SignatureRelationship=1"); //produces XML like: <root> <node1></node1> <ds:Signature>...</ds:Signature> <node2></node2> <node3></node3> </root> | |||||||||
SignerCertCount:
The number of parsed signer certificates when verifying a signature.This setting is populated when calling VerifySignature. It holds the number of signer certificates
that were parsed from the message. In most cases a single certificate is present and SignerCert is populated.
In some cases, multiple certificates in a chain may be present, in that case each parsed certificate can be
accessed via this property and SignerCertEncoded. For instance:
int certCount = Int32.Parse(xmlsig.Config("SignerCertCount")); for(int i=0;i<certCount;i++) { Console.WriteLine(xmlsig.Config("SignerCertEncoded[ " + i + "]")); } | |||||||||
SignerCertEncoded[i]: The parsed signer certificate.This setting is used in conjunction with SignerCertCount to retrieve the base64 encoded signer certificate parsed from the message. Valid values for the index are from 0 to SignerCertCount - 1. SignerCertEncoded | |||||||||
SignWithCryptoAPI:
Whether to use the Crypto API for signing operations.This setting determines whether to use the Microsoft Crypto API to sign. This is helpful in cases
where the certificate is present in the Windows Certificate Store but the private key is not marked as
exportable. For instance when using a USB security key. The default value is False.
Note: This functionality is only available on Windows. | |||||||||
WriteToProgressEvent: Whether to write output data so it is accessible from inside the progress event.When set to True this setting allows output data to be obtained from within the Progress event. The component will repeatedly fire the Progress event to provide output data. Inside the event check OutputXML when the Operation parameter of the event is 2 (Write). The IsEOF parameter should be checked inside the event to determine when all output data has been provided. This allows output data to be chunked and obtained piece by piece. The default value is False. |
Base Configuration Settings
BuildInfo: Information about the product's build.When queried, this setting will return a string containing information about the product's build. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CodePage:
The system code page used for Unicode to Multibyte translations.The default code page is Unicode UTF-8 (65001).
The following is a list of valid code page identifiers:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
LicenseInfo:
Information about the current license.When queried, this setting will return a string containing information about the license this instance of a component is using. It will return the following information:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
UseInternalSecurityAPI: Tells the component whether or not to use the system security libraries or an internal implementation. By default the component will use the system security libraries to perform cryptographic functions. Setting this to True tells the component to use the internal implementation instead of using the system's security API. |