JWS Configuration
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.JWS Configuration Settings
AllowedSigningAlgorithms:
Allowed signing algorithms when StrictValidation is set to True.This setting specifics a comma separated list of algorithms that are allowed when StrictValidation is set to true. This allows multiple signing algorithms to be considered acceptable during validation. This setting is only applicable when StrictValidation is set to true. Possible values:
Example value: HS512,HS256. | ||||||||||||||||
IncludeCertificateFormat:
The certificate values to include in the signed message (if any).This setting specifies whether information about the Certificate is included in the signed message.
When specified, the value here determines the format of the included certificate information. The
certificate information is included as a standard JWS header parameter.
Multiple formats may be included in the signed message. The value specified should be the binary 'OR' of one or more of the following values:
Note: When including the certificate chain (0x01) the public certificate of Certificate will automatically be included. IssuerCerts may also be set to the public issuer certificates that will be used when building the chain to include. For instance, to include both the certificate chain and SHA-256 thumbprint of the Certificate set this to 5. | ||||||||||||||||
IssuerCerts:
A collection of issuer certificates used with IncludeCertificateFormat.This setting optionally specifies one or more issuer certificates that may be used by the class when IncludeCertificateFormat
is specified. Note that the issuer certificates specified here are used as a store of potential issuer certificates. At
runtime the class will inspect the Certificate value and add the relevant issuer certificates that are present
in this property.
The format of the value must be one or more PEM encoded certificates with headers and footers. For instance to include 2 issuer certificates the value may be: -----BEGIN CERTIFICATE----- | ||||||||||||||||
KeyEncoding:
The encoding of the Key value.This setting specifies the encoding that has been applied to the Key. value prior to providing it to the class.
The Key is typically represented as an array of bytes, however in some cases the key value may have been encoded.
As a matter of convenience the class will accept the key with an encoding already applied. The class
will decode the key value according the to the value specified here before processing. Possible values are:
| ||||||||||||||||
RawHeader:
Holds the raw JOSE header.This setting may be queried after calling Sign or Verify to obtain the raw JOSE header. This returns a JSON string like:
{"alg":"ES384","kid":"myKeyId"} | ||||||||||||||||
SerializationType:
Determines the serialization type to use when reading and writing JWS content.This setting is used to control the serialization type the class uses when reading and writing JWS content. Possible values are:
| ||||||||||||||||
StrictValidation: Requires a specific algorithm when verifying signatures.If set to True the class will validate that the Algorithm in the JWS message matches the value specified in the Algorithm property. If it does not an error is thrown. By default this is False and the algorithm is read and used automatically from the message. Enabling this setting provides a way to require a specific algorithm when calling VerifySignature. |
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 class is using. It will return the following information:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ProcessIdleEvents: Whether the class uses its internal event loop to process events when the main thread is idle.If set to False, the class will not fire internal idle events. Set this to false to use the class in a background thread on macOS. By default this setting is True. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SelectWaitMillis: The length of time in milliseconds the class will wait when DoEvents is called if there are no events to process.If there are no events to process when DoEvents is called, the class will wait for the amount of time specified here before returning. The default value is 20. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
UseInternalSecurityAPI: Tells the class whether or not to use the system security libraries or an internal implementation. By default the class will use the system security libraries to perform cryptographic functions. Setting this to True tells the class to use the internal implementation instead of using the system's security API. |