Class SecurityHeaderReorderProcessor

  • All Implemented Interfaces:
    org.apache.xml.security.stax.ext.OutputProcessor

    public class SecurityHeaderReorderProcessor
    extends org.apache.xml.security.stax.ext.AbstractOutputProcessor
    The basic ordering (token dependencies) is given through the processor order but we have more ordering criterias e.g. signed timestamp and strict header ordering ws-policy. To be able to sign a timestamp the processor must be inserted before the signature processor but that means that the timestamp is below the signature in the sec-header. Because of the highly dynamic nature of the processor chain (and encryption makes it far more worse) we have to order the headers afterwards. So that is what this processor does, the final header reordering...
    • Field Summary

      • Fields inherited from class org.apache.xml.security.stax.ext.AbstractOutputProcessor

        action, actionOrder, securityProperties
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void init​(org.apache.xml.security.stax.ext.OutputProcessorChain outputProcessorChain)  
      void processEvent​(org.apache.xml.security.stax.ext.stax.XMLSecEvent xmlSecEvent, org.apache.xml.security.stax.ext.OutputProcessorChain outputProcessorChain)  
      • Methods inherited from class org.apache.xml.security.stax.ext.AbstractOutputProcessor

        addAfterProcessor, addAttributes, addBeforeProcessor, createAttribute, createCharacters, createCharacters, createCharactersAndOutputAsEvent, createCharactersAndOutputAsEvent, createEndElement, createEndElementAndOutputAsEvent, createNamespace, createStartElementAndOutputAsEvent, createStartElementAndOutputAsEvent, doFinal, getAction, getActionOrder, getAfterProcessors, getBeforeProcessors, getPhase, getSecurityProperties, outputAsEvent, outputDOMElement, securePartMatches, securePartMatches, setAction, setPhase, setXMLSecurityProperties
    • Constructor Detail

      • SecurityHeaderReorderProcessor

        public SecurityHeaderReorderProcessor()
                                       throws org.apache.xml.security.exceptions.XMLSecurityException
        Throws:
        org.apache.xml.security.exceptions.XMLSecurityException
    • Method Detail

      • init

        public void init​(org.apache.xml.security.stax.ext.OutputProcessorChain outputProcessorChain)
                  throws org.apache.xml.security.exceptions.XMLSecurityException
        Specified by:
        init in interface org.apache.xml.security.stax.ext.OutputProcessor
        Overrides:
        init in class org.apache.xml.security.stax.ext.AbstractOutputProcessor
        Throws:
        org.apache.xml.security.exceptions.XMLSecurityException
      • processEvent

        public void processEvent​(org.apache.xml.security.stax.ext.stax.XMLSecEvent xmlSecEvent,
                                 org.apache.xml.security.stax.ext.OutputProcessorChain outputProcessorChain)
                          throws XMLStreamException,
                                 org.apache.xml.security.exceptions.XMLSecurityException
        Throws:
        XMLStreamException
        org.apache.xml.security.exceptions.XMLSecurityException