第 263 章 PGP DataFormat
从 Camel 版本 2.9 开始提供
PGP 数据格式将 Java Cryptographic 扩展集成到 Camel 中,允许使用 Camel 熟悉的 marshall 和 unmarshal 格式化机制来简单而灵活的加密和解密消息。它假定要对 cyphertext 和 unmarshalling 进行加密,以意味着解密回原始的纯文本。此数据格式仅实施对称(共享密钥)加密和去除。
263.1. PGPDataFormat Options
PGP dataformat 支持 15 个选项,如下所列。
Name | 默认值 | Java 类型 | 描述 |
---|---|---|---|
keyUserid |
| 加密期间使用的 PGP 密钥环中的密钥用户 ID。也可以是用户 ID 的一部分。例如,如果用户 ID 是 Test User,您可以使用 part Test User 或处理用户 ID。 | |
signatureKeyUserid |
| PGP 密钥环中的密钥 ID,用于签名(加密)或签名验证(解密)。在签名验证过程中,指定的用户 ID 会限制可用于验证的公钥。如果没有为签名指定用户 ID,则使用公共密钥环中的任何公钥进行验证。也可以是用户 ID 的一部分。例如,如果用户 ID 是 Test User,您可以使用 part Test User 或处理用户 ID。 | |
password |
| 打开私钥时使用的密码(未用于加密)。 | |
signaturePassword |
| 打开用于签名的私钥时使用的密码(加密)。 | |
keyFileName |
| 密钥环的文件名;必须作为类路径资源访问(但您可以使用 file: 前缀指定文件系统中的位置)。 | |
signatureKeyFileName |
| 用于签名(加密加密)或签名验证(解密)的密钥环文件名; 必须作为类路径资源访问(但您可以使用 file: prefix 指定文件系统中的位置)。 | |
signatureKeyRing |
| 用于签名/验证为字节阵列的密钥环。您不能同时设置 signatureKeyFileName 和 signatureKeyRing。 | |
armored |
|
| 此选项将使 PGP 对加密文本进行 base64 编码,使它可用于复制/粘贴等。 |
完整性 |
|
| 在加密文件中添加完整性检查/签名。默认值为 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.CompressionAlgorithmTags 中定义;例如 0 (= UNCOMPRESSED), 1 (= ZIP), 2 (= ZLIB), 3 (= BZIP2)。仅适用于加密。 | |
hashAlgorithm |
| 签名哈希算法;可能的值在 org.bouncycastle.bcpg.HashAlgorithmTags 中定义;例如 2 (= SHA1), 8 (= SHA256), 9 (= SHA384), 10 (= SHA512), 11 (=SHA224)。仅与签名相关。 | |
signatureVerificationOption |
| 控制在 unmarshaling 期间验证签名的行为。可能有 4 个值:可选:PGP 消息可能包含签名;如果包含签名,则执行签名验证。需要:PGP 消息必须至少包含一个签名;如果这不是异常(PGPException)的情况。执行签名验证。忽略:PGP 消息中的包含签名被忽略;没有执行签名验证。no_signature_allowed: PGP 消息不得包含签名;否则抛出异常(PGPException)。 | |
contentTypeHeader |
|
| 如果数据格式可以这样做,则数据格式是否应使用 data 格式的类型设置 Content-Type 标头。例如,用于数据格式的 application/xml 放入 XML 或用于数据格式的 application/json,如 JSon 等。 |