71.4.6. キーを動的に指定。
Recipient list または同様の EIP を使用する場合、エクスチェンジの受信者は動的に異なる可能性があります。すべての受信者で同じキーを使用することは、現実的でも望ましくないこともあります。署名鍵は、交換ごとに動的に指定できるので便利です。その後、署名前にそのターゲット受信者のキーでエクスチェンジを動的に強化できます。この署名メカニズムを容易にするために、以下のメッセージヘッダーを使用してキーを動的に指定できます。
-
Exchange.SIGNATURE_PRIVATE_KEY,"CamelSignaturePrivateKey" -
Exchange.SIGNATURE_PUBLIC_KEY_OR_CERT,"CamelSignaturePublicKeyOrCert"
または
キーストアエイリアスを動的に指定することは適切です。この場合もエイリアスをメッセージヘッダーに指定できます。
-
Exchange.KEYSTORE_ALIAS,"CamelSignatureKeyStoreAlias"
または
ヘッダーは以下のように設定されます。
Exchange unsigned = getMandatoryEndpoint("direct:alias-sign").createExchange();
unsigned.getIn().setBody(payload);
unsigned.getIn().setHeader(DigitalSignatureConstants.KEYSTORE_ALIAS, "bob");
unsigned.getIn().setHeader(DigitalSignatureConstants.KEYSTORE_PASSWORD, "letmein".toCharArray());
template.send("direct:alias-sign", unsigned);
Exchange signed = getMandatoryEndpoint("direct:alias-sign").createExchange();
signed.getIn().copyFrom(unsigned.getOut());
signed.getIn().setHeader(KEYSTORE_ALIAS, "bob");
template.send("direct:alias-verify", signed);