Package org.apache.xml.security.signature

Examples of org.apache.xml.security.signature.ObjectContainer


       * Add the Objects
       */

      // object-1
      {
         ObjectContainer object1 = new ObjectContainer(doc);

         object1.setId("object-1");
         object1.setMimeType("text/plain");
         object1.appendChild(doc.createTextNode("I am the text."));
         sig.appendObject(object1);
      }

      // object-2
      {
         ObjectContainer object2 = new ObjectContainer(doc);

         object2.setId("object-2");
         object2.setMimeType("text/plain");
         object2.setEncoding("http://www.w3.org/2000/09/xmldsig#base64");
         object2.appendChild(doc.createTextNode("SSBhbSB0aGUgdGV4dC4="));
         sig.appendObject(object2);
      }

      // object-3
      {
         ObjectContainer object = new ObjectContainer(doc);

         object.setId("object-3");

         Element nonc = doc.createElementNS(null, "NonCommentandus");

         nonc.setAttributeNS(Constants.NamespaceSpecNS, "xmlns", "");
         nonc.appendChild(doc.createComment(" Commentandum "));
         object.appendChild(doc.createTextNode("\n        "));
         object.appendChild(nonc);
         object.appendChild(doc.createTextNode("\n      "));
         sig.appendObject(object);
      }

      // object number 4
      {
         ObjectContainer object = new ObjectContainer(doc);

         object.appendChild(createObject4(sig));
         sig.appendObject(object);
      }

      // object number 4
      {
         ObjectContainer object = new ObjectContainer(doc);
         SignatureProperties sps = new SignatureProperties(doc);

         sps.setId("signature-properties-1");

         SignatureProperty sp = new SignatureProperty(doc, "#signature");
         Element signedAdress = doc.createElementNS("urn:demo",
                                                    "SignedAddress");

         signedAdress.setAttributeNS(Constants.NamespaceSpecNS, "xmlns", "urn:demo");

         Element IP = doc.createElementNS("urn:demo", "IP");

         IP.appendChild(doc.createTextNode("192.168.21.138"));
         signedAdress.appendChild(IP);
         sp.appendChild(signedAdress);
         sps.addSignatureProperty(sp);
         object.appendChild(sps.getElement());
         sig.appendObject(object);
      }

      {
         ObjectContainer object = new ObjectContainer(doc);

         object.setId("object-4");

         X509Data x509data = new X509Data(doc);

         x509data.add(new XMLX509SubjectName(doc, cert));
         x509data.add(new XMLX509IssuerSerial(doc, cert));
         x509data.add(new XMLX509Certificate(doc, cert));
         object.appendChild(x509data.getElement());
         sig.appendObject(object);
      }

      /*
       * Add References


                                          XMLSignature.ALGO_ID_SIGNATURE_DSA);

      doc.appendChild(sig.getElement());

      {
         ObjectContainer obj = new ObjectContainer(doc);
         Element anElement = doc.createElementNS(null, "InsideObject");

         anElement.appendChild(doc.createTextNode("A text in a box"));
         obj.appendChild(anElement);

         String Id = "TheFirstObject";

         obj.setId(Id);
         sig.appendObject(obj);

         Transforms transforms = new Transforms(doc);

         transforms.addTransform(Transforms.TRANSFORM_C14N_WITH_COMMENTS);

      SignatureProperties props = new SignatureProperties(doc);

      props.addSignatureProperty(prop1);

      ObjectContainer object = new ObjectContainer(doc);

      object.appendChild(doc.createTextNode("\n"));
      object.appendChild(props.getElement());
      object.appendChild(doc.createTextNode("\n"));
      sig.appendObject(object);
      sig.addDocument("#prop1");

      String secretKey = "secret";

       * Add the Objects
       */

      // object-1
      {
         ObjectContainer object1 = new ObjectContainer(doc);

         object1.setId("object-1");
         object1.setMimeType("text/plain");
         object1.appendChild(doc.createTextNode("I am the text."));
         sig.appendObject(object1);
      }

      // object-2
      {
         ObjectContainer object2 = new ObjectContainer(doc);

         object2.setId("object-2");
         object2.setMimeType("text/plain");
         object2.setEncoding("http://www.w3.org/2000/09/xmldsig#base64");
         object2.appendChild(doc.createTextNode("SSBhbSB0aGUgdGV4dC4="));
         sig.appendObject(object2);
      }

      // object-3
      {
         ObjectContainer object = new ObjectContainer(doc);

         object.setId("object-3");

         Element nonc = doc.createElementNS(null, "NonCommentandus");

         nonc.setAttributeNS(Constants.NamespaceSpecNS, "xmlns", "");
         nonc.appendChild(doc.createComment(" Commentandum "));
         object.appendChild(doc.createTextNode("\n        "));
         object.appendChild(nonc);
         object.appendChild(doc.createTextNode("\n      "));
         sig.appendObject(object);
      }

      // object number 4
      {
         ObjectContainer object = new ObjectContainer(doc);

         object.appendChild(createObject4(sig));
         sig.appendObject(object);
      }

      // object number 4
      {
         ObjectContainer object = new ObjectContainer(doc);
         SignatureProperties sps = new SignatureProperties(doc);

         sps.setId("signature-properties-1");

         SignatureProperty sp = new SignatureProperty(doc, "#signature");
         Element signedAdress = doc.createElementNS("urn:demo",
                                                    "SignedAddress");

         signedAdress.setAttributeNS(Constants.NamespaceSpecNS, "xmlns", "urn:demo");

         Element IP = doc.createElementNS("urn:demo", "IP");

         IP.appendChild(doc.createTextNode("192.168.21.138"));
         signedAdress.appendChild(IP);
         sp.appendChild(signedAdress);
         sps.addSignatureProperty(sp);
         object.appendChild(sps.getElement());
         sig.appendObject(object);
      }

      {
         ObjectContainer object = new ObjectContainer(doc);

         object.setId("object-4");

         X509Data x509data = new X509Data(doc);

         x509data.add(new XMLX509SubjectName(doc, cert));
         x509data.add(new XMLX509IssuerSerial(doc, cert));
         x509data.add(new XMLX509Certificate(doc, cert));
         object.appendChild(x509data.getElement());
         sig.appendObject(object);
      }

      /*
       * Add References

      sig.getSignedInfo()
         .addResourceResolver(new org.apache.xml.security.samples.utils.resolver
            .OfflineResolver());

      {
         ObjectContainer ob1 = new ObjectContainer(doc);
         ob1.setId("object-1");
         ob1.appendChild(doc.createTextNode("\nSigned Text\n"));
         Element c = doc.createElementNS(null, "element");
         c.setAttributeNS(null, "name", "val");
         ob1.appendChild(c);
         sig.appendObject(ob1);

         Transforms transforms = new Transforms(doc);
         XPathContainer xc = new XPathContainer(doc);
         xc.setXPathNamespaceContext("prof", Constants.SignatureSpecNS);

       * Add the Objects
       */

      // object-1
      {
         ObjectContainer object1 = new ObjectContainer(doc);

         object1.setId("object-1");
         object1.setMimeType("text/plain");
         object1.appendChild(doc.createTextNode("I am the text."));
         sig.appendObject(object1);
      }

      // object-2
      {
         ObjectContainer object2 = new ObjectContainer(doc);

         object2.setId("object-2");
         object2.setMimeType("text/plain");
         object2.setEncoding("http://www.w3.org/2000/09/xmldsig#base64");
         object2.appendChild(doc.createTextNode("SSBhbSB0aGUgdGV4dC4="));
         sig.appendObject(object2);
      }

      // object-3
      {
         ObjectContainer object = new ObjectContainer(doc);

         object.setId("object-3");

         Element nonc = doc.createElementNS(null, "NonCommentandus");

         nonc.setAttributeNS(Constants.NamespaceSpecNS, "xmlns", "");
         nonc.appendChild(doc.createComment(" Commentandum "));
         object.appendChild(doc.createTextNode("\n        "));
         object.appendChild(nonc);
         object.appendChild(doc.createTextNode("\n      "));
         sig.appendObject(object);
      }

      // object number 4
      {
         ObjectContainer object = new ObjectContainer(doc);

         object.appendChild(createObject4(sig));
         sig.appendObject(object);
      }

      // object number 4
      {
         ObjectContainer object = new ObjectContainer(doc);
         SignatureProperties sps = new SignatureProperties(doc);

         sps.setId("signature-properties-1");

         SignatureProperty sp = new SignatureProperty(doc, "#signature");
         Element signedAdress = doc.createElementNS("urn:demo",
                                                    "SignedAddress");

         signedAdress.setAttributeNS(Constants.NamespaceSpecNS, "xmlns", "urn:demo");

         Element IP = doc.createElementNS("urn:demo", "IP");

         IP.appendChild(doc.createTextNode("192.168.21.138"));
         signedAdress.appendChild(IP);
         sp.appendChild(signedAdress);
         sps.addSignatureProperty(sp);
         object.appendChild(sps.getElement());
         sig.appendObject(object);
      }

      {
         ObjectContainer object = new ObjectContainer(doc);

         object.setId("object-4");

         X509Data x509data = new X509Data(doc);

         x509data.add(new XMLX509SubjectName(doc, cert));
         x509data.add(new XMLX509IssuerSerial(doc, cert));
         x509data.add(new XMLX509Certificate(doc, cert));
         object.appendChild(x509data.getElement());
         sig.appendObject(object);
      }

      /*
       * Add References

            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 =
                db.parse(new ByteArrayInputStream(xmlStr.getBytes()));

            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 =
                db.parse(new ByteArrayInputStream(xmlStr.getBytes()));

            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 =
                db.parse(new ByteArrayInputStream(xmlStr.getBytes()));

            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 =
                db.parse(new ByteArrayInputStream(xmlStr.getBytes()));

            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 =
                db.parse(new ByteArrayInputStream(xmlStr.getBytes()));

            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 =
                db.parse(new ByteArrayInputStream(xmlStr.getBytes()));

            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);

        XMLSignature sig =
            new XMLSignature(doc, null, XMLSignature.ALGO_ID_SIGNATURE_DSA);
        envelope.appendChild(sig.getElement());

        ObjectContainer object1 = new ObjectContainer(doc);
        object1.setId("object-1");
        object1.setMimeType("text/plain");
        sig.appendObject(object1);

        ObjectContainer object2 = new ObjectContainer(doc);

        object2.setId("object-2");
        object2.setMimeType("text/plain");
        object2.setEncoding("http://www.w3.org/2000/09/xmldsig#base64");
        object2.appendChild(doc.createTextNode("SSBhbSB0aGUgdGV4dC4="));
        sig.appendObject(object2);

        Transforms transforms = new Transforms(doc);
        XPathContainer xpathC = new XPathContainer(doc);

        //    document.appendChild(signature.getElement());

        Element root2 = document.createElementNS("", "RootElement");
        root2.appendChild(document.createTextNode("Some simple test\n"));
        object = new ObjectContainer(document);
        object.appendChild(root2);
        object.setId(OBJECT_ID);
        root.appendChild(object.getElement());

        signature.addDocument("#" + OBJECT_ID);

         * Add the Objects
         */

        // object-1
        {
            ObjectContainer object1 = new ObjectContainer(doc);

            object1.setId("object-1");
            object1.setMimeType("text/plain");
            object1.appendChild(doc.createTextNode("I am the text."));
            sig.appendObject(object1);
        }

        // object-2
        {
            ObjectContainer object2 = new ObjectContainer(doc);

            object2.setId("object-2");
            object2.setMimeType("text/plain");
            object2.setEncoding("http://www.w3.org/2000/09/xmldsig#base64");
            object2.appendChild(doc.createTextNode("SSBhbSB0aGUgdGV4dC4="));
            sig.appendObject(object2);
        }

        // object-3
        {
            ObjectContainer object = new ObjectContainer(doc);

            object.setId("object-3");

            Element nonc = doc.createElementNS(null, "NonCommentandus");

            nonc.setAttributeNS(Constants.NamespaceSpecNS, "xmlns", "");
            nonc.appendChild(doc.createComment(" Commentandum "));
            object.appendChild(doc.createTextNode("\n        "));
            object.appendChild(nonc);
            object.appendChild(doc.createTextNode("\n      "));
            sig.appendObject(object);
        }

        // object number 4
        {
            ObjectContainer object = new ObjectContainer(doc);

            object.appendChild(createObject4(sig));
            sig.appendObject(object);
        }

        // object number 4
        {
            ObjectContainer object = new ObjectContainer(doc);
            SignatureProperties sps = new SignatureProperties(doc);

            sps.setId("signature-properties-1");

            SignatureProperty sp = new SignatureProperty(doc, "#signature");
            Element signedAdress = doc.createElementNS("urn:demo",
            "SignedAddress");

            signedAdress.setAttributeNS(Constants.NamespaceSpecNS, "xmlns", "urn:demo");

            Element IP = doc.createElementNS("urn:demo", "IP");

            IP.appendChild(doc.createTextNode("192.168.21.138"));
            signedAdress.appendChild(IP);
            sp.appendChild(signedAdress);
            sps.addSignatureProperty(sp);
            object.appendChild(sps.getElement());
            sig.appendObject(object);
        }

        {
            ObjectContainer object = new ObjectContainer(doc);

            object.setId("object-4");

            X509Data x509data = new X509Data(doc);

            x509data.add(new XMLX509SubjectName(doc, cert));
            x509data.add(new XMLX509IssuerSerial(doc, cert));
            x509data.add(new XMLX509Certificate(doc, cert));
            object.appendChild(x509data.getElement());
            sig.appendObject(object);
        }

        /*
         * Add References

TOP

Related Classes of org.apache.xml.security.signature.ObjectContainer

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.