org.apache.camel.component.xmlsecurity.api
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
 KeyInfo getKeyInfo(org.apache.camel.Message message, Node messageBody, KeyInfoFactory keyInfoFactory)
          Returns the optional key info to be incorporated into the XML signature.
 KeySelector getKeySelector(org.apache.camel.Message message)
          Returns the key selector which determines the key for signing the XML document.
 

Method Detail

getKeySelector

KeySelector getKeySelector(org.apache.camel.Message message)
                           throws Exception
Returns the key selector which determines the key for signing the XML document. The method is called every time a XML document is signed. If null is returned the XML signature generator will throw a XmlSignatureNoKeyException.

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. If null is returned, no key info element is created. You can create a key info instance via the key info factory.

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 info
messageBody - 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


Apache Camel