249.5. 1 つの PGP データフォーマットでの複数の署名
Camel 2.12.3 以降。
PGP 仕様では、1 つの PGP データフォーマットに、異なるキーの複数の署名を含めることができます。Camel 2.13.3 以降、シークレットキーリング内の複数の秘密鍵に関連する署名ユーザー 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)
...