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...
-
-
Constructor Summary
Constructors Constructor Description SecurityHeaderReorderProcessor()
-
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
-
-
-
-
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 interfaceorg.apache.xml.security.stax.ext.OutputProcessor
- Overrides:
init
in 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:
XMLStreamException
org.apache.xml.security.exceptions.XMLSecurityException
-
-