262.5. 1 つの PGP データ形式での複数の署名
Since 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)
...