org.apache.wss4j.stax.impl.processor.output
Class SecurityHeaderReorderProcessor

java.lang.Object
  extended by org.apache.xml.security.stax.ext.AbstractOutputProcessor
      extended by 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, securityProperties
 
Constructor Summary
SecurityHeaderReorderProcessor()
           
 
Method Summary
 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, getAfterProcessors, getBeforeProcessors, getPhase, getSecurityProperties, outputAsEvent, processNextEvent, securePartMatches, securePartMatches, setAction, setPhase, setXMLSecurityProperties
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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
Specified by:
processEvent in class org.apache.xml.security.stax.ext.AbstractOutputProcessor
Throws:
XMLStreamException
org.apache.xml.security.exceptions.XMLSecurityException


Copyright © 2004–2013 The Apache Software Foundation. All rights reserved.