Class DefaultKeyAccessor

  • All Implemented Interfaces:
    org.apache.camel.CamelContextAware, KeyAccessor

    public class DefaultKeyAccessor
    extends DefaultKeySelector
    implements KeyAccessor
    Accesses the public key from a key-store and returns a KeyInfo which contains the X.509 certificate chain corresponding to the public key.
    • Constructor Detail

      • DefaultKeyAccessor

        public DefaultKeyAccessor()
    • Method Detail

      • getProvider

        public String getProvider()
      • setProvider

        public void setProvider​(String provider)
      • getKeySelector

        public KeySelector getKeySelector​(org.apache.camel.Message message)
                                   throws Exception
        Description copied from interface: KeyAccessor
        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.
        Specified by:
        getKeySelector in interface KeyAccessor
        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

        public KeyInfo getKeyInfo​(org.apache.camel.Message message,
                                  Node messageBody,
                                  KeyInfoFactory factory)
                           throws Exception
        Description copied from interface: KeyAccessor
        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.

        Specified by:
        getKeyInfo in interface KeyAccessor
        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.
        factory - key info factory for creating the KeyInfo instance
        Returns:
        key info, can be null
        Throws:
        Exception - if an error occurs