aboutsummaryrefslogtreecommitdiff
path: root/spss.test/src/testgenerator/TestGeneratorCX1.java
diff options
context:
space:
mode:
Diffstat (limited to 'spss.test/src/testgenerator/TestGeneratorCX1.java')
-rw-r--r--spss.test/src/testgenerator/TestGeneratorCX1.java1054
1 files changed, 1054 insertions, 0 deletions
diff --git a/spss.test/src/testgenerator/TestGeneratorCX1.java b/spss.test/src/testgenerator/TestGeneratorCX1.java
new file mode 100644
index 000000000..44670742b
--- /dev/null
+++ b/spss.test/src/testgenerator/TestGeneratorCX1.java
@@ -0,0 +1,1054 @@
+package testgenerator;
+
+import iaik.ixsil.algorithms.Transform;
+import iaik.ixsil.algorithms.TransformImplBase64Decode;
+import iaik.ixsil.algorithms.TransformImplCanonicalXML;
+import iaik.ixsil.algorithms.TransformImplCanonicalXMLWithComments;
+import iaik.ixsil.algorithms.TransformImplEnvelopedSignature;
+import iaik.ixsil.algorithms.TransformImplExclusiveCanonicalXML;
+import iaik.ixsil.algorithms.TransformImplExclusiveCanonicalXMLWithComments;
+import iaik.ixsil.algorithms.TransformImplXPath;
+import iaik.ixsil.algorithms.TransformImplXPath2;
+import iaik.ixsil.algorithms.TransformImplXSLT;
+import iaik.ixsil.core.Position;
+import iaik.ixsil.util.URI;
+import java.io.BufferedWriter;
+import java.io.ByteArrayInputStream;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.FileWriter;
+import java.io.InputStream;
+import java.net.URL;
+import java.net.URLConnection;
+import java.util.ArrayList;
+import java.util.HashMap;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+
+import at.gv.egovernment.moa.util.Base64Utils;
+import at.gv.egovernment.moa.util.DOMUtils;
+
+/**
+ * @author Administrator
+ *
+ * To change this generated comment edit the template variable "typecomment":
+ * Window>Preferences>Java>Templates.
+ * To enable and disable the creation of type comments go to
+ * Window>Preferences>Java>Code Generation.
+ */
+public class TestGeneratorCX1 extends TestCases {
+
+ String datadirectory = "data/CX1/";
+
+ String base64content = "RGllcyBzaW5kIFRlc3RkYXRlbg==";
+
+ String defaultblock =
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+
+ "<CreateXMLSignatureRequest xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >"+
+ "<KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>"+
+ "<SingleSignatureInfo SecurityLayerConformity=\"false\">"+
+ "<DataObjectInfo Structure=\"detached\" ChildOfManifest=\"false\">"+
+ "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/BookData.xml"+"\">"+
+ "<XMLContent xml:space=\"preserve\">"+
+ "<data:book xmlns:data=\"http://uri.data.org\" data:hardback=\"yes\">"+
+ "<data:title>Gesundheitliche Auswirkungen elektronischer Signaturen</data:title>"+
+ "<data:first-name>Ellipse</data:first-name>"+
+ "<data:last-name>Kurvenreich</data:last-name>"+
+ "<data:birth-date>1951-04-16</data:birth-date>"+
+ "<data:birth-location>Hinterm Berg</data:birth-location>"+
+ "<data:register-number>6-930-21512-12</data:register-number>"+
+ "</data:book>"+
+ "</XMLContent>"+
+ "</DataObject>"+
+ "<CreateTransformsInfoProfile>"+
+ "<CreateTransformsInfo>"+
+ "<dsig:Transforms>"+
+ "<!-- insert transform -->"+
+ "</dsig:Transforms>"+
+ "<FinalDataMetaInfo>"+
+ "<MimeType>text/html</MimeType>"+
+ "<Description>http://www.description.com</Description>"+
+ "</FinalDataMetaInfo>"+
+ "</CreateTransformsInfo>"+
+ "<!-- insert supp -->"+
+ "</CreateTransformsInfoProfile>"+
+ "</DataObjectInfo>"+
+ "<!-- insert data2 -->"+
+ "</SingleSignatureInfo>"+
+ "</CreateXMLSignatureRequest>";
+
+ private static final int canAlgCanXML = 1;
+ private static final int canAlgCanXMLwithCom = 2;
+ private static final int canAlgExcXML = 3;
+ private static final int canAlgExcXMLwithCom = 4;
+
+
+ public String fileprefix = null;
+ public String filesuffix = null;
+
+ public TestGeneratorCX1() throws Exception {
+
+ super();
+
+ // Set config properties
+ configuration_.setProperty("TestClass", "TestGeneratorCX1");
+// configuration_.setProperty("privateKeyFile", baseDir + "additionalFiles/keys/RSAPrivateKey.der");
+// configuration_.setProperty("publicKeyFile", baseDir + "additionalFiles/keys/RSAPublicKey.der");
+// configuration_.setProperty("signatureFile", baseDir + "additionalFiles/signatures/Signature.unit1.xml");
+
+ iaik.security.provider.IAIK.addAsProvider();
+ iaik.security.ecc.provider.ECCProvider.addAsProvider();
+ }
+
+ public static void main(String[] args) throws Exception {
+ TestGeneratorCX1 testcase = new TestGeneratorCX1();
+
+ testcase.createConfig();
+ testcase.create001();
+ testcase.create002();
+ testcase.create003();
+ testcase.create004();
+ testcase.create005();
+ testcase.create006();
+ testcase.create007();
+ testcase.create008();
+ testcase.create009();
+ testcase.create010();
+ testcase.create011();
+ testcase.create012();
+ testcase.create013();
+ testcase.create014();
+
+ testcase.create051();
+ testcase.create052();
+ testcase.create053();
+ testcase.create054();
+ testcase.create055();
+
+ }
+
+ public void createConfig() throws Exception {
+
+ String file = configuration_.getProperty("baseDir") + datadirectory +
+ configuration_.getProperty("TestClass") +
+ ".Config.xml";
+ String config =
+
+ "<MOAConfiguration xmlns=\"http://reference.e-government.gv.at/namespace/moaconfig/20021122#\">"+
+ " <KeyGroup id=\"PKCS12RSAKey1\"> <Key id=\"resources/test-ee2003_normal(buergerkarte).p12\"/> </KeyGroup>"+
+ " <KeyGroup id=\"PKCS12RSAKeyExpired\"> <Key id=\"sicher-demo(buergerkarte).p12\"/> </KeyGroup>"+
+
+ " <KeyGroup id=\"PKCS12ECDSAKey1\"> <Key id=\"ecc.p12\"/> </KeyGroup> "+
+ " <KeyGroup id=\"HSMRSAKey1\"> <Key id=\"???\"/> </KeyGroup>"+
+ " <KeyGroup id=\"HSMECDSAKey1\"> <Key id=\"???\"/> </KeyGroup>"+
+ " <DigestMethodAlgorithm name=\"http://www.w3.org/2000/09/xmldsig#sha1\"/>"+
+ " <SignatureAlgorithm name=\"http://www.w3.org/2000/09/xmldsig#rsa-sha1\"/>"+
+ " <CanonicalizationAlgorithm name=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"/>"+
+ " <CreateTransformsInfoProfile id=\"CreateTransformsInfoProfile1\" filename=\""+"file:/"+configuration_.getProperty("webbaseDir")+"CX1_bookprofile.xsl\"/>"+
+ "</MOAConfiguration>";
+
+
+ /*"<MOAConfiguration>"+
+ " <KeyGroup id=\"PKCS12RSAKey1\"/> <!-- mapped auf \"test(1234).p12\" -->"+
+ "</MOAConfiguration>"+
+ "<!-- CanonicalizationMethod = http://www.w3.org/TR/2001/REC-xml-c14n-20010315 -->" +
+ "<!-- SignatureMethod = http://www.w3.org/2000/09/xmldsig#rsa-sha1 -->";*/
+
+ FileOutputStream fos = new FileOutputStream(file);
+ fos.write(config.getBytes());
+ fos.flush();
+ fos.close();
+
+ fileprefix = configuration_.getProperty("baseDir")+ datadirectory + configuration_.getProperty("TestClass") + ".";
+ filesuffix = ".xml";
+ }
+
+ public void create001() throws Exception {
+
+ String TestNumber = "001";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert transform -->",
+ "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xslt-19991116\">"+
+ "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\"><xsl:output method=\"html\" indent=\"no\"/><xsl:template match=\"data:book\" xmlns:data=\"http://uri.data.org\"><HTML><BODY><H1>Buch: <xsl:value-of select=\"data:title\"/></H1></BODY></HTML></xsl:template></xsl:stylesheet>"+
+ "</dsig:Transform>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature-1-1");
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ Transform[] tr = new Transform[1];
+ TransformImplXSLT trans = new TransformImplXSLT();
+ InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl");
+ trans.setInput(s,null);
+ trans.setStyleSheet(s,null);
+ tr[0] = trans;
+
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1");
+
+ cpkcs.setKeyInformation(1);
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc);
+
+ writeFile(resFile, output);
+
+ }
+
+ public void create002() throws Exception {
+
+ String TestNumber = "002";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert transform -->",
+ "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xslt-19991116\">"+
+ "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+
+ "<xsl:output method=\"html\" indent=\"no\"/>"+
+ "<xsl:template match=\"data:book\" xmlns:data=\"http://uri.data.org\">"+
+ "<HTML>"+
+ "<BODY>"+
+ "<H1>Buch: <xsl:value-of select=\"data:title\"/>"+
+ "</H1>"+
+ "</BODY>"+
+ "</HTML>"+
+ "</xsl:template>"+
+ "</xsl:stylesheet>"+
+ "</dsig:Transform>");
+
+ req = replaceString(req,"SecurityLayerConformity=\"false\"","SecurityLayerConformity=\"true\"");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature-1-1");
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ Transform[] tr = new Transform[1];
+ TransformImplXSLT trans = new TransformImplXSLT();
+ InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl");
+ trans.setInput(s,null);
+ trans.setStyleSheet(s,null);
+ tr[0] = trans;
+
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1");
+ //cpkcs.createReferenceWithManifest(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),"manifestObject");
+ cpkcs.createETSIObjects("file:/"+configuration_.getProperty("webbaseDir")+"resources/BookData.xml");
+ cpkcs.setKeyInformation(1);
+
+ cpkcs.signer.getSignature().setId("signature-1-1");
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc);
+
+ writeFile(resFile, output);
+
+ }
+
+ public void create003() throws Exception {
+
+ String TestNumber = "003";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert transform -->",
+ "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xpath-19991116\">"+
+ "<dsig:XPath xmlns:data=\"http://uri.data.org\">//data:book/data:first-name</dsig:XPath>"+
+ "</dsig:Transform>");
+
+ req = replaceString(req,"<MimeType>text/html</MimeType>","<MimeType>text/plain</MimeType>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature-1-1");
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ Transform[] tr = new Transform[1];
+ TransformImplXPath trans = new TransformImplXPath();
+ InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/BookData.xml");
+ trans.setInput(s,null);
+ trans.addNSDeclaration("data",new URI("http://uri.data.org"));
+ trans.setXPath("//data:book/data:first-name");
+ //trans.setXPath("ancestor-or-self::data:first-name");
+
+ tr[0] = trans;
+
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1");
+ cpkcs.setKeyInformation(1);
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc);
+
+ output = replaceString(output,"<dsig:XPath xmlns:data=\"http://uri.data.org\">","<dsig:XPath>"); // workaround
+
+ writeFile(resFile, output);
+
+ }
+
+ public void create004() throws Exception {
+
+ String TestNumber = "004";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert transform -->",
+ "<dsig:Transform Algorithm=\"http://www.w3.org/2002/06/xmldsig-filter2\">"+
+ "<xf2:XPath Filter=\"subtract\" xmlns:xf2=\"http://www.w3.org/2002/06/xmldsig-filter2\" xmlns:data=\"http://uri.data.org\">//data:book/data:first-name</xf2:XPath>"+
+ "</dsig:Transform>");
+
+ req = replaceString(req,"<MimeType>text/html</MimeType>","<MimeType>text/xml</MimeType>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature-1-1");
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ Transform[] tr = new Transform[1];
+ TransformImplXPath2 trans = new TransformImplXPath2();
+ InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/BookData.xml");
+ trans.setInput(s,null);
+ //trans.addNSDeclaration("data",new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"));
+ //trans.setXPath("/data:book/data:first-name/node()");
+ HashMap temp = new HashMap();
+ temp.put("data",new URI("http://uri.data.org"));
+ trans.addXPathFilter("//data:book/data:first-name",TransformImplXPath2.FILTER_MODE_SUBTRACT_,temp);
+ tr[0] = trans;
+
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1");
+ cpkcs.setKeyInformation(1);
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc);
+
+ output = replaceString(output,"<xf2:XPath Filter=\"subtract\" xmlns:data=\"http://uri.data.org\"","<xf2:XPath Filter=\"subtract\" ");
+
+ writeFile(resFile, output);
+
+ }
+
+ public void create005() throws Exception {
+
+ String TestNumber = "005";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert transform -->",
+ "<dsig:Transform Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"/>");
+
+ req = replaceString(req,"<MimeType>text/html</MimeType>","<MimeType>text/xml</MimeType>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature-1-1");
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ Transform[] tr = new Transform[1];
+ TransformImplCanonicalXML trans = new TransformImplCanonicalXML();
+ InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl");
+ trans.setInput(s,null);
+ /*trans.addNSDeclaration("data",new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"));
+ trans.setXPath("/data:book/data:first-name/node()");
+ trans.*/
+ tr[0] = trans;
+
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1");
+ cpkcs.setKeyInformation(1);
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc);
+
+ writeFile(resFile, output);
+
+ }
+
+ public void create006() throws Exception {
+
+ String TestNumber = "006";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert transform -->",
+ "<dsig:Transform Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments\"/>");
+
+ req = replaceString(req,"<MimeType>text/html</MimeType>","<MimeType>text/xml</MimeType>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature-1-1");
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ Transform[] tr = new Transform[1];
+ TransformImplCanonicalXMLWithComments trans = new TransformImplCanonicalXMLWithComments();
+ InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl");
+ trans.setInput(s,null);
+ /*trans.addNSDeclaration("data",new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"));
+ trans.setXPath("/data:book/data:first-name/node()");
+ trans.*/
+ tr[0] = trans;
+
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1");
+ cpkcs.setKeyInformation(1);
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc);
+
+ writeFile(resFile, output);
+
+ }
+
+ public void create007() throws Exception {
+
+ String TestNumber = "007";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert transform -->",
+ "<dsig:Transform Algorithm=\"http://www.w3.org/2001/10/xml-exc-c14n#\"><ec:InclusiveNamespaces PrefixList=\"dsig\" xmlns:ec=\"http://www.w3.org/2001/10/xml-exc-c14n#\"/></dsig:Transform>");
+
+ req = replaceString(req,"<MimeType>text/html</MimeType>","<MimeType>text/xml</MimeType>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature-1-1");
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ Transform[] tr = new Transform[1];
+ TransformImplExclusiveCanonicalXML trans = new TransformImplExclusiveCanonicalXML();
+ InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl");
+ trans.setInput(s,null);
+ trans.setInclusiveNamespacePrefixes("dsig");
+ /*trans.addNSDeclaration("data",new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"));
+ trans.setXPath("/data:book/data:first-name/node()");
+ trans.*/
+ tr[0] = trans;
+
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1");
+ cpkcs.setKeyInformation(1);
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc);
+
+ writeFile(resFile, output);
+
+ }
+
+ public void create008() throws Exception {
+
+ String TestNumber = "008";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert transform -->",
+ "<dsig:Transform Algorithm=\"http://www.w3.org/2001/10/xml-exc-c14n#WithComments\"><ec:InclusiveNamespaces PrefixList=\"dsig\" xmlns:ec=\"http://www.w3.org/2001/10/xml-exc-c14n#\"/></dsig:Transform>");
+
+ req = replaceString(req,"<MimeType>text/html</MimeType>","<MimeType>text/xml</MimeType>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature-1-1");
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ Transform[] tr = new Transform[1];
+ TransformImplExclusiveCanonicalXMLWithComments trans = new TransformImplExclusiveCanonicalXMLWithComments();
+ InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl");
+ trans.setInput(s,null);
+ trans.setInclusiveNamespacePrefixes("dsig");
+ /*trans.addNSDeclaration("data",new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"));
+ trans.setXPath("/data:book/data:first-name/node()");
+ trans.*/
+ tr[0] = trans;
+
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1");
+ cpkcs.setKeyInformation(1);
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc);
+
+ writeFile(resFile, output);
+
+ }
+
+ public void create009() throws Exception {
+
+ String TestNumber = "009";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert transform -->",
+ "<dsig:Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#enveloped-signature\"/>");
+
+ req = replaceString(req,"<XMLContent xml:space=\"preserve\">"+
+ "<data:book xmlns:data=\"http://uri.data.org\" data:hardback=\"yes\">"+
+ "<data:title>Gesundheitliche Auswirkungen elektronischer Signaturen</data:title>"+
+ "<data:first-name>Ellipse</data:first-name>"+
+ "<data:last-name>Kurvenreich</data:last-name>"+
+ "<data:birth-date>1951-04-16</data:birth-date>"+
+ "<data:birth-location>Hinterm Berg</data:birth-location>"+
+ "<data:register-number>6-930-21512-12</data:register-number>"+
+ "</data:book>"+
+ "</XMLContent>","");
+
+ req = replaceString(req,
+ "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/BookData.xml"+"\">",
+ "<DataObject Reference=\"\">");
+
+ //req = replaceString(req,"Structure=\"detached\"","Structure=\"enveloping\"");
+
+
+ req = replaceString(req,"<!-- insert data2 -->",
+ "<CreateSignatureInfo><CreateSignatureEnvironment><XMLContent xml:space=\"preserve\"><env:Document xmlns:env=\"http://uri.env.org\">Text</env:Document></XMLContent></CreateSignatureEnvironment><CreateSignatureEnvironmentProfile><CreateSignatureLocation xmlns:env=\"http://uri.env.org\" Index=\"1\">//env:Document</CreateSignatureLocation></CreateSignatureEnvironmentProfile></CreateSignatureInfo>");
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ InputStream bis = new ByteArrayInputStream(("<env:Document xmlns:env=\"http://uri.env.org\">Text</env:Document>").getBytes());
+ //Document-Builder holen
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ factory.setNamespaceAware(true);
+ DocumentBuilder builder = factory.newDocumentBuilder();
+ //Dokument Parsen
+ Document reqDoc = builder.parse(bis);
+
+ System.out.println(DOMUtils.serializeNode(reqDoc.getDocumentElement()));
+ //Position für die Signatur angeben
+ String xPath_Pos = "/node()";
+ //XPAth-Prefixe deklarieren
+ String xPath_Prefix = "env xmlns:env=\"http://uri.env.org\"";
+ Position pos = new Position(xPath_Pos, xPath_Prefix,0);
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init(reqDoc,pos,"signature-1-1");
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ Transform[] tr = new Transform[1];
+ TransformImplEnvelopedSignature trans = new TransformImplEnvelopedSignature();
+
+ /*trans.addNSDeclaration("data",new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"));
+ trans.setXPath("/data:book/data:first-name/node()");
+ trans.*/
+ tr[0] = trans;
+
+ cpkcs.createReferenceWithTransforms(new URI(""),tr,"reference-1-1");
+ cpkcs.setKeyInformation(1);
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc);
+
+ output = replaceString(output,"<dsig:Signature","<env:Document xmlns:env=\"http://uri.env.org\">Text<dsig:Signature");
+ output = replaceString(output,"</dsig:Signature>","</dsig:Signature></env:Document>");
+
+
+
+ writeFile(resFile, output);
+
+ }
+
+ public void create010() throws Exception {
+
+ String TestNumber = "010";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert transform -->",
+ "<dsig:Transform Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"/>"+
+ "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xslt-19991116\">"+
+ "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+
+ "<xsl:output method=\"html\" indent=\"no\"/>"+
+ "<xsl:template match=\"data:book\" xmlns:data=\"http://uri.data.org\">"+
+ "<HTML>"+
+ "<BODY>"+
+ "<H1>Buch: <xsl:value-of select=\"data:title\"/>"+
+ "</H1>"+
+ "</BODY>"+
+ "</HTML>"+
+ "</xsl:template>"+
+ "</xsl:stylesheet>"+
+ "</dsig:Transform>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature-1-1");
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ Transform[] tr = new Transform[2];
+ TransformImplCanonicalXML trans = new TransformImplCanonicalXML();
+ InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl");
+ trans.setInput(s,null);
+ /*trans.addNSDeclaration("data",new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"));
+ trans.setXPath("/data:book/data:first-name/node()");
+ trans.*/
+ tr[0] = trans;
+
+ TransformImplXSLT tr2 = new TransformImplXSLT();
+ InputStream s2 = new FileInputStream(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl");
+ tr2.setInput(s2,null);
+ tr2.setStyleSheet(s2,null);
+ tr[1] = tr2;
+
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1");
+ cpkcs.setKeyInformation(1);
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc);
+
+ writeFile(resFile, output);
+
+ }
+
+ public void create011() throws Exception {
+
+ String TestNumber = "011";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert transform -->",
+ "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xslt-19991116\">"+
+ "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+
+ "<xsl:include href=\""+configuration_.getProperty("webbaseDir")+"resources/CX1_book_not_here.xsl"+"\"/>"+
+ "</xsl:stylesheet>"+
+ "</dsig:Transform>");
+
+ req = replaceString(req,"<!-- insert supp -->",
+ "<Supplement>"+
+ "<Content Reference=\""+configuration_.getProperty("webbaseDir")+"resources/CX1_book_not_here.xsl"+"\">"+
+ "<Base64Content>"+
+ Base64Utils.encode(("<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+
+ "<xsl:output method=\"html\" indent=\"no\"/>"+
+ "<xsl:template match=\"data:book\" xmlns:data=\"http://uri.data.org\">"+
+ "<HTML>"+
+ "<BODY>"+
+ "<H1>Buch: <xsl:value-of select=\"data:title\"/>"+
+ "</H1>"+
+ "</BODY>"+
+ "</HTML>"+
+ "</xsl:template>"+
+ "</xsl:stylesheet>").getBytes())+
+ "</Base64Content>"+
+ "</Content>"+
+ "</Supplement>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature-1-1");
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ Transform[] tr = new Transform[1];
+ TransformImplXSLT trans = new TransformImplXSLT();
+ URL u = new URL(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref_not_here.xsl");
+ URLConnection hu = u.openConnection();
+ //trans.setInput(s,null);
+ trans.setStyleSheet(hu.getInputStream(),new URI(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref_not_here.xsl"));
+ tr[0] = trans;
+
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1");
+ //cpkcs.createReferenceWithManifest(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),"manifestObject");
+ cpkcs.setKeyInformation(1);
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc);
+
+ writeFile(resFile, output);
+ }
+
+ public void create012() throws Exception {
+
+ String TestNumber = "012";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert transform -->",
+ "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xslt-19991116\">"+
+ "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+
+ "<xsl:include href=\""+configuration_.getProperty("webbaseDir")+"resources/CX1_book_not_here.xsl"+"\"/>"+
+ "</xsl:stylesheet>"+
+ "</dsig:Transform>");
+
+ req = replaceString(req,"<!-- insert data2 -->",
+ "<DataObjectInfo Structure=\"detached\" ChildOfManifest=\"false\">"+
+ "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/BookData.xml"+"\">"+
+ "<XMLContent xml:space=\"preserve\">"+
+ "<data:book xmlns:data=\"http://uri.data.org\" data:hardback=\"yes\">"+
+ "<data:title>Gesundheitliche Auswirkungen elektronischer Signaturen</data:title>"+
+ "<data:first-name>Ellipse</data:first-name>"+
+ "<data:last-name>Kurvenreich</data:last-name>"+
+ "<data:birth-date>1951-04-16</data:birth-date>"+
+ "<data:birth-location>Hinterm Berg</data:birth-location>"+
+ "<data:register-number>6-930-21512-12</data:register-number>"+
+ "</data:book>"+
+ "</XMLContent>"+
+ "</DataObject>"+
+ "<CreateTransformsInfoProfile>"+
+ "<CreateTransformsInfo>"+
+ "<dsig:Transforms>"+
+ "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xslt-19991116\">"+
+ "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+
+ "<xsl:include href=\""+configuration_.getProperty("webbaseDir")+"resources/CX1_book_not_here.xsl\"/>"+
+ "</xsl:stylesheet>"+
+ "</dsig:Transform>"+
+ "</dsig:Transforms>"+
+ "<FinalDataMetaInfo>"+
+ "<MimeType>text/html</MimeType>"+
+ "</FinalDataMetaInfo>"+
+ "</CreateTransformsInfo>"+
+ "<Supplement>"+
+ "<Content Reference=\""+configuration_.getProperty("webbaseDir")+"resources/CX1_book_not_here.xsl"+"\">"+
+ "<Base64Content>"+
+ Base64Utils.encode(("<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+
+ "<xsl:output method=\"html\" indent=\"no\"/>"+
+ "<xsl:template match=\"data:book\" xmlns:data=\"http://uri.data.org\">"+
+ "<HTML>"+
+ "<BODY>"+
+ "<H1>Buch: <xsl:value-of select=\"data:title\"/>"+
+ "</H1>"+
+ "</BODY>"+
+ "</HTML>"+
+ "</xsl:template>"+
+ "</xsl:stylesheet>").getBytes())+
+ "</Base64Content>"+
+ "</Content>"+
+ "</Supplement>"+
+ "</CreateTransformsInfoProfile>"+
+ "</DataObjectInfo>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature-1-1");
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ Transform[] tr = new Transform[1];
+ TransformImplXSLT trans = new TransformImplXSLT();
+ URL u = new URL(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref_not_here.xsl");
+ URLConnection hu = u.openConnection();
+ //trans.setInput(s,null);
+ trans.setStyleSheet(hu.getInputStream(),new URI(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref_not_here.xsl"));
+
+ tr[0] = trans;
+
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1");
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-2");
+ //cpkcs.createReferenceWithManifest(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),"manifestObject");
+ cpkcs.setKeyInformation(1);
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc);
+
+ writeFile(resFile, output);
+
+ }
+
+ public void create013() throws Exception {
+
+ String TestNumber = "013";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,
+ "<CreateTransformsInfoProfile>"+
+ "<CreateTransformsInfo>"+
+ "<dsig:Transforms>"+
+ "<!-- insert transform -->"+
+ "</dsig:Transforms>"+
+ "<FinalDataMetaInfo>"+
+ "<MimeType>text/html</MimeType>"+
+ "<Description>http://www.description.com</Description>"+
+ "</FinalDataMetaInfo>"+
+ "</CreateTransformsInfo>"+
+ "<!-- insert supp -->"+
+ "</CreateTransformsInfoProfile>",
+ "<CreateTransformsInfoProfileID>CreateTransformsInfoProfile1</CreateTransformsInfoProfileID>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature-1-1");
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ Transform[] tr = new Transform[1];
+ TransformImplXSLT trans = new TransformImplXSLT();
+ InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl");
+ trans.setInput(s,null);
+ trans.setStyleSheet(s,null);
+ tr[0] = trans;
+
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1");
+ //cpkcs.createReferenceWithManifest(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),"manifestObject");
+ cpkcs.setKeyInformation(1);
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc);
+
+ writeFile(resFile, output);
+
+ }
+
+ public void create014() throws Exception {
+
+ String TestNumber = "014";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert transform -->",
+ "<dsig:Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#base64\"/>");
+
+ req = replaceString(req,
+ "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/BookData.xml"+"\">",
+ "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testBase64.txt"+"\">");
+
+ req = replaceString(req,
+ "<XMLContent xml:space=\"preserve\">"+
+ "<data:book xmlns:data=\"http://uri.data.org\" data:hardback=\"yes\">"+
+ "<data:title>Gesundheitliche Auswirkungen elektronischer Signaturen</data:title>"+
+ "<data:first-name>Ellipse</data:first-name>"+
+ "<data:last-name>Kurvenreich</data:last-name>"+
+ "<data:birth-date>1951-04-16</data:birth-date>"+
+ "<data:birth-location>Hinterm Berg</data:birth-location>"+
+ "<data:register-number>6-930-21512-12</data:register-number>"+
+ "</data:book>"+
+ "</XMLContent>",
+ /*"<Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content>"*/"");
+
+ req = replaceString(req,"<MimeType>text/html</MimeType>","<MimeType>text/plain</MimeType>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
+
+ CreatePKCSSignature cpkcs = new CreatePKCSSignature();
+ cpkcs.init("signature-1-1");
+ cpkcs.setCanoncialization(canAlgCanXML);
+ //cpkcs.createReference(true,"Dies sind testdaten");
+
+ Transform[] tr = new Transform[1];
+ TransformImplBase64Decode trans = new TransformImplBase64Decode();
+ InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/testBase64.txt");
+ trans.setInput(s,null);
+ /*trans.addNSDeclaration("data",new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"));
+ trans.setXPath("/data:book/data:first-name/node()");
+ trans.*/
+ tr[0] = trans;
+
+ cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/testBase64.txt"),tr,"reference-1-1");
+ cpkcs.setKeyInformation(1);
+
+ Document doc = cpkcs.returnSig();
+
+ String output = makeOutputFile(doc);
+
+ writeFile(resFile, output);
+
+ }
+
+ public void create051() throws Exception {
+
+ String TestNumber = "051";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert transform -->",
+ "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xpath-19991116\">"+
+ "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+
+ "<xsl:output method=\"html\" indent=\"no\"/>"+
+ "<xsl:template match=\"data:book\" xmlns:data=\"http://uri.data.org\">"+
+ "<HTML>"+
+ "<BODY>"+
+ "<H1>Buch: <xsl:value-of select=\"data:title\"/>"+
+ "</H1>"+
+ "</BODY>"+
+ "</HTML>"+
+ "</xsl:template>"+
+ "</xsl:stylesheet>"+
+ "</dsig:Transform>");
+
+ req = replaceString(req,"SecurityLayerConformity=\"false\"","SecurityLayerConformity=\"true\"");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
+
+ writeFile(resFile,"2202");
+ }
+
+ public void create052() throws Exception {
+
+ String TestNumber = "052";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert transform -->",
+ "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xslt-19991116\">"+
+ "<XPath>/data:book/data:first-name/node()</XPath>"+
+ "</dsig:Transform>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
+
+ writeFile(resFile,"2215");
+
+
+ }
+
+ public void create053() throws Exception {
+
+ String TestNumber = "053";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert transform -->",
+ " <dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xslt-19991116\">"+
+ " <xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+
+ " <xsl:include href=\"file:/transform.xsl\"/>"+
+ " </xsl:stylesheet>"+
+ " </dsig:Transform>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
+
+ writeFile(resFile,"2220");
+
+ }
+
+ public void create054() throws Exception {
+
+ String TestNumber = "054";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,
+ "<CreateTransformsInfoProfile>"+
+ "<CreateTransformsInfo>"+
+ "<dsig:Transforms>"+
+ "<!-- insert transform -->"+
+ "</dsig:Transforms>"+
+ "<FinalDataMetaInfo>"+
+ "<MimeType>text/html</MimeType>"+
+ "<Description>http://www.description.com</Description>"+
+ "</FinalDataMetaInfo>"+
+ "</CreateTransformsInfo>"+
+ "<!-- insert supp -->"+
+ "</CreateTransformsInfoProfile>",
+ "<CreateTransformsInfoProfileID>CreateTransformsInfoProfileNonValid</CreateTransformsInfoProfileID>");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
+
+ writeFile(resFile,"2234");
+
+ }
+
+ public void create055() throws Exception {
+
+ String TestNumber = "055";
+ String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
+
+ String req = replaceString(defaultblock,"<!-- insert transform -->",
+ "<dsig:Transform Algorithm=\"http://www.w3.org/2002/06/xmldsig-filter2\">"+
+ "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+
+ "<xsl:output method=\"html\" indent=\"no\"/>"+
+ "<xsl:template match=\"data:book\" xmlns:data=\"http://uri.data.org\">"+
+ "<HTML>"+
+ "<BODY>"+
+ "<H1>Buch: <xsl:value-of select=\"data:title\"/>"+
+ "</H1>"+
+ "</BODY>"+
+ "</HTML>"+
+ "</xsl:template>"+
+ "</xsl:stylesheet>"+
+ "</dsig:Transform>");
+
+ req = replaceString(req,"SecurityLayerConformity=\"false\"","SecurityLayerConformity=\"true\"");
+
+ writeFile(reqFile,req);
+
+ String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
+
+ writeFile(resFile,"2216");
+ }
+
+ public void writeFile(String filename,String data) throws Exception
+ {
+ BufferedWriter bw = new BufferedWriter(new FileWriter(filename));
+ bw.write(data);
+ bw.close();
+ }
+
+ public String makeOutputFile(Document signatureDoc) throws Exception
+ {
+ ArrayList foundNodes = new ArrayList();
+ findNode(signatureDoc.getDocumentElement(),"dsig:Signature",foundNodes);
+
+ Node outputNode = null;
+
+ if(foundNodes.size()>0)
+ {
+ outputNode = (Node)foundNodes.get(0);
+ }
+
+ String erg = Node2String(outputNode);
+
+ // remove the <?xml ?> Prologue
+ int pos = erg.indexOf("<dsig");
+ erg = erg.substring(pos);
+
+ // insert the dsig:signature element in a MOA Response Message
+ erg = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"+
+ "<CreateXMLSignatureResponse" +
+ " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\""+
+ ">"+
+ //" xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\">"+
+ "<SignatureEnvironment>" +
+ erg + "</SignatureEnvironment> </CreateXMLSignatureResponse>";
+
+ return erg;
+ }
+}