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 Type
    Method
    Description
    getKeyInfo(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

      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.

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