Cryptography Module Reference 2.0 | MuleSoft Documentation
# Cryptography Module Reference 2.0
Cryptography Module provides cryptography capabilities to a Mule application.
## Configurations
JCE configuration for Java keystores and inline keys.
#### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Name for this configuration. Connectors reference the configuration with this name.  
Keystore | Path to the keystore file.  
Enumeration, one of:
  * JCEKS
  * PKCS12
  * BCFKS

| Type of the keystore.  
Password | Password for unlocking the keystore.  
Jce Key Infos |  Array of One of:
  * Jce Asymmetric Key Info
  * Jce Symmetric Key Info

| List of keys to be considered, with internal IDs for referencing them.  
Use random IVs | Use random initial vectors (IVs) for CBC algorithms. In case of decryption, it assumes IV is prepended on the ciphertext.  
ID used to reference this configuration.  
Expiration Policy |  Expiration Policy | Configures the minimum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration.  
## Supported Operations
  *   *   *   *   *   * Pgp Encrypt And Sign
  * Pgp Encrypt Binary
  * Pgp Sign Binary
  *   *   *   *   * Calculate Checksum
  * Validate Checksum


Keystore configuration for GPG. Contains a list of keys with internal names to use in the operations.
#### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Name for this configuration. Connectors reference the configuration with this name.  
Public Keyring | Public key ring file.  
Private Keyring | Private key ring file.  
Pgp Key Infos |  Array of One of:
  * Pgp Asymmetric Key Info

| List of keys to be considered, with internal IDs for referencing them.  
ID used to reference this configuration.  
Expiration Policy |  Expiration Policy | Configures the minimum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration.  
## Jce Decrypt
`<crypto:jce-decrypt>`
Decrypt a stream using JCE, with a key.
### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Configuration | Name of the configuration to use.  
the content to decrypt | #[payload]  
Output Mime Type | The mime type of the payload that this operation outputs.  
Output Encoding | The encoding of the payload that this operation outputs.  
Config Ref |  ConfigurationProvider | Name of the configuration to use to execute this component.  
Streaming Strategy | 
  * Repeatable In Memory Stream
  * Repeatable File Store Stream
  * non-repeatable-stream

| Configures how Mule processes streams. Repeatable streams are the default behavior.  
A raw cipher string in the form "algorithm/mode/padding", according to the Java crypto documentation. Note that not all combinations are valid.  
Algorithm |  Enumeration, one of:
  * AESWrap
  * ARCFOUR
  * Blowfish
  * DESede
  * DESedeWrap

| Algorithm from a list of valid definitions, this is preferred.  
The key ID, as defined in the JCE configuration.  
Jce Key Info |  One of:
  * Jce Asymmetric Key Info
  * Jce Symmetric Key Info

| An inline key definition.  
Target Variable | Name of the variable that storesoperation’s output will be placed  
Target Value | An expression to evaluate against the operation’s output and store the expression outcome in the target variable | #[payload]  
Error Mappings |  Array of Error Mapping | Set of error mappings  
### For Configurations
### Throws
  * CRYPTO:DECRYPTION
  * CRYPTO:ENCRYPTION
  * CRYPTO:KEY
  * CRYPTO:MISSING_KEY
  * CRYPTO:PARAMETERS
  * CRYPTO:PASSPHRASE


## Jce Encrypt
`<crypto:jce-encrypt>`
Encrypt a stream using JCE, with a key.
### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Configuration | Name of the configuration to use.  
the content to encrypt | #[payload]  
Output Mime Type | The mime type of the payload that this operation outputs.  
Output Encoding | The encoding of the payload that this operation outputs.  
Config Ref |  ConfigurationProvider | Name of the configuration to use to execute this component.  
Streaming Strategy | 
  * Repeatable In Memory Stream
  * Repeatable File Store Stream
  * non-repeatable-stream

| Configures how Mule processes streams. Repeatable streams are the default behavior.  
A raw cipher string in the form "algorithm/mode/padding", according to the Java crypto documentation. Note that not all combinations are valid.  
Algorithm |  Enumeration, one of:
  * AESWrap
  * ARCFOUR
  * Blowfish
  * DESede
  * DESedeWrap

| Algorithm from a list of valid definitions, this is preferred.  
The key ID, as defined in the JCE configuration.  
Jce Key Info |  One of:
  * Jce Asymmetric Key Info
  * Jce Symmetric Key Info

| An inline key definition.  
Target Variable | Name of the variable that storesoperation’s output will be placed  
Target Value | An expression to evaluate against the operation’s output and store the expression outcome in the target variable | #[payload]  
Error Mappings |  Array of Error Mapping | Set of error mappings  
### For Configurations
### Throws
  * CRYPTO:ENCRYPTION
  * CRYPTO:KEY
  * CRYPTO:MISSING_KEY
  * CRYPTO:PARAMETERS


## Jce Sign
`<crypto:jce-sign>`
Sign a stream using JCE, with a key.
### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Configuration | Name of the configuration to use.  
the content to sign | #[payload]  
Algorithm |  Enumeration, one of:
  * MD2withRSA
  * MD5withRSA
  * SHA1withRSA
  * SHA224withRSA
  * SHA256withRSA
  * SHA384withRSA
  * SHA512withRSA
  * NONEwithDSA
  * SHA1withDSA
  * SHA224withDSA
  * SHA256withDSA
  * HmacMD5
  * HmacSHA1
  * HmacSHA224
  * HmacSHA256
  * HmacSHA384
  * HmacSHA512

| the algorithm used for signing | HmacSHA256  
Output Mime Type | The mime type of the payload that this operation outputs.  
Config Ref |  ConfigurationProvider | Name of the configuration to use to execute this component.  
The key ID, as defined in the JCE configuration.  
Jce Key Info |  One of:
  * Jce Asymmetric Key Info
  * Jce Symmetric Key Info

| An inline key definition.  
Target Variable | Name of the variable that storesoperation’s output will be placed  
Target Value | An expression to evaluate against the operation’s output and store the expression outcome in the target variable | #[payload]  
Error Mappings |  Array of Error Mapping | Set of error mappings  
### Output
### For Configurations
### Throws
  * CRYPTO:KEY
  * CRYPTO:MISSING_KEY
  * CRYPTO:PARAMETERS
  * CRYPTO:PASSPHRASE
  * CRYPTO:SIGNATURE


## Jce Validate
`<crypto:jce-validate>`
Validate a stream against a signature, using a key.
### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Configuration | Name of the configuration to use.  
the message to authenticate | #[payload]  
Expected | the signature to validate  
Algorithm |  Enumeration, one of:
  * MD2withRSA
  * MD5withRSA
  * SHA1withRSA
  * SHA224withRSA
  * SHA256withRSA
  * SHA384withRSA
  * SHA512withRSA
  * NONEwithDSA
  * SHA1withDSA
  * SHA224withDSA
  * SHA256withDSA
  * HmacMD5
  * HmacSHA1
  * HmacSHA224
  * HmacSHA256
  * HmacSHA384
  * HmacSHA512

| the algorithm used for signing | HmacSHA256  
Config Ref |  ConfigurationProvider | Name of the configuration to use to execute this component.  
The key ID, as defined in the JCE configuration.  
Jce Key Info |  One of:
  * Jce Asymmetric Key Info
  * Jce Symmetric Key Info

| An inline key definition.  
Error Mappings |  Array of Error Mapping | Set of error mappings  
### For Configurations
### Throws
  * CRYPTO:MISSING_KEY
  * CRYPTO:PARAMETERS
  * CRYPTO:VALIDATION
| the algorithm used for signing | HmacSHA256  
Config Ref |  ConfigurationProvider | Name of the configuration to use to execute this component.  
The key ID, as defined in the JCE configuration.  
Jce Key Info |  One of:
  * Jce Asymmetric Key Info
  * Jce Symmetric Key Info

| An inline key definition.  
Error Mappings |  Array of Error Mapping | Set of error mappings  
### For Configurations
### Throws
  * CRYPTO:MISSING_KEY
  * CRYPTO:PARAMETERS
  * CRYPTO:VALIDATION


## Xml Decrypt
`<crypto:xml-decrypt>`
Decrypt the XML document.
### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Configuration | Name of the configuration to use.  
the document to decrypt | #[payload]  
Element Path  
Config Ref |  ConfigurationProvider | Name of the configuration to use to execute this component.  
Streaming Strategy | 
  * Repeatable In Memory Stream
  * Repeatable File Store Stream
  * non-repeatable-stream

| Configures how Mule processes streams. Repeatable streams are the default behavior.  
The key ID, as defined in the JCE configuration.  
Jce Key Info |  One of:
  * Jce Asymmetric Key Info
  * Jce Symmetric Key Info

| An inline key definition.  
Target Variable | Name of the variable that storesoperation’s output will be placed  
Target Value | An expression to evaluate against the operation’s output and store the expression outcome in the target variable | #[payload]  
Error Mappings |  Array of Error Mapping | Set of error mappings  
### For Configurations
### Throws
  * CRYPTO:DECRYPTION
  * CRYPTO:ENCRYPTION
  * CRYPTO:KEY
  * CRYPTO:MISSING_KEY
  * CRYPTO:PARAMETERS
  * CRYPTO:PASSPHRASE


## Xml Encrypt
`<crypto:xml-encrypt>`
Encrypt the XML document.
### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Configuration | Name of the configuration to use.  
the document to encrypt | #[payload]  
Algorithm |  Enumeration, one of:
  * AES_CBC
  * AES_GCM
  * TRIPLEDES

| the algorithm for encryption  
Element Path | the path to the element to encrypt, if empty the whole document is considered  
Encrypt Content | encrypt the XML element or its content, if false the whole XML element is encrypted.  
Config Ref |  ConfigurationProvider | Name of the configuration to use to execute this component.  
Streaming Strategy | 
  * Repeatable In Memory Stream
  * Repeatable File Store Stream
  * non-repeatable-stream

| Configures how Mule processes streams. Repeatable streams are the default behavior.  
The key ID, as defined in the JCE configuration.  
Jce Key Info |  One of:
  * Jce Asymmetric Key Info
  * Jce Symmetric Key Info

| An inline key definition.  
Encryption Algorithm |  Enumeration, one of:
  * RSA15
  * RSA_OAEP
  * RSA_OAEP_11

| RSA_OAEP  
Canonicalization algorithm |  Enumeration, one of:
  * EXCLUSIVE
  * EXCLUSIVE_WITH_COMMENTS
  * INCLUSIVE
  * INCLUSE_WITH_COMMENTS

| EXCLUSIVE  
Digest Algorithm |  Enumeration, one of:
  * RIPEMD160
  * SHA256
  * SHA512

  
Target Variable | Name of the variable that storesoperation’s output will be placed  
Target Value | An expression to evaluate against the operation’s output and store the expression outcome in the target variable | #[payload]  
Error Mappings |  Array of Error Mapping | Set of error mappings  
### For Configurations
### Throws
  * CRYPTO:ENCRYPTION
  * CRYPTO:KEY
  * CRYPTO:MISSING_KEY
  * CRYPTO:PARAMETERS


## Xml Sign
`<crypto:xml-sign>`
Sign an XML document.
### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Configuration | Name of the configuration to use.  
the XML document to sign | #[payload]  
Digest Algorithm |  Enumeration, one of:
  * RIPEMD160
  * SHA256
  * SHA512

| the hashing algorithm for signing  
Canonicalization Algorithm |  Enumeration, one of:
  * EXCLUSIVE
  * EXCLUSIVE_WITH_COMMENTS
  * INCLUSIVE
  * INCLUSE_WITH_COMMENTS

| the canonicalization method for whitespace and namespace unification | EXCLUSIVE  
Enumeration, one of:
  * DETACHED
  * ENVELOPED
  * ENVELOPING

| the type of signature to create | ENVELOPED  
Element Path | for internally detached signatures, an unambiguous XPath expression resolving to the element to sign  
Config Ref |  ConfigurationProvider | Name of the configuration to use to execute this component.  
Streaming Strategy | 
  * Repeatable In Memory Stream
  * Repeatable File Store Stream
  * non-repeatable-stream

| Configures how Mule processes streams. Repeatable streams are the default behavior.  
The key ID, as defined in the JCE configuration.  
Jce Key Info |  One of:
  * Jce Asymmetric Key Info
  * Jce Symmetric Key Info

| An inline key definition.  
Target Variable | Name of the variable that storesoperation’s output will be placed  
Target Value | An expression to evaluate against the operation’s output and store the expression outcome in the target variable | #[payload]  
Error Mappings |  Array of Error Mapping | Set of error mappings  
### For Configurations
### Throws
  * CRYPTO:KEY
  * CRYPTO:MISSING_KEY
  * CRYPTO:PARAMETERS
  * CRYPTO:PASSPHRASE
  * CRYPTO:SIGNATURE


## Xml Validate
`<crypto:xml-validate>`
Validate an XML signed document.
### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Configuration | Name of the configuration to use.  
the document to verify (includes the signature) | #[payload]  
Element Path | for internally detached signatures, an unambiguous XPath expression resolving to the signed element  
Use Inline Certificate If Present | Use inline defined certificate if found  
Config Ref |  ConfigurationProvider | Name of the configuration to use to execute this component.  
The key ID, as defined in the JCE configuration.  
Jce Key Info |  One of:
  * Jce Asymmetric Key Info
  * Jce Symmetric Key Info

| An inline key definition.  
Error Mappings |  Array of Error Mapping | Set of error mappings  
### For Configurations
### Throws
  * CRYPTO:MISSING_KEY
  * CRYPTO:PARAMETERS
  * CRYPTO:VALIDATION


## Pgp Decrypt
`<crypto:pgp-decrypt>`
Decrypt a stream using PGP, giving the original data as a result. The decryption is done with the private key, so the secret passphrase must be provided.
### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Configuration | Name of the configuration to use.  
the content to decrypt | #[payload]  
File Name | the internal file name to decrypt, if not present the first will be used  
Validate If Signature Found | If the message being decrypted contains a signature, choose whether or not to validate the decrypted message against it  
Output Mime Type | The mime type of the payload that this operation outputs.  
Output Encoding | The encoding of the payload that this operation outputs.  
Config Ref |  ConfigurationProvider | Name of the configuration to use to execute this component.  
Streaming Strategy | 
  * Repeatable In Memory Stream
  * Repeatable File Store Stream
  * non-repeatable-stream

| Configures how Mule processes streams. Repeatable streams are the default behavior.  
Target Variable | Name of the variable that storesoperation’s output will be placed  
Target Value | An expression to evaluate against the operation’s output and store the expression outcome in the target variable | #[payload]  
Error Mappings |  Array of Error Mapping | Set of error mappings  
### For Configurations
### Throws
  * CRYPTO:DECRYPTION
  * CRYPTO:ENCRYPTION
  * CRYPTO:KEY
  * CRYPTO:MISSING_KEY
  * CRYPTO:PASSPHRASE


## Pgp Encrypt
`<crypto:pgp-encrypt>`
Encrypt a stream using PGP, giving an ASCII-armored stream output as a result. The encryption is done with the public key of the recipient, so the secret passphrase is not required.
### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Configuration | Name of the configuration to use.  
the content to encrypt | #[payload]  
Algorithm |  Enumeration, one of:
  * TRIPLE_DES
  * CAST5
  * BLOWFISH
  * SAFER
  * AES_128
  * AES_192
  * AES_256
  * TWOFISH
  * CAMELLIA_128
  * CAMELLIA_192
  * CAMELLIA_256
| Configures how Mule processes streams. Repeatable streams are the default behavior.  
Target Variable | Name of the variable that storesoperation’s output will be placed  
Target Value | An expression to evaluate against the operation’s output and store the expression outcome in the target variable | #[payload]  
Error Mappings |  Array of Error Mapping | Set of error mappings  
### For Configurations
### Throws
  * CRYPTO:DECRYPTION
  * CRYPTO:ENCRYPTION
  * CRYPTO:KEY
  * CRYPTO:MISSING_KEY
  * CRYPTO:PASSPHRASE


## Pgp Encrypt
`<crypto:pgp-encrypt>`
Encrypt a stream using PGP, giving an ASCII-armored stream output as a result. The encryption is done with the public key of the recipient, so the secret passphrase is not required.
### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Configuration | Name of the configuration to use.  
the content to encrypt | #[payload]  
Algorithm |  Enumeration, one of:
  * TRIPLE_DES
  * CAST5
  * BLOWFISH
  * SAFER
  * AES_128
  * AES_192
  * AES_256
  * TWOFISH
  * CAMELLIA_128
  * CAMELLIA_192
  * CAMELLIA_256

| the symmetric algorithm to use for encryption  
File Name | the internal file name to use in the resulting PGP header  
Disable MDC | If set, MDC (modification detection code) will not be used during encryption  
Config Ref |  ConfigurationProvider | Name of the configuration to use to execute this component.  
Streaming Strategy | 
  * Repeatable In Memory Stream
  * Repeatable File Store Stream
  * non-repeatable-stream

| Configures how Mule processes streams. Repeatable streams are the default behavior.  
The key ID, as defined in the JCE configuration.  
Pgp Key Info |  One of:
  * Pgp Asymmetric Key Info

| An inline key definition.  
Target Variable | Name of the variable that storesoperation’s output will be placed  
Target Value | An expression to evaluate against the operation’s output and store the expression outcome in the target variable | #[payload]  
Error Mappings |  Array of Error Mapping | Set of error mappings  
### For Configurations
### Throws
  * CRYPTO:ENCRYPTION
  * CRYPTO:KEY
  * CRYPTO:MISSING_KEY


## Pgp Encrypt And Sign
`<crypto:pgp-encrypt-and-sign>`
Encrypt a stream using PGP, giving an ASCII-armored stream output as a result. The encryption is done with the public key of the recipient, so the secret passphrase is not required.
### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Configuration | Name of the configuration to use.  
the content to encrypt | #[payload]  
Algorithm |  Enumeration, one of:
  * TRIPLE_DES
  * CAST5
  * BLOWFISH
  * SAFER
  * AES_128
  * AES_192
  * AES_256
  * TWOFISH
  * CAMELLIA_128
  * CAMELLIA_192
  * CAMELLIA_256

| the symmetric algorithm to use for encryption  
File Name | the internal file name to use in the resulting PGP header  
Encryption Key Selection |  Pgp Key Selection | the key used to encrypt the message.  
Sign Key Selection |  Pgp Key Selection | the key used to sign the message.  
Disable MDC | If set, MDC (modification detection code) will not be used during encryption  
Config Ref |  ConfigurationProvider | Name of the configuration to use to execute this component.  
Streaming Strategy | 
  * Repeatable In Memory Stream
  * Repeatable File Store Stream
  * non-repeatable-stream

| Configures how Mule processes streams. Repeatable streams are the default behavior.  
Target Variable | Name of the variable that storesoperation’s output will be placed  
Target Value | An expression to evaluate against the operation’s output and store the expression outcome in the target variable | #[payload]  
Error Mappings |  Array of Error Mapping | Set of error mappings  
### For Configurations
### Throws
  * CRYPTO:ENCRYPTION
  * CRYPTO:KEY
  * CRYPTO:MISSING_KEY


## Pgp Encrypt Binary
`<crypto:pgp-encrypt-binary>`
Encrypt a stream using PGP, giving a binary output as a result. The encryption is done with the public key of the recipient, so the secret passphrase is not required.
### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Configuration | Name of the configuration to use.  
the content to encrypt | #[payload]  
Algorithm |  Enumeration, one of:
  * TRIPLE_DES
  * CAST5
  * BLOWFISH
  * SAFER
  * AES_128
  * AES_192
  * AES_256
  * TWOFISH
  * CAMELLIA_128
  * CAMELLIA_192
  * CAMELLIA_256

| the symmetric algorithm to use for encryption  
File Name | the internal file name to use in the resulting PGP header  
Disable MDC | If set, MDC (modification detection code) will not be used during encryption  
Output Mime Type | The mime type of the payload that this operation outputs.  
Output Encoding | The encoding of the payload that this operation outputs.  
Config Ref |  ConfigurationProvider | Name of the configuration to use to execute this component.  
Streaming Strategy | 
  * Repeatable In Memory Stream
  * Repeatable File Store Stream
  * non-repeatable-stream

| Configures how Mule processes streams. Repeatable streams are the default behavior.  
The key ID, as defined in the JCE configuration.  
Pgp Key Info |  One of:
  * Pgp Asymmetric Key Info

| An inline key definition.  
Target Variable | Name of the variable that storesoperation’s output will be placed  
Target Value | An expression to evaluate against the operation’s output and store the expression outcome in the target variable | #[payload]  
Error Mappings |  Array of Error Mapping | Set of error mappings  
### For Configurations
### Throws
  * CRYPTO:ENCRYPTION
  * CRYPTO:KEY
  * CRYPTO:MISSING_KEY


## Pgp Sign
`<crypto:pgp-sign>`
Create a detached (standalone) PGP signature of the stream. The signing is done with the private key of the sender, so the secret passphrase must be provided.
### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Configuration | Name of the configuration to use.  
the content to sign | #[payload]  
Algorithm |  Enumeration, one of:
  * RIPEMD160
  * TIGER_192
  * HAVAL_5_160
  * DOUBLE_SHA
  * SHA224
  * SHA256
  * SHA384
  * SHA512

| the digest (or hashing) algorithm  
Config Ref |  ConfigurationProvider | Name of the configuration to use to execute this component.  
Streaming Strategy | 
  * Repeatable In Memory Stream
  * Repeatable File Store Stream
  * non-repeatable-stream

| Configures how Mule processes streams. Repeatable streams are the default behavior.  
The key ID, as defined in the JCE configuration.  
Pgp Key Info |  One of:
  * Pgp Asymmetric Key Info

| An inline key definition.  
Target Variable | Name of the variable that storesoperation’s output will be placed  
Target Value | An expression to evaluate against the operation’s output and store the expression outcome in the target variable | #[payload]  
Error Mappings |  Array of Error Mapping | Set of error mappings  
### For Configurations
### Throws
  * CRYPTO:KEY
  * CRYPTO:MISSING_KEY
  * CRYPTO:PARAMETERS
  * CRYPTO:PASSPHRASE
  * CRYPTO:SIGNATURE


## Pgp Sign Binary
`<crypto:pgp-sign-binary>`
Create a detached (standalone) PGP signature of the stream. The signing is done with the private key of the sender, so the secret passphrase must be provided.
### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Configuration | Name of the configuration to use.  
the content to sign | #[payload]  
Algorithm |  Enumeration, one of:
  * RIPEMD160
  * TIGER_192
  * HAVAL_5_160
  * DOUBLE_SHA
  * SHA224
  * SHA256
  * SHA384
  * SHA512

| the digest (or hashing) algorithm  
Output Mime Type | The mime type of the payload that this operation outputs.  
Output Encoding | The encoding of the payload that this operation outputs.  
Config Ref |  ConfigurationProvider | Name of the configuration to use to execute this component.  
Streaming Strategy | 
  * Repeatable In Memory Stream
  * Repeatable File Store Stream
  * non-repeatable-stream
## Pgp Sign Binary
`<crypto:pgp-sign-binary>`
Create a detached (standalone) PGP signature of the stream. The signing is done with the private key of the sender, so the secret passphrase must be provided.
### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Configuration | Name of the configuration to use.  
the content to sign | #[payload]  
Algorithm |  Enumeration, one of:
  * RIPEMD160
  * TIGER_192
  * HAVAL_5_160
  * DOUBLE_SHA
  * SHA224
  * SHA256
  * SHA384
  * SHA512

| the digest (or hashing) algorithm  
Output Mime Type | The mime type of the payload that this operation outputs.  
Output Encoding | The encoding of the payload that this operation outputs.  
Config Ref |  ConfigurationProvider | Name of the configuration to use to execute this component.  
Streaming Strategy | 
  * Repeatable In Memory Stream
  * Repeatable File Store Stream
  * non-repeatable-stream

| Configures how Mule processes streams. Repeatable streams are the default behavior.  
The key ID, as defined in the JCE configuration.  
Pgp Key Info |  One of:
  * Pgp Asymmetric Key Info

| An inline key definition.  
Target Variable | Name of the variable that storesoperation’s output will be placed  
Target Value | An expression to evaluate against the operation’s output and store the expression outcome in the target variable | #[payload]  
Error Mappings |  Array of Error Mapping | Set of error mappings  
### For Configurations
### Throws
  * CRYPTO:KEY
  * CRYPTO:MISSING_KEY
  * CRYPTO:PARAMETERS
  * CRYPTO:PASSPHRASE
  * CRYPTO:SIGNATURE


## Pgp Validate
`<crypto:pgp-validate>`
Validate a PGP signature against a stream, to authenticate it. The validation is done with the public key of the sender, so the secret passphrase is not required.
### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Configuration | Name of the configuration to use.  
the message to authenticate | #[payload]  
Expected | the signature  
Config Ref |  ConfigurationProvider | Name of the configuration to use to execute this component.  
Error Mappings |  Array of Error Mapping | Set of error mappings  
### For Configurations
### Throws
  * CRYPTO:MISSING_KEY
  * CRYPTO:PARAMETERS
  * CRYPTO:VALIDATION


## Calculate Checksum
`<crypto:calculate-checksum>`
Calculate the checksum of the stream.
### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Algorithm |  Enumeration, one of:
  * CRC32
  * SHA_1
  * SHA_256
  * SHA_512

| the checksum algorithm  
the content for calculating the checksum | #[payload]  
Target Variable | Name of the variable that storesoperation’s output will be placed  
Target Value | An expression to evaluate against the operation’s output and store the expression outcome in the target variable | #[payload]  
Error Mappings |  Array of Error Mapping | Set of error mappings  
### Output
### Throws
  * CRYPTO:CHECKSUM


## Jce Decrypt Pbe
`<crypto:jce-decrypt-pbe>`
Decrypt a stream using JCE, with a password.
### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
the content to decrypt | #[payload]  
Algorithm | the algorithm for generating a key from the password | PBKDF2withHmacSHA512 _AES256_ CBC__PKCS5Padding (FIPS)  
Password | the password for decryption  
Password Salt | the password salt used to sign. Recommended minimum: 16 bytes of random data to ensure uniqueness and prevent rainbow table attacks. The salt is encoded in UTF-8 and cannot be modified after creation.  
Iteration Count | the iteration count used to sign. Recommended minimum: 100,000 iterations to slow down brute-force attacks in modern hardware.  
Output Mime Type | The mime type of the payload that this operation outputs.  
Output Encoding | The encoding of the payload that this operation outputs.  
Streaming Strategy | 
  * Repeatable In Memory Stream
  * Repeatable File Store Stream
  * non-repeatable-stream

| Configures how Mule processes streams. Repeatable streams are the default behavior.  
Target Variable | Name of the variable that storesoperation’s output will be placed  
Target Value | An expression to evaluate against the operation’s output and store the expression outcome in the target variable | #[payload]  
Error Mappings |  Array of Error Mapping | Set of error mappings  
### Throws
  * CRYPTO:DECRYPTION
  * CRYPTO:ENCRYPTION
  * CRYPTO:KEY
  * CRYPTO:MISSING_KEY
  * CRYPTO:PARAMETERS
  * CRYPTO:PASSPHRASE


## Jce Encrypt Pbe
`<crypto:jce-encrypt-pbe>`
Encrypt a stream using JCE, with a password.
### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
the content to encrypt | #[payload]  
Algorithm | the algorithm for generating a key from the password | PBKDF2withHmacSHA512 _AES256_ CBC__PKCS5Padding  
Password | the password for encryption  
Password Salt | the password salt used to sign. Recommended minimum: 16 bytes of random data to ensure uniqueness and prevent rainbow table attacks. The salt is encoded in UTF-8 and cannot be modified after creation.  
Iteration Count | the iteration count used to sign. Recommended minimum: 100,000 iterations to slow down brute-force attacks in modern hardware.  
Output Mime Type | The mime type of the payload that this operation outputs.  
Output Encoding | The encoding of the payload that this operation outputs.  
Streaming Strategy | 
  * Repeatable In Memory Stream
  * Repeatable File Store Stream
  * non-repeatable-stream

| Configures how Mule processes streams. Repeatable streams are the default behavior.  
Target Variable | Name of the variable that storesoperation’s output will be placed  
Target Value | An expression to evaluate against the operation’s output and store the expression outcome in the target variable | #[payload]  
Error Mappings |  Array of Error Mapping | Set of error mappings  
### Throws
  * CRYPTO:ENCRYPTION
  * CRYPTO:KEY
  * CRYPTO:MISSING_KEY
  * CRYPTO:PARAMETERS


## Jce Sign Pbe
`<crypto:jce-sign-pbe>`
Sign a stream using JCE, with a key.
### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
the content to sign | #[payload]  
Algorithm | the algorithm used for signing | PBKDF2withHmacSHA512  
Password | the password used to sign  
Password Salt | the password salt used to sign. Recommended minimum: 16 bytes of random data to ensure uniqueness and prevent rainbow table attacks. The salt is encoded in UTF-8 and cannot be modified after creation.  
Iteration Count | the iteration count used to sign. Recommended minimum: 100,000 iterations to slow down brute-force attacks in modern hardware.  
Output Mime Type | The mime type of the payload that this operation outputs.  
Target Variable | Name of the variable that storesoperation’s output will be placed  
Target Value | An expression to evaluate against the operation’s output and store the expression outcome in the target variable | #[payload]  
Error Mappings |  Array of Error Mapping | Set of error mappings  
### Output
### Throws
  * CRYPTO:KEY
  * CRYPTO:MISSING_KEY
  * CRYPTO:PARAMETERS
  * CRYPTO:PASSPHRASE
  * CRYPTO:SIGNATURE


## Jce Validate Pbe
`<crypto:jce-validate-pbe>`
Validate a stream against a signature, using a key.
### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
the message to authenticate | #[payload]  
Expected | the signature to validate  
Algorithm | the algorithm used for signing | PBKDF2withHmacSHA512  
Password | the password used to sign  
Password Salt | the password salt used to sign. Recommended minimum: 16 bytes of random data to ensure uniqueness and prevent rainbow table attacks. The salt is encoded in UTF-8 and cannot be modified after creation.  
Iteration Count | the iteration count used to sign. Recommended minimum: 100,000 iterations to slow down brute-force attacks in modern hardware.  
Error Mappings |  Array of Error Mapping | Set of error mappings  
### Throws
  * CRYPTO:MISSING_KEY
  * CRYPTO:PARAMETERS
  * CRYPTO:VALIDATION


## Pgp Binary To Armored
`<crypto:pgp-binary-to-armored>`
Converts an encrypted PGP message or a PGP signature to an ASCII armored representation, suitable for plain text channels.
### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
the content to convert | #[payload]  
Streaming Strategy | 
  * Repeatable In Memory Stream
  * Repeatable File Store Stream
  * non-repeatable-stream
## Pgp Binary To Armored
`<crypto:pgp-binary-to-armored>`
Converts an encrypted PGP message or a PGP signature to an ASCII armored representation, suitable for plain text channels.
### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
the content to convert | #[payload]  
Streaming Strategy | 
  * Repeatable In Memory Stream
  * Repeatable File Store Stream
  * non-repeatable-stream

| Configures how Mule processes streams. Repeatable streams are the default behavior.  
Target Variable | Name of the variable that storesoperation’s output will be placed  
Target Value | An expression to evaluate against the operation’s output and store the expression outcome in the target variable | #[payload]  
Error Mappings |  Array of Error Mapping | Set of error mappings  
### Throws
  * CRYPTO:PARAMETERS


## Validate Checksum
`<crypto:validate-checksum>`
Validate the checksum of the stream against an expected checksum.
### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Algorithm |  Enumeration, one of:
  * CRC32
  * SHA_1
  * SHA_256
  * SHA_512

| the checksum algorithm  
the content for calculating the checksum | #[payload]  
Expected | the expected checksum as an hexadecimal string  
Error Mappings |  Array of Error Mapping | Set of error mappings  
### Throws
  * CRYPTO:MISSING_KEY
  * CRYPTO:PARAMETERS
  * CRYPTO:VALIDATION


## Types
### Expiration Policy
Configures an expiration policy strategy.
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
**Max Idle Time** |  Configures the maximum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration.  
Enumeration, one of:
  * NANOSECONDS
  * MICROSECONDS
  * MILLISECONDS
  * SECONDS
  * MINUTES
  * HOURS

|  Time unit for the **Max Idle Time** field.  
### Repeatable In Memory Stream
Configures the in-memory streaming strategy by which the request fails if the data exceeds the MAX buffer size. Always run performance tests to find the optimal buffer size for your specific use case.
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
**Initial Buffer Size** |  Initial amount of memory to allocate to the data stream. If the streamed data exceeds this value, the buffer expands by **Buffer Size Increment** , with an upper limit of **Max In Memory Size value**.  
**Buffer Size Increment** |  This is by how much the buffer size expands if it exceeds its initial size. Setting a value of zero or lower means that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error is raised when the buffer gets full.  
**Max Buffer Size** |  Maximum size of the buffer. If the buffer size exceeds this value, Mule raises a `STREAM_MAXIMUM_SIZE_EXCEEDED` error. A value of less than or equal to `0` means no limit.  
**Buffer Unit** |  Enumeration, one of: |  Unit for the **Initial Buffer Size** , **Buffer Size Increment** , and **Buffer Unit** fields.  
### Repeatable File Store Stream
Configures the repeatable file-store streaming strategy by which Mule keeps a portion of the stream content in memory. If the stream content is larger than the configured buffer size, Mule backs up the buffer’s content to disk and then clears the memory.
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
**In Memory Size** |  Maximum amount of memory that the stream can use for data. If the amount of memory exceeds this value, Mule buffers the content to disk. To optimize performance:
  * Configure a larger buffer size to avoid the number of times Mule needs to write the buffer on disk. This increases performance, but it also limits the number of concurrent requests your application can process, because it requires additional memory.
  * Configure a smaller buffer size to decrease memory load at the expense of response time.

  
**Buffer Unit** |  Enumeration, one of: |  Unit for the **In Memory Size** field.  
### Error Mapping
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Enumeration, one of:
  * REDELIVERY_EXHAUSTED
  * TRANSFORMATION
  * EXPRESSION
  * SECURITY
  * CLIENT_SECURITY
  * SERVER_SECURITY
  * ROUTING
  * CONNECTIVITY
  * RETRY_EXHAUSTED
  * TIMEOUT

  
### Pgp Key Selection
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
The key ID, as defined in the JCE configuration.  
**Pgp Key Info** |  One of:
  * Pgp Asymmetric Key Info

|  An inline key definition.  
### Pgp Asymmetric Key Info
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Internal key ID for referencing from operations.  
**Key Pair Identifier** |  Pgp Asymmetric Key Identifier |  A way to identify the key inside the keystore.  
**Passphrase** |  The password for unlocking the secret part of the key.  
### Pgp Asymmetric Key Identifier
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
**Fingerprint**  
### Jce Asymmetric Key Info
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Internal key ID for referencing from operations.  
Alias of the key in the keystore.  
Password used to unlock the private part of the key.  
### Jce Symmetric Key Info
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Internal key ID for referencing from operations.  
Alias of the key in the keystore.  
Password used to unlock the key.