Class AbstractSignatureReferenceVerifyInputProcessor
- java.lang.Object
-
- org.apache.xml.security.stax.ext.AbstractInputProcessor
-
- org.apache.xml.security.stax.impl.processor.input.AbstractSignatureReferenceVerifyInputProcessor
-
- All Implemented Interfaces:
InputProcessor
- Direct Known Subclasses:
XMLSignatureReferenceVerifyInputProcessor
public abstract class AbstractSignatureReferenceVerifyInputProcessor extends AbstractInputProcessor
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classAbstractSignatureReferenceVerifyInputProcessor.InternalSignatureReferenceVerifier
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.BooleanallowNotSameDocumentReferencesprotected static java.lang.BooleandoNotThrowExceptionForManifestsprivate java.util.List<KeyValue<ResourceResolver,ReferenceType>>externalReferencesprivate InboundSecurityTokeninboundSecurityTokenprivate static org.slf4j.LoggerLOGprotected static java.lang.IntegermaximumAllowedReferencesPerManifestprotected static java.lang.IntegermaximumAllowedTransformsPerReferenceprivate java.util.List<ReferenceType>processedReferencesprivate java.util.List<KeyValue<ResourceResolver,ReferenceType>>sameDocumentReferencesprivate SignatureTypesignatureType
-
Constructor Summary
Constructors Constructor Description AbstractSignatureReferenceVerifyInputProcessor(InputProcessorChain inputProcessorChain, SignatureType signatureType, InboundSecurityToken inboundSecurityToken, XMLSecurityProperties securityProperties)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected TransformerbuildTransformerChain(ReferenceType referenceType, java.io.OutputStream outputStream, InputProcessorChain inputProcessorChain, AbstractSignatureReferenceVerifyInputProcessor.InternalSignatureReferenceVerifier internalSignatureReferenceVerifier)protected voidcompareDigest(byte[] calculatedDigest, ReferenceType referenceType)protected DigestOutputStreamcreateMessageDigestOutputStream(ReferenceType referenceType, InboundSecurityContext inboundSecurityContext)voiddoFinal(InputProcessorChain inputProcessorChain)Will be called when the whole document is processed.InboundSecurityTokengetInboundSecurityToken()java.util.List<ReferenceType>getProcessedReferences()protected AbstractSignatureReferenceVerifyInputProcessor.InternalSignatureReferenceVerifiergetSignatureReferenceVerifier(XMLSecurityProperties securityProperties, InputProcessorChain inputProcessorChain, ReferenceType referenceType, XMLSecStartElement startElement)SignatureTypegetSignatureType()protected abstract voidprocessElementPath(java.util.List<javax.xml.namespace.QName> elementPath, InputProcessorChain inputProcessorChain, XMLSecEvent xmlSecEvent, ReferenceType referenceType)XMLSecEventprocessNextEvent(InputProcessorChain inputProcessorChain)Will be called from the framework when the next XMLEvent is requestedXMLSecEventprocessNextHeaderEvent(InputProcessorChain inputProcessorChain)Will be called from the framework when the next security-header XMLEvent is requestedprotected java.util.List<ReferenceType>resolvesResource(XMLSecStartElement xmlSecStartElement)protected voidverifyExternalReference(InputProcessorChain inputProcessorChain, java.io.InputStream inputStream, ReferenceType referenceType)-
Methods inherited from class org.apache.xml.security.stax.ext.AbstractInputProcessor
addAfterProcessor, addBeforeProcessor, getAfterProcessors, getBeforeProcessors, getPhase, getReferenceIDAttribute, getSecurityProperties, setPhase
-
-
-
-
Field Detail
-
LOG
private static final transient org.slf4j.Logger LOG
-
maximumAllowedReferencesPerManifest
protected static final java.lang.Integer maximumAllowedReferencesPerManifest
-
maximumAllowedTransformsPerReference
protected static final java.lang.Integer maximumAllowedTransformsPerReference
-
doNotThrowExceptionForManifests
protected static final java.lang.Boolean doNotThrowExceptionForManifests
-
allowNotSameDocumentReferences
protected static final java.lang.Boolean allowNotSameDocumentReferences
-
signatureType
private final SignatureType signatureType
-
inboundSecurityToken
private final InboundSecurityToken inboundSecurityToken
-
sameDocumentReferences
private final java.util.List<KeyValue<ResourceResolver,ReferenceType>> sameDocumentReferences
-
externalReferences
private final java.util.List<KeyValue<ResourceResolver,ReferenceType>> externalReferences
-
processedReferences
private final java.util.List<ReferenceType> processedReferences
-
-
Constructor Detail
-
AbstractSignatureReferenceVerifyInputProcessor
public AbstractSignatureReferenceVerifyInputProcessor(InputProcessorChain inputProcessorChain, SignatureType signatureType, InboundSecurityToken inboundSecurityToken, XMLSecurityProperties securityProperties) throws XMLSecurityException
- Throws:
XMLSecurityException
-
-
Method Detail
-
getSignatureType
public SignatureType getSignatureType()
-
getProcessedReferences
public java.util.List<ReferenceType> getProcessedReferences()
-
getInboundSecurityToken
public InboundSecurityToken getInboundSecurityToken()
-
processNextHeaderEvent
public XMLSecEvent processNextHeaderEvent(InputProcessorChain inputProcessorChain) throws javax.xml.stream.XMLStreamException, XMLSecurityException
Description copied from interface:InputProcessorWill be called from the framework when the next security-header XMLEvent is requested- Specified by:
processNextHeaderEventin interfaceInputProcessor- Specified by:
processNextHeaderEventin classAbstractInputProcessor- Returns:
- The next XMLSecEvent
- Throws:
javax.xml.stream.XMLStreamException- thrown when a streaming error occursXMLSecurityException- thrown when a Security failure occurs
-
processNextEvent
public XMLSecEvent processNextEvent(InputProcessorChain inputProcessorChain) throws javax.xml.stream.XMLStreamException, XMLSecurityException
Description copied from interface:InputProcessorWill be called from the framework when the next XMLEvent is requested- Specified by:
processNextEventin interfaceInputProcessor- Specified by:
processNextEventin classAbstractInputProcessor- Returns:
- The next XMLSecEvent
- Throws:
javax.xml.stream.XMLStreamException- thrown when a streaming error occursXMLSecurityException- thrown when a Security failure occurs
-
processElementPath
protected abstract void processElementPath(java.util.List<javax.xml.namespace.QName> elementPath, InputProcessorChain inputProcessorChain, XMLSecEvent xmlSecEvent, ReferenceType referenceType) throws XMLSecurityException- Throws:
XMLSecurityException
-
resolvesResource
protected java.util.List<ReferenceType> resolvesResource(XMLSecStartElement xmlSecStartElement)
-
doFinal
public void doFinal(InputProcessorChain inputProcessorChain) throws javax.xml.stream.XMLStreamException, XMLSecurityException
Description copied from interface:InputProcessorWill be called when the whole document is processed.- Specified by:
doFinalin interfaceInputProcessor- Overrides:
doFinalin classAbstractInputProcessor- Throws:
javax.xml.stream.XMLStreamException- thrown when a streaming error occursXMLSecurityException- thrown when a Security failure occurs
-
getSignatureReferenceVerifier
protected AbstractSignatureReferenceVerifyInputProcessor.InternalSignatureReferenceVerifier getSignatureReferenceVerifier(XMLSecurityProperties securityProperties, InputProcessorChain inputProcessorChain, ReferenceType referenceType, XMLSecStartElement startElement) throws XMLSecurityException
- Throws:
XMLSecurityException
-
verifyExternalReference
protected void verifyExternalReference(InputProcessorChain inputProcessorChain, java.io.InputStream inputStream, ReferenceType referenceType) throws XMLSecurityException, javax.xml.stream.XMLStreamException
- Throws:
XMLSecurityExceptionjavax.xml.stream.XMLStreamException
-
createMessageDigestOutputStream
protected DigestOutputStream createMessageDigestOutputStream(ReferenceType referenceType, InboundSecurityContext inboundSecurityContext) throws XMLSecurityException
- Throws:
XMLSecurityException
-
buildTransformerChain
protected Transformer buildTransformerChain(ReferenceType referenceType, java.io.OutputStream outputStream, InputProcessorChain inputProcessorChain, AbstractSignatureReferenceVerifyInputProcessor.InternalSignatureReferenceVerifier internalSignatureReferenceVerifier) throws XMLSecurityException
- Throws:
XMLSecurityException
-
compareDigest
protected void compareDigest(byte[] calculatedDigest, ReferenceType referenceType) throws XMLSecurityException- Throws:
XMLSecurityException
-
-