...
Name |
Type |
Description |
CamelPGPDataFormatKeyFileName |
String |
Since Camel 2.11.0; filename of the keyring; will override existing setting directly on the PGPDataFormat. |
CamelPGPDataFormatEncryptionKeyRing |
byte[] |
Since Camel 2.12.1; the encryption keyring; will override existing setting directly on the PGPDataFormat. |
CamelPGPDataFormatKeyUserid |
String |
Since Camel 2.11.0; the User ID of the key in the PGP keyring; will override existing setting directly on the PGPDataFormat. |
CamelPGPDataFormatKeyUserids |
List<String> |
Since camel 2.12.2: the User IDs of the key in the PGP keyring; will override existing setting directly on the PGPDataFormat. |
CamelPGPDataFormatKeyPassword |
String |
Since Camel 2.11.0; password used when opening the private key; will override existing setting directly on the PGPDataFormat. |
CamelPGPDataFormatSignatureKeyFileName |
String |
Since Camel 2.11.0; filename of the signature keyring; will override existing setting directly on the PGPDataFormat. |
CamelPGPDataFormatSignatureKeyRing |
byte[] |
Since Camel 2.12.1; the signature keyring; will override existing setting directly on the PGPDataFormat. |
CamelPGPDataFormatSignatureKeyUserid |
String |
Since Camel 2.11.0; the User ID of the signature key in the PGP keyring; will override existing setting directly on the PGPDataFormat. |
CamelPGPDataFormatSignatureKeyUserids |
List<String> |
Since Camel 2.12.3; the User IDs of the signature keys in the PGP keyring; will override existing setting directly on the PGPDataFormat. |
CamelPGPDataFormatSignatureKeyPassword |
String |
Since Camel 2.11.0; password used when opening the signature private key; will override existing setting directly on the PGPDataFormat. |
CamelPGPDataFormatEncryptionAlgorithm |
int |
Since Camel 2.12.2; symmetric key encryption algorithm; will override existing setting directly on the PGPDataFormat. |
CamelPGPDataFormatSignatureHashAlgorithm |
int |
Since Camel 2.12.2; signature hash algorithm; will override existing setting directly on the PGPDataFormat. |
CamelPGPDataFormatCompressionAlgorithm |
int |
Since Camel 2.12.2; compression algorithm; will override existing setting directly on the PGPDataFormat. |
CamelPGPDataFormatNumberOfEncryptionKeys |
Integer |
Since Camel 2.12.3; number of public keys used for encrypting the symmectric key, set by PGPDataFormat during encryptiion process |
CamelPGPDataFormatNumberOfSigningKeys |
Integer |
Since Camel 2.12.3; number of private keys used for creating signatures, set by PGPDataFormat during signing process |
Encrypting with PGPDataFormat
...
Codeblock |
title |
Several Signatures |
language |
java |
|
PGPDataFormat pgpSignAndEncryptSeveralSignerKeys = new PGPDataFormat();
pgpSignAndEncryptSeveralSignerKeys.setKeyUserid(keyUserid); // for encrypting, you can also use setKeyUserids if you want to encrypt with several keys
pgpSignAndEncryptSeveralSignerKeys.setKeyFileName(keyfileName);
pgpSignAndEncryptSeveralSignerKeys.setSignatureKeyFileName(signatgureKeyfileName);
pgpSignAndEncryptSeveralSignerKeys.setSignaturePassword("sdude"); // here we assume that all private keys have the same password, if this is not the case then you can use setPassphraseAccessor
List<String> signerUserIds = new ArrayList<String>();
signerUserIds.add("company old key");
signerUserIds.add("company new key");
pgpSignAndEncryptSeveralSignerKeys.setSignatureKeyUserids(signerUserIds);
from("direct:start")
...
.marshal(pgpSignAndEncryptSeveralSignerKeys)
... |
Support of Sub-Keys and Key Flags in PGP Data Format Marshaler
Since Camel 2.12.3.
An OpenPGP V4 key can have a primary key and sub-keys. The usage of the keys is indicated by the so called Key Flags. For example, you can have a primary key with two sub-keys; the primary key shall only be used for certifying other keys (Key Flag 0x01), the first sub-key shall only be used for signing (Key Flag 0x02), and the second sub-key shall only be used for encryption (Key Flag 0x04 or 0x08). The PGP Data Format marshaler takes into account these Key Flags of the primary key and sub-keys in order to determine the right key for signing and encryption. This is necessary because the primary key and its sub-keys have the same User IDs.
Dependencies
To use the Crypto dataformat in your camel routes you need to add the following dependency to your pom.
...
Since Camel 2.12.3.