Class AbstractDecryptInputProcessor
- java.lang.Object
-
- org.apache.xml.security.stax.ext.AbstractInputProcessor
-
- org.apache.xml.security.stax.impl.processor.input.AbstractDecryptInputProcessor
-
- All Implemented Interfaces:
InputProcessor
- Direct Known Subclasses:
XMLDecryptInputProcessor
public abstract class AbstractDecryptInputProcessor extends AbstractInputProcessor
Processor for decryption of EncryptedData XML structures
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
AbstractDecryptInputProcessor.AbstractDecryptedEventReaderInputProcessor
The DecryptedEventReaderInputProcessor reads the decrypted stream with a StAX reader and forwards the generated XMLEvents
-
Field Summary
Fields Modifier and Type Field Description protected static Integer
maximumAllowedEncryptedDataEvents
protected static Integer
maximumAllowedXMLStructureDepth
-
Constructor Summary
Constructors Constructor Description AbstractDecryptInputProcessor(org.apache.xml.security.binding.xmldsig.KeyInfoType keyInfoType, org.apache.xml.security.binding.xmlenc.ReferenceList referenceList, XMLSecurityProperties securityProperties)
AbstractDecryptInputProcessor(XMLSecurityProperties securityProperties)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected InputStream
applyTransforms(org.apache.xml.security.binding.xmlenc.ReferenceType referenceType, InputStream inputStream)
void
doFinal(InputProcessorChain inputProcessorChain)
Will be called when the whole document is processed.List<org.apache.xml.security.binding.xmlenc.ReferenceType>
getProcessedReferences()
Map<String,org.apache.xml.security.binding.xmlenc.ReferenceType>
getReferences()
protected abstract void
handleCipherReference(InputProcessorChain inputProcessorChain, org.apache.xml.security.binding.xmlenc.EncryptedDataType encryptedDataType, Cipher cipher, InboundSecurityToken inboundSecurityToken)
protected abstract void
handleEncryptedContent(InputProcessorChain inputProcessorChain, XMLSecStartElement parentXMLSecStartElement, InboundSecurityToken inboundSecurityToken, org.apache.xml.security.binding.xmlenc.EncryptedDataType encryptedDataType)
protected abstract void
handleSecurityToken(InboundSecurityToken inboundSecurityToken, InboundSecurityContext inboundSecurityContext, org.apache.xml.security.binding.xmlenc.EncryptedDataType encryptedDataType)
protected abstract InputStream
handleXOPInclude(InputProcessorChain inputProcessorChain, org.apache.xml.security.binding.xmlenc.EncryptedDataType encryptedDataType, String href, Cipher cipher, InboundSecurityToken inboundSecurityToken)
protected org.apache.xml.security.binding.xmlenc.ReferenceType
matchesReferenceId(XMLSecStartElement xmlSecStartElement)
protected abstract AbstractDecryptInputProcessor.AbstractDecryptedEventReaderInputProcessor
newDecryptedEventReaderInputProcessor(boolean encryptedHeader, XMLSecStartElement xmlSecStartElement, org.apache.xml.security.binding.xmlenc.EncryptedDataType currentEncryptedDataType, InboundSecurityToken inboundSecurityToken, InboundSecurityContext inboundSecurityContext)
XMLSecEvent
processNextEvent(InputProcessorChain inputProcessorChain)
Will be called from the framework when the next XMLEvent is requestedXMLSecEvent
processNextHeaderEvent(InputProcessorChain inputProcessorChain)
Will be called from the framework when the next security-header XMLEvent is requested-
Methods inherited from class org.apache.xml.security.stax.ext.AbstractInputProcessor
addAfterProcessor, addBeforeProcessor, getAfterProcessors, getBeforeProcessors, getPhase, getReferenceIDAttribute, getSecurityProperties, setPhase
-
-
-
-
Constructor Detail
-
AbstractDecryptInputProcessor
public AbstractDecryptInputProcessor(XMLSecurityProperties securityProperties) throws XMLSecurityException
- Throws:
XMLSecurityException
-
AbstractDecryptInputProcessor
public AbstractDecryptInputProcessor(org.apache.xml.security.binding.xmldsig.KeyInfoType keyInfoType, org.apache.xml.security.binding.xmlenc.ReferenceList referenceList, XMLSecurityProperties securityProperties) throws XMLSecurityException
- Throws:
XMLSecurityException
-
-
Method Detail
-
getReferences
public Map<String,org.apache.xml.security.binding.xmlenc.ReferenceType> getReferences()
-
getProcessedReferences
public List<org.apache.xml.security.binding.xmlenc.ReferenceType> getProcessedReferences()
-
processNextHeaderEvent
public XMLSecEvent processNextHeaderEvent(InputProcessorChain inputProcessorChain) throws XMLStreamException, XMLSecurityException
Description copied from interface:InputProcessor
Will be called from the framework when the next security-header XMLEvent is requested- Specified by:
processNextHeaderEvent
in interfaceInputProcessor
- Specified by:
processNextHeaderEvent
in classAbstractInputProcessor
- Returns:
- The next XMLSecEvent
- Throws:
XMLStreamException
- thrown when a streaming error occursXMLSecurityException
- thrown when a Security failure occurs
-
processNextEvent
public XMLSecEvent processNextEvent(InputProcessorChain inputProcessorChain) throws XMLStreamException, XMLSecurityException
Description copied from interface:InputProcessor
Will be called from the framework when the next XMLEvent is requested- Specified by:
processNextEvent
in interfaceInputProcessor
- Specified by:
processNextEvent
in classAbstractInputProcessor
- Returns:
- The next XMLSecEvent
- Throws:
XMLStreamException
- thrown when a streaming error occursXMLSecurityException
- thrown when a Security failure occurs
-
applyTransforms
protected InputStream applyTransforms(org.apache.xml.security.binding.xmlenc.ReferenceType referenceType, InputStream inputStream) throws XMLSecurityException
- Throws:
XMLSecurityException
-
newDecryptedEventReaderInputProcessor
protected abstract AbstractDecryptInputProcessor.AbstractDecryptedEventReaderInputProcessor newDecryptedEventReaderInputProcessor(boolean encryptedHeader, XMLSecStartElement xmlSecStartElement, org.apache.xml.security.binding.xmlenc.EncryptedDataType currentEncryptedDataType, InboundSecurityToken inboundSecurityToken, InboundSecurityContext inboundSecurityContext) throws XMLSecurityException
- Throws:
XMLSecurityException
-
handleSecurityToken
protected abstract void handleSecurityToken(InboundSecurityToken inboundSecurityToken, InboundSecurityContext inboundSecurityContext, org.apache.xml.security.binding.xmlenc.EncryptedDataType encryptedDataType) throws XMLSecurityException
- Throws:
XMLSecurityException
-
handleEncryptedContent
protected abstract void handleEncryptedContent(InputProcessorChain inputProcessorChain, XMLSecStartElement parentXMLSecStartElement, InboundSecurityToken inboundSecurityToken, org.apache.xml.security.binding.xmlenc.EncryptedDataType encryptedDataType) throws XMLSecurityException
- Throws:
XMLSecurityException
-
handleCipherReference
protected abstract void handleCipherReference(InputProcessorChain inputProcessorChain, org.apache.xml.security.binding.xmlenc.EncryptedDataType encryptedDataType, Cipher cipher, InboundSecurityToken inboundSecurityToken) throws XMLSecurityException
- Throws:
XMLSecurityException
-
handleXOPInclude
protected abstract InputStream handleXOPInclude(InputProcessorChain inputProcessorChain, org.apache.xml.security.binding.xmlenc.EncryptedDataType encryptedDataType, String href, Cipher cipher, InboundSecurityToken inboundSecurityToken) throws XMLSecurityException
- Throws:
XMLSecurityException
-
matchesReferenceId
protected org.apache.xml.security.binding.xmlenc.ReferenceType matchesReferenceId(XMLSecStartElement xmlSecStartElement)
-
doFinal
public void doFinal(InputProcessorChain inputProcessorChain) throws XMLStreamException, XMLSecurityException
Description copied from interface:InputProcessor
Will be called when the whole document is processed.- Specified by:
doFinal
in interfaceInputProcessor
- Overrides:
doFinal
in classAbstractInputProcessor
- Throws:
XMLStreamException
- thrown when a streaming error occursXMLSecurityException
- thrown when a Security failure occurs
-
-