Jwe 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.JWE Configuration Settings
CloseInputStreamAfterProcess: Whether to close the input stream after processing.This setting specifies whether the stream set by SetInputStream is closed after processing the message. The default value is True. | |
CloseOutputStreamAfterProcess: Whether to close the output stream after processing.This setting specifies whether the stream set by SetOutputStream is closed after processing the message. The default value is True. | |
CompressionAlgorithm:
The compression algorithm to use.This setting specifies the compression algorithm to use (if any). If set the
content will be compressed using the specified algorithm. Possible values are:
| |
PartyUInfo:
Information about the producer of the message.This setting may optionally be set when Algorithm is set to an ECDH algorithm before calling Encrypt.
When calling Decrypt this setting is populated and also accessible from within the RecipientInfo event.
The value may be any string. To specify a base64url encoded value directly prefix the string with [b64].
For instance the following lines both set the same value:
jwe.Config("PartyUInfo=Alice");
jwe.Config("PartyUInfo=[b64]QWxpY2U="); //Equivalent to above line
| |
PartyVInfo:
Information about the recipient of the message.This setting may optionally be set when Algorithm is set to an ECDH algorithm before calling Encrypt.
When calling Decrypt this setting is populated and also accessible from within the RecipientInfo event.
The value may be any string. To specify a base64url encoded value directly prefix the string with [b64].
For instance the following lines both set the same value:
jwe.Config("PartyUInfo=Bob");
jwe.Config("PartyUInfo=[b64]Qm9i"); //Equivalent to above line
| |
PBES2Count:
The PBKDF2 iteration count.This setting specifies the PBDKF2 iteration count. A minimum value of 1000 is recommended. The default value is 1000.
This setting is only applicable when EncryptionAlgorithm is set to a PBES algorithm. | |
PBES2SaltLength:
The salt input value length.This setting specifies the length in bytes of the salt input value, which is used as part of the PBKDF2 salt value.
The default value is 16.
This setting is only applicable when EncryptionAlgorithm is set to a PBES algorithm. | |
RawHeader:
Holds the raw JOSE header.This setting may be queried after calling Encrypt or Decrypt to obtain the raw JOSE header. This returns a JSON
string like:
{"alg":"A128GCMKW","enc":"A256CBC-HS512","iv":"oSqGqGiA48O1uD9b","tag":"0WNBx27Z5aL5uvsd01d1Tw"} | |
StrictValidation:
Requires specific algorithm when decrypting.If set to True the class will validate the that algorithms used in the JWE message match the values
specified in EncryptionAlgorithm and ContentEncryptionAlgorithm. If either algorithms do not match
the class throws an exception.
By default this setting is False and the algorithms are read automatically from the encrypted JWE message. |
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. | |
GUIAvailable:
Tells the class whether or not a message loop is available for processing events.In a GUI-based application, long-running blocking operations may cause the application to stop responding to input until the operation returns. The class will attempt to discover whether or not the application has a message loop and, if one is discovered, it will process events in that message loop during any such blocking operation.
In some non-GUI applications an invalid message loop may be discovered that will result in errant behavior. In these cases, setting GUIAvailable to false will ensure that the class does not attempt to process external events. | |
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:
| |
UseDaemonThreads: Whether threads created by the class are daemon threads.If set to True (default), when the class creates a thread the thread's Daemon property will be explicitly set to True. When set to False the class will not set the Daemon property on the created thread. The default value is True. | |
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. |