Class SecurityHeaderReorderProcessor

java.lang.Object
org.apache.xml.security.stax.ext.AbstractOutputProcessor
org.apache.wss4j.stax.impl.processor.output.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
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    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

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • SecurityHeaderReorderProcessor

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

    • 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