73.5.6. 키를 동적으로 제공합니다.
Recipient 목록 또는 유사한 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);