263.5. One PGP Data Format 的几个签名
从 Camel 2.12.3 开始。
PGP 规范允许一个 PGP 数据格式包含来自不同密钥的多个签名。由于 Camel 2.13.3,可以通过指定与 secret keyring 中多个私钥相关的签名用户 ID 来创建这类 PGP 内容。
多个签名
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)
...