Search in sources :

Example 1 with InclusiveNamespaces

use of org.apache.xml.security.transforms.params.InclusiveNamespaces in project santuario-java by apache.

the class TransformC14NExclusive method enginePerformTransform.

protected XMLSignatureInput enginePerformTransform(XMLSignatureInput input, OutputStream os, Transform transformObject) throws CanonicalizationException {
    try {
        String inclusiveNamespaces = null;
        if (transformObject.length(InclusiveNamespaces.ExclusiveCanonicalizationNamespace, InclusiveNamespaces._TAG_EC_INCLUSIVENAMESPACES) == 1) {
            Element inclusiveElement = XMLUtils.selectNode(transformObject.getElement().getFirstChild(), InclusiveNamespaces.ExclusiveCanonicalizationNamespace, InclusiveNamespaces._TAG_EC_INCLUSIVENAMESPACES, 0);
            inclusiveNamespaces = new InclusiveNamespaces(inclusiveElement, transformObject.getBaseURI()).getInclusiveNamespaces();
        }
        Canonicalizer20010315ExclOmitComments c14n = new Canonicalizer20010315ExclOmitComments();
        c14n.setSecureValidation(secureValidation);
        if (os != null) {
            c14n.setWriter(os);
        }
        byte[] result = c14n.engineCanonicalize(input, inclusiveNamespaces);
        XMLSignatureInput output = new XMLSignatureInput(result);
        output.setSecureValidation(secureValidation);
        if (os != null) {
            output.setOutputStream(os);
        }
        return output;
    } catch (XMLSecurityException ex) {
        throw new CanonicalizationException(ex);
    }
}
Also used : CanonicalizationException(org.apache.xml.security.c14n.CanonicalizationException) Element(org.w3c.dom.Element) InclusiveNamespaces(org.apache.xml.security.transforms.params.InclusiveNamespaces) XMLSignatureInput(org.apache.xml.security.signature.XMLSignatureInput) Canonicalizer20010315ExclOmitComments(org.apache.xml.security.c14n.implementations.Canonicalizer20010315ExclOmitComments) XMLSecurityException(org.apache.xml.security.exceptions.XMLSecurityException)

Example 2 with InclusiveNamespaces

use of org.apache.xml.security.transforms.params.InclusiveNamespaces in project santuario-java by apache.

the class Reference method getHTMLRepresentation.

/**
 * Method getHTMLRepresentation
 * @return The HTML of the transformation
 * @throws XMLSignatureException
 */
public String getHTMLRepresentation() throws XMLSignatureException {
    try {
        XMLSignatureInput nodes = this.getNodesetBeforeFirstCanonicalization();
        Transforms transforms = this.getTransforms();
        Transform c14nTransform = null;
        if (transforms != null) {
            for (int i = 0; i < transforms.getLength(); i++) {
                Transform t = transforms.item(i);
                String uri = t.getURI();
                if (uri.equals(Transforms.TRANSFORM_C14N_EXCL_OMIT_COMMENTS) || uri.equals(Transforms.TRANSFORM_C14N_EXCL_WITH_COMMENTS)) {
                    c14nTransform = t;
                    break;
                }
            }
        }
        Set<String> inclusiveNamespaces = new HashSet<>();
        if (c14nTransform != null && c14nTransform.length(InclusiveNamespaces.ExclusiveCanonicalizationNamespace, InclusiveNamespaces._TAG_EC_INCLUSIVENAMESPACES) == 1) {
            // there is one InclusiveNamespaces element
            InclusiveNamespaces in = new InclusiveNamespaces(XMLUtils.selectNode(c14nTransform.getElement().getFirstChild(), InclusiveNamespaces.ExclusiveCanonicalizationNamespace, InclusiveNamespaces._TAG_EC_INCLUSIVENAMESPACES, 0), this.getBaseURI());
            inclusiveNamespaces = InclusiveNamespaces.prefixStr2Set(in.getInclusiveNamespaces());
        }
        return nodes.getHTMLRepresentation(inclusiveNamespaces);
    } catch (TransformationException ex) {
        throw new XMLSignatureException(ex);
    } catch (InvalidTransformException ex) {
        throw new XMLSignatureException(ex);
    } catch (XMLSecurityException ex) {
        throw new XMLSignatureException(ex);
    }
}
Also used : InvalidTransformException(org.apache.xml.security.transforms.InvalidTransformException) TransformationException(org.apache.xml.security.transforms.TransformationException) Transforms(org.apache.xml.security.transforms.Transforms) InclusiveNamespaces(org.apache.xml.security.transforms.params.InclusiveNamespaces) Transform(org.apache.xml.security.transforms.Transform) XMLSecurityException(org.apache.xml.security.exceptions.XMLSecurityException) HashSet(java.util.HashSet)

Example 3 with InclusiveNamespaces

use of org.apache.xml.security.transforms.params.InclusiveNamespaces in project santuario-java by apache.

the class TransformC14NExclusiveWithComments method enginePerformTransform.

protected XMLSignatureInput enginePerformTransform(XMLSignatureInput input, OutputStream os, Transform transformObject) throws CanonicalizationException {
    try {
        String inclusiveNamespaces = null;
        if (transformObject.length(InclusiveNamespaces.ExclusiveCanonicalizationNamespace, InclusiveNamespaces._TAG_EC_INCLUSIVENAMESPACES) == 1) {
            Element inclusiveElement = XMLUtils.selectNode(transformObject.getElement().getFirstChild(), InclusiveNamespaces.ExclusiveCanonicalizationNamespace, InclusiveNamespaces._TAG_EC_INCLUSIVENAMESPACES, 0);
            inclusiveNamespaces = new InclusiveNamespaces(inclusiveElement, transformObject.getBaseURI()).getInclusiveNamespaces();
        }
        Canonicalizer20010315ExclWithComments c14n = new Canonicalizer20010315ExclWithComments();
        c14n.setSecureValidation(secureValidation);
        if (os != null) {
            c14n.setWriter(os);
        }
        byte[] result = c14n.engineCanonicalize(input, inclusiveNamespaces);
        XMLSignatureInput output = new XMLSignatureInput(result);
        output.setSecureValidation(secureValidation);
        return output;
    } catch (XMLSecurityException ex) {
        throw new CanonicalizationException(ex);
    }
}
Also used : Canonicalizer20010315ExclWithComments(org.apache.xml.security.c14n.implementations.Canonicalizer20010315ExclWithComments) CanonicalizationException(org.apache.xml.security.c14n.CanonicalizationException) Element(org.w3c.dom.Element) InclusiveNamespaces(org.apache.xml.security.transforms.params.InclusiveNamespaces) XMLSignatureInput(org.apache.xml.security.signature.XMLSignatureInput) XMLSecurityException(org.apache.xml.security.exceptions.XMLSecurityException)

Example 4 with InclusiveNamespaces

use of org.apache.xml.security.transforms.params.InclusiveNamespaces in project santuario-java by apache.

the class SignedInfo method getInclusiveNamespaces.

public String getInclusiveNamespaces() {
    String c14nMethodURI = getCanonicalizationMethodURI();
    if (!(c14nMethodURI.equals("http://www.w3.org/2001/10/xml-exc-c14n#") || c14nMethodURI.equals("http://www.w3.org/2001/10/xml-exc-c14n#WithComments"))) {
        return null;
    }
    Element inclusiveElement = XMLUtils.getNextElement(c14nMethod.getFirstChild());
    if (inclusiveElement != null) {
        try {
            String inclusiveNamespaces = new InclusiveNamespaces(inclusiveElement, InclusiveNamespaces.ExclusiveCanonicalizationNamespace).getInclusiveNamespaces();
            return inclusiveNamespaces;
        } catch (XMLSecurityException e) {
            return null;
        }
    }
    return null;
}
Also used : Element(org.w3c.dom.Element) InclusiveNamespaces(org.apache.xml.security.transforms.params.InclusiveNamespaces) XMLSecurityException(org.apache.xml.security.exceptions.XMLSecurityException)

Example 5 with InclusiveNamespaces

use of org.apache.xml.security.transforms.params.InclusiveNamespaces in project santuario-java by apache.

the class CreateExclC14nInteropValues method main.

/**
 * Method main
 *
 * @param unused
 * @throws Exception
 */
public static void main(String[] unused) throws Exception {
    org.apache.xml.security.Init.init();
    DocumentBuilder db = XMLUtils.createDocumentBuilder(false);
    Document doc = db.newDocument();
    String directory = "data/org/apache/xml/security/c14n/outExcl/";
    File signatureFile = new File(directory + "apacheSignature.xml");
    XMLSignature xmlSignature = new XMLSignature(doc, signatureFile.toURI().toURL().toString(), XMLSignature.ALGO_ID_MAC_HMAC_SHA1);
    doc.appendChild(xmlSignature.getElement());
    {
        // ref 0
        Transforms tf = new Transforms(doc);
        {
            XPathContainer xc = new XPathContainer(doc);
            xc.setXPath("self::Parent or (parent::Parent and not(self::Child)) or self::GrandChild or parent::GrandChild");
            tf.addTransform(Transforms.TRANSFORM_XPATH, xc.getElement());
        }
        xmlSignature.addDocument("iaikTests.example1.xml", tf);
    }
    {
        // ref 1
        Transforms tf = new Transforms(doc);
        {
            XPathContainer xc = new XPathContainer(doc);
            xc.setXPath("self::Parent or (parent::Parent and not(self::Child)) or self::GrandChild or parent::GrandChild");
            tf.addTransform(Transforms.TRANSFORM_XPATH, xc.getElement());
        }
        tf.addTransform(Transforms.TRANSFORM_C14N_EXCL_OMIT_COMMENTS);
        xmlSignature.addDocument("iaikTests.example1.xml", tf);
    }
    {
        // ref 2
        Transforms tf = new Transforms(doc);
        {
            XPathContainer xc = new XPathContainer(doc);
            xc.setXPathNamespaceContext("xmlns:default", "http://example.org");
            xc.setXPath("self::Parent or (parent::Parent and not(self::default:Child)) or self::GrandChild or parent::GrandChild");
            tf.addTransform(Transforms.TRANSFORM_XPATH, xc.getElement());
        }
        xmlSignature.addDocument("iaikTests.example2.xml", tf);
    }
    {
        // ref 3
        Transforms tf = new Transforms(doc);
        {
            XPathContainer xc = new XPathContainer(doc);
            xc.setXPathNamespaceContext("xmlns:default", "http://example.org");
            xc.setXPath("self::Parent or (parent::Parent and not(self::default:Child)) or self::GrandChild or parent::GrandChild");
            tf.addTransform(Transforms.TRANSFORM_XPATH, xc.getElement());
        }
        tf.addTransform(Transforms.TRANSFORM_C14N_EXCL_OMIT_COMMENTS);
        xmlSignature.addDocument("iaikTests.example2.xml", tf);
    }
    {
        // ref 4
        Transforms tf = new Transforms(doc);
        {
            XPathContainer xc = new XPathContainer(doc);
            xc.setXPathNamespaceContext("xmlns:default", "http://example.org/default");
            xc.setXPathNamespaceContext("xmlns:ns1", "http://example.org/ns1");
            xc.setXPath("self::default:Parent or (parent::default:Parent and not(self::default:Child)) or self::ns1:GrandChild or parent::ns1:GrandChild or self::default:GrandChild or parent::default:GrandChild");
            tf.addTransform(Transforms.TRANSFORM_XPATH, xc.getElement());
        }
        xmlSignature.addDocument("iaikTests.example3.xml", tf);
    }
    {
        // ref 5
        Transforms tf = new Transforms(doc);
        {
            XPathContainer xc = new XPathContainer(doc);
            xc.setXPathNamespaceContext("xmlns:default", "http://example.org/default");
            xc.setXPathNamespaceContext("xmlns:ns1", "http://example.org/ns1");
            xc.setXPath("self::default:Parent or (parent::default:Parent and not(self::default:Child)) or self::ns1:GrandChild or parent::ns1:GrandChild or self::default:GrandChild or parent::default:GrandChild");
            tf.addTransform(Transforms.TRANSFORM_XPATH, xc.getElement());
        }
        tf.addTransform(Transforms.TRANSFORM_C14N_EXCL_OMIT_COMMENTS);
        xmlSignature.addDocument("iaikTests.example3.xml", tf);
    }
    {
        // ref 6
        Transforms tf = new Transforms(doc);
        {
            XPathContainer xc = new XPathContainer(doc);
            xc.setXPathNamespaceContext("xmlns:ns1", "http://example.org/ns1");
            xc.setXPath("self::Parent or (parent::Parent and not(self::Child)) or self::ns1:GrandChild or parent::ns1:GrandChild");
            tf.addTransform(Transforms.TRANSFORM_XPATH, xc.getElement());
        }
        xmlSignature.addDocument("iaikTests.example4.xml", tf);
    }
    {
        // ref 7
        Transforms tf = new Transforms(doc);
        {
            XPathContainer xc = new XPathContainer(doc);
            xc.setXPathNamespaceContext("xmlns:ns1", "http://example.org/ns1");
            xc.setXPath("self::Parent or (parent::Parent and not(self::Child)) or self::ns1:GrandChild or parent::ns1:GrandChild");
            tf.addTransform(Transforms.TRANSFORM_XPATH, xc.getElement());
        }
        {
            InclusiveNamespaces incNS = new InclusiveNamespaces(doc, "ns2");
            tf.addTransform(Transforms.TRANSFORM_C14N_EXCL_OMIT_COMMENTS, incNS.getElement());
        }
        xmlSignature.addDocument("iaikTests.example4.xml", tf);
    }
    {
        // ref 8
        ObjectContainer obj = new ObjectContainer(doc);
        String id = "object1";
        obj.setId(id);
        String xmlStr = "" + "<included    xml:lang='de'>" + "\n" + "<notIncluded xml:lang='de'>" + "\n" + "<notIncluded xml:lang='uk'>" + "\n" + "<included                 >" + "\n" + "</included>" + "\n" + "</notIncluded>" + "\n" + "</notIncluded>" + "\n" + "</included>";
        Document importDoc = null;
        try (InputStream is = new ByteArrayInputStream(xmlStr.getBytes(StandardCharsets.UTF_8))) {
            importDoc = db.parse(is);
        }
        obj.getElement().appendChild(doc.createTextNode("\n"));
        obj.getElement().appendChild(doc.importNode(importDoc.getDocumentElement(), true));
        obj.getElement().appendChild(doc.createTextNode("\n"));
        xmlSignature.appendObject(obj);
        // ref apache_8
        Transforms tf = new Transforms(doc);
        {
            XPathContainer xc = new XPathContainer(doc);
            xc.setXPath("self::node()[local-name()='included']");
            tf.addTransform(Transforms.TRANSFORM_XPATH, xc.getElement());
        }
        xmlSignature.addDocument("#" + id, tf);
    }
    {
        // ref 9
        ObjectContainer obj = new ObjectContainer(doc);
        String id = "object2";
        obj.setId(id);
        String xmlStr = "" + "<included    xml:lang='uk'>" + "\n" + "<notIncluded xml:lang='de'>" + "\n" + "<notIncluded xml:lang='uk'>" + "\n" + "<included                 >" + "\n" + "</included>" + "\n" + "</notIncluded>" + "\n" + "</notIncluded>" + "\n" + "</included>";
        Document importDoc = null;
        try (InputStream is = new ByteArrayInputStream(xmlStr.getBytes(StandardCharsets.UTF_8))) {
            importDoc = db.parse(is);
        }
        obj.getElement().appendChild(doc.createTextNode("\n"));
        obj.getElement().appendChild(doc.importNode(importDoc.getDocumentElement(), true));
        obj.getElement().appendChild(doc.createTextNode("\n"));
        xmlSignature.appendObject(obj);
        // ref apache_8
        Transforms tf = new Transforms(doc);
        {
            XPathContainer xc = new XPathContainer(doc);
            xc.setXPath("self::node()[local-name()='included']");
            tf.addTransform(Transforms.TRANSFORM_XPATH, xc.getElement());
        }
        xmlSignature.addDocument("#" + id, tf);
    }
    {
        // ref 10
        ObjectContainer obj = new ObjectContainer(doc);
        String id = "object3";
        obj.setId(id);
        String xmlStr = "" + "<included    xml:lang='de'>" + "\n" + "<notIncluded xml:lang='de'>" + "\n" + "<notIncluded xml:lang='uk'>" + "\n" + "<included xml:lang='de'>" + "\n" + "</included>" + "\n" + "</notIncluded>" + "\n" + "</notIncluded>" + "\n" + "</included>";
        Document importDoc = null;
        try (InputStream is = new ByteArrayInputStream(xmlStr.getBytes(StandardCharsets.UTF_8))) {
            importDoc = db.parse(is);
        }
        obj.getElement().appendChild(doc.createTextNode("\n"));
        obj.getElement().appendChild(doc.importNode(importDoc.getDocumentElement(), true));
        obj.getElement().appendChild(doc.createTextNode("\n"));
        xmlSignature.appendObject(obj);
        // ref apache_8
        Transforms tf = new Transforms(doc);
        {
            XPathContainer xc = new XPathContainer(doc);
            xc.setXPath("self::node()[local-name()='included']");
            tf.addTransform(Transforms.TRANSFORM_XPATH, xc.getElement());
        }
        xmlSignature.addDocument("#" + id, tf);
    }
    {
        // ref 11
        ObjectContainer obj = new ObjectContainer(doc);
        String id = "object4";
        obj.setId(id);
        String xmlStr = "" + "<included    xml:lang='de'>" + "\n" + "<included xml:lang='de'>" + "\n" + "<notIncluded xml:lang='uk'>" + "\n" + "<included                 >" + "\n" + "</included>" + "\n" + "</notIncluded>" + "\n" + "</included>" + "\n" + "</included>";
        Document importDoc = null;
        try (InputStream is = new ByteArrayInputStream(xmlStr.getBytes(StandardCharsets.UTF_8))) {
            importDoc = db.parse(is);
        }
        obj.getElement().appendChild(doc.createTextNode("\n"));
        obj.getElement().appendChild(doc.importNode(importDoc.getDocumentElement(), true));
        obj.getElement().appendChild(doc.createTextNode("\n"));
        xmlSignature.appendObject(obj);
        Transforms tf = new Transforms(doc);
        {
            XPathContainer xc = new XPathContainer(doc);
            xc.setXPath("self::node()[local-name()='included']");
            tf.addTransform(Transforms.TRANSFORM_XPATH, xc.getElement());
        }
        xmlSignature.addDocument("#" + id, tf);
    }
    {
        // ref 12
        ObjectContainer obj = new ObjectContainer(doc);
        String id = "object5";
        obj.setId(id);
        String xmlStr = "" + "<included                         xml:lang='de'>" + "\n" + "<included xml:lang='de'>" + "\n" + "<notIncluded xml:space='preserve' xml:lang='uk'>" + "\n" + "<included                 >" + "\n" + "</included>" + "\n" + "</notIncluded>" + "\n" + "</included>" + "\n" + "</included>";
        Document importDoc = null;
        try (InputStream is = new ByteArrayInputStream(xmlStr.getBytes(StandardCharsets.UTF_8))) {
            importDoc = db.parse(is);
        }
        obj.getElement().appendChild(doc.createTextNode("\n"));
        obj.getElement().appendChild(doc.importNode(importDoc.getDocumentElement(), true));
        obj.getElement().appendChild(doc.createTextNode("\n"));
        xmlSignature.appendObject(obj);
        Transforms tf = new Transforms(doc);
        {
            XPathContainer xc = new XPathContainer(doc);
            xc.setXPath("self::node()[local-name()='included']");
            tf.addTransform(Transforms.TRANSFORM_XPATH, xc.getElement());
        }
        xmlSignature.addDocument("#" + id, tf);
    }
    {
        // ref 13
        ObjectContainer obj = new ObjectContainer(doc);
        String id = "object6";
        obj.setId(id);
        String xmlStr = "" + "<included   xml:space='preserve'  xml:lang='de'>" + "\n" + "<included xml:lang='de'>" + "\n" + "<notIncluded xml:lang='uk'>" + "\n" + "<included>" + "\n" + "</included>" + "\n" + "</notIncluded>" + "\n" + "</included>" + "\n" + "</included>";
        Document importDoc = null;
        try (InputStream is = new ByteArrayInputStream(xmlStr.getBytes(StandardCharsets.UTF_8))) {
            importDoc = db.parse(is);
        }
        obj.getElement().appendChild(doc.createTextNode("\n"));
        obj.getElement().appendChild(doc.importNode(importDoc.getDocumentElement(), true));
        obj.getElement().appendChild(doc.createTextNode("\n"));
        xmlSignature.appendObject(obj);
        Transforms tf = new Transforms(doc);
        {
            XPathContainer xc = new XPathContainer(doc);
            xc.setXPath("self::node()[local-name()='included']");
            tf.addTransform(Transforms.TRANSFORM_XPATH, xc.getElement());
        }
        xmlSignature.addDocument("#" + id, tf);
    }
    {
        // ref 13b
        String id = "object6";
        Transforms tf = new Transforms(doc);
        {
            XPathContainer xc = new XPathContainer(doc);
            xc.setXPath("self::node()[local-name()='included']");
            tf.addTransform(Transforms.TRANSFORM_XPATH, xc.getElement());
            tf.addTransform(Transforms.TRANSFORM_C14N_OMIT_COMMENTS);
        }
        xmlSignature.addDocument("#" + id, tf);
    }
    {
        // ref 13c
        String id = "object6";
        Transforms tf = new Transforms(doc);
        {
            XPathContainer xc = new XPathContainer(doc);
            xc.setXPath("self::node()[local-name()='included']");
            tf.addTransform(Transforms.TRANSFORM_XPATH, xc.getElement());
            tf.addTransform(Transforms.TRANSFORM_C14N_OMIT_COMMENTS);
            tf.addTransform(Transforms.TRANSFORM_C14N_OMIT_COMMENTS);
        }
        xmlSignature.addDocument("#" + id, tf);
    // xmlSignature.addDocument("#" + id, tf, org.apache.xml.security.algorithms.MessageDigestAlgorithm.ALGO_ID_DIGEST_SHA1, "ref13c", null);
    }
    String secretKey = "secret";
    xmlSignature.getKeyInfo().addKeyName("The UTF-8 octets of \"" + secretKey + "\" are used for signing (" + secretKey.length() + " octets)");
    xmlSignature.sign(xmlSignature.createSecretKey(secretKey.getBytes()));
    FileOutputStream fos = new FileOutputStream(signatureFile);
    XMLUtils.outputDOM(doc, fos);
    fos.close();
    int length = xmlSignature.getSignedInfo().getLength();
    for (int i = 0; i < length; i++) {
        String fname = directory + "c14n-" + i + "-apache.xml";
        System.out.println(fname);
        JavaUtils.writeBytesToFilename(fname, xmlSignature.getSignedInfo().getReferencedContentAfterTransformsItem(i).getBytes());
    }
    XMLSignature s = new XMLSignature(doc.getDocumentElement(), signatureFile.toURI().toURL().toString());
    boolean verify = s.checkSignatureValue(s.createSecretKey("secret".getBytes()));
    System.out.println("verify=" + verify);
    System.out.println("");
    XMLUtils.outputDOMc14nWithComments(doc, System.out);
}
Also used : ByteArrayInputStream(java.io.ByteArrayInputStream) InputStream(java.io.InputStream) Transforms(org.apache.xml.security.transforms.Transforms) Document(org.w3c.dom.Document) XPathContainer(org.apache.xml.security.transforms.params.XPathContainer) DocumentBuilder(javax.xml.parsers.DocumentBuilder) ByteArrayInputStream(java.io.ByteArrayInputStream) XMLSignature(org.apache.xml.security.signature.XMLSignature) FileOutputStream(java.io.FileOutputStream) InclusiveNamespaces(org.apache.xml.security.transforms.params.InclusiveNamespaces) File(java.io.File) ObjectContainer(org.apache.xml.security.signature.ObjectContainer)

Aggregations

InclusiveNamespaces (org.apache.xml.security.transforms.params.InclusiveNamespaces)5 XMLSecurityException (org.apache.xml.security.exceptions.XMLSecurityException)4 Element (org.w3c.dom.Element)3 CanonicalizationException (org.apache.xml.security.c14n.CanonicalizationException)2 XMLSignatureInput (org.apache.xml.security.signature.XMLSignatureInput)2 Transforms (org.apache.xml.security.transforms.Transforms)2 ByteArrayInputStream (java.io.ByteArrayInputStream)1 File (java.io.File)1 FileOutputStream (java.io.FileOutputStream)1 InputStream (java.io.InputStream)1 HashSet (java.util.HashSet)1 DocumentBuilder (javax.xml.parsers.DocumentBuilder)1 Canonicalizer20010315ExclOmitComments (org.apache.xml.security.c14n.implementations.Canonicalizer20010315ExclOmitComments)1 Canonicalizer20010315ExclWithComments (org.apache.xml.security.c14n.implementations.Canonicalizer20010315ExclWithComments)1 ObjectContainer (org.apache.xml.security.signature.ObjectContainer)1 XMLSignature (org.apache.xml.security.signature.XMLSignature)1 InvalidTransformException (org.apache.xml.security.transforms.InvalidTransformException)1 Transform (org.apache.xml.security.transforms.Transform)1 TransformationException (org.apache.xml.security.transforms.TransformationException)1 XPathContainer (org.apache.xml.security.transforms.params.XPathContainer)1