public class EnvelopedSignatureTransformer extends java.lang.Object implements Transformer
An enveloped signature transform T
removes the whole Signature element containing
T from the digest calculation of the
Reference element containing
T. The entire string of characters used
by an XML processor to match the Signature with the
XML production element is removed. The output of the
transform is equivalent to the output that would result from
replacing T with an XPath transform
containing the following XPath parameter
element:
<XPath xmlns:dsig="&dsig;"> count(ancestor-or-self::dsig:Signature | here()/ancestor::dsig:Signature[1]) > count(ancestor-or-self::dsig:Signature)</XPath>
The input and output requirements of this transform are identical to those of the XPath transform, but may only be applied to a node-set from its parent XML document. Note that it is not necessary to use an XPath expression evaluator to create this transform. However, this transform MUST produce output in exactly the same manner as the XPath transform parameterized by the XPath expression above.
| Constructor and Description |
|---|
EnvelopedSignatureTransformer() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
acceptsAlgorithm(java.lang.String aAlgorithmURI)
Is transformer responsible for the algorithm given as parameter?
|
java.util.List<DataType> |
expectedDataTypes() |
DataType |
returnType() |
java.lang.Object |
transform(java.lang.Object aObject,
java.lang.String aAlgorithmURI,
java.lang.Object[] aParams,
org.w3c.dom.Element aTransformElement,
java.lang.String aBaseURI)
Make the appropriate transform defined by algorithm according to
parameters
link{NodeList} |
public java.util.List<DataType> expectedDataTypes()
expectedDataTypes in interface Transformerpublic DataType returnType()
returnType in interface Transformerpublic boolean acceptsAlgorithm(java.lang.String aAlgorithmURI)
TransformeracceptsAlgorithm in interface TransformeraAlgorithmURI - algorithm URI declared in XMLdSig specpublic java.lang.Object transform(java.lang.Object aObject,
java.lang.String aAlgorithmURI,
java.lang.Object[] aParams,
org.w3c.dom.Element aTransformElement,
java.lang.String aBaseURI)
throws XMLSignatureException
Transformerlink{NodeList}transform in interface TransformeraObject - object to be transformed, should be either
@link{NodeList} or @link{InputStream}
according to return type of expectedDataTypesaAlgorithmURI - algorithm defined b XMLdSig sprecaParams - algorithm parameters if anyaTransformElement - xml element where transform is declaredaBaseURI - where to find relative resoursesDataType
declared by Transformer.returnType()XMLSignatureException - if any problem occursCopyright © 2025. All rights reserved.