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 -
Method Summary
Modifier and TypeMethodDescriptionvoidinit(org.apache.xml.security.stax.ext.OutputProcessorChain outputProcessorChain) voidprocessEvent(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 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:
initin interfaceorg.apache.xml.security.stax.ext.OutputProcessor- Overrides:
initin classorg.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:
XMLStreamExceptionorg.apache.xml.security.exceptions.XMLSecurityException
-