Interface KeyAccessor
- All Known Implementing Classes:
DefaultKeyAccessor
public interface KeyAccessor
Returns the key selector and the optional KeyInfo instance for signing an XML document. There is a default
implementation
DefaultKeySelector
.
The XML signature generator will first call getKeySelector(Message)
and then
getKeyInfo(Message, Node, KeyInfoFactory)
.
-
Method Summary
Modifier and TypeMethodDescriptiongetKeyInfo
(org.apache.camel.Message message, Node messageBody, KeyInfoFactory keyInfoFactory) Returns the optional key info to be incorporated into the XML signature.getKeySelector
(org.apache.camel.Message message) Returns the key selector which determines the key for signing the XML document.
-
Method Details
-
getKeySelector
Returns the key selector which determines the key for signing the XML document. The method is called every time a XML document is signed. Ifnull
is returned the XML signature generator will throw aXmlSignatureNoKeyException
.- Parameters:
message
- the incoming message, from which you can read headers to configure the key selector, for example, a header could contain a private key for the key selector- Returns:
- key selector, must not be
null
- Throws:
Exception
- if an error occurs
-
getKeyInfo
KeyInfo getKeyInfo(org.apache.camel.Message message, Node messageBody, KeyInfoFactory keyInfoFactory) throws Exception Returns the optional key info to be incorporated into the XML signature. Ifnull
is returned, no key info element is created. You can create a key info instance via the key info factory.This method will be called several times if several signatures shall be created for the XML document; for each signature a call is executed. This allows you to create different key info IDs.
- Parameters:
message
- incoming message, from which you can read headers, for example, there could be a header which contains the public key or certificate for the key infomessageBody
- the message body as DOM node. If the message body is plain text then the node will be a text node. If the message body is a XML document, then the node is the root element.keyInfoFactory
- key info factory for creating the KeyInfo instance- Returns:
- key info, can be
null
- Throws:
Exception
- if an error occurs
-