第 262 章 PGP DataFormat
作为 Camel 版本 2.9 提供。
PGP 数据格式将 Java Cryptographic Extension 集成到 Camel 中,允许使用 Camel 熟悉的 marshall 和 unmarshal 格式对消息进行简单、灵活的加密和解密。它假定 marshalling 为意味着对cyphertext 和 unmarshalling 的加密功能,意味着解密回原始明文。此数据格式仅实施对称(共享密钥)加密和取消处理。
262.1. PGPDataFormat Options
PGP 数据格式支持 15 个选项,它们如下。
名称 | 默认 | Java 类型 | 描述 |
---|---|---|---|
keyUserid |
| 在加密过程中使用的 PGP 密钥环中密钥的用户 ID。也可以是用户 ID 的一部分。例如,如果用户 ID 是 Test User,那么您可以使用 Test User 部分或处理用户 ID。 | |
signatureKeyUserid |
| 用于签名(加密)或签名验证(解密解密)中密钥的用户 ID。在签名验证过程中,指定的用户 ID 限制来自公共密钥环的公钥,这些密钥可用于验证。如果没有为签名指定用户 ID,那么可以使用公共密钥环中的任何公钥进行验证。也可以是用户 ID 的一部分。例如,如果用户 ID 是 Test User,那么您可以使用 Test User 部分或处理用户 ID。 | |
password |
| 打开私钥时使用的密码(不用于加密)。 | |
signaturePassword |
| 打开用于签名(加密)的私钥时使用的密码。 | |
keyFileName |
| 密钥环的文件名;必须可作为类路径资源进行访问(但您可以使用 file: 前缀在文件系统中指定位置)。 | |
signatureKeyFileName |
| 用于签名(加密)或签名验证(解密)的密钥环的文件名;必须作为类路径资源访问(但您可以使用 file: prefix 指定文件系统中的位置)。 | |
signatureKeyRing |
| 用于签名/验证为字节阵列的密钥环。您不能同时设置 signatureKeyFileName 和 signatureKeyRing。 | |
armored |
|
| 这个选项将导致 PGP 对加密的文本进行编码,使其可用于复制/粘贴等。 |
integrity |
|
| 在加密文件中添加完整性检查/签名。默认值为 true。 |
provider |
| Java Cryptography Extension (JCE)供应商,默认为 Bouncy Castle (BC)。另外,您可以使用 IAIK JCE 提供商;在这种情况下,必须事先注册该提供程序,并且 Bouncy Castle 提供商不能事先注册。Sun JCE 供应商不起作用。 | |
algorithm |
| 对称密钥加密算法; 可能的值在 org.bouncycastle.bcpg.SymmetricKeyAlgorithmTags; 例如 2 (= TRIPLE DES), 3 (= CAST5), 4 (= BLOWFISH), 6 (= DES), 7 (= AES_128)。仅与加密相关。 | |
compressionAlgorithm |
| 压缩算法;可能的值在 org.bouncycastle.bcpg.CompresionAlgorithmTags; 例如 0 (= UNCOMPRESSED), 1 (= ZIP), 2 (= ZLIB), 3 (= BZIP2)。仅与加密相关。 | |
hashAlgorithm |
| 签名哈希算法;可能的值在 org.bouncycastle.bcpg.HashAlgorithmTags; 例如 2 (= SHA1), 8 (= SHA256), 9 (= SHA384), 10 (= SHA512), 11 (=SHA224)。仅与签名相关。 | |
signatureVerificationOption |
| 控制在取消处理过程中验证签名的行为。可以有 4 个值:可选:PGP 消息可能包含签名,如果它包含签名,则执行签名验证。必需: PGP 消息必须至少包含一个签名;如果这不是例外(PGPException),则引发异常(PGPException)。一个签名验证会被执行。忽略 PGP 消息中的签名将被忽略;不会执行签名验证。no_signature_allowed: no_signature_allowed: PGP 消息不得包含签名;否则会抛出异常(PGPException)。 | |
contentTypeHeader |
|
| 如果数据格式能够这样做,则数据格式是否应该以 data 格式设置 Content-Type 标头。例如,用于数据格式的 application/xml (数据格式)或 application/json 用于数据格式 marshalling to JSon etc。 |