From f6b97c358fe0de6618d91ef81c25a87b221ae3c6 Mon Sep 17 00:00:00 2001 From: "(no author)" <(no author)@d688527b-c9ab-4aba-bd8d-4036d912da1d> Date: Thu, 24 Nov 2005 16:51:09 +0000 Subject: This commit was manufactured by cvs2svn to create tag 'Build-SPSS-1_3_0'. git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/tags/Build-SPSS-1_3_0@595 d688527b-c9ab-4aba-bd8d-4036d912da1d --- spss.test/src/testgenerator/TestGeneratorVX.java | 2793 ---------------------- 1 file changed, 2793 deletions(-) delete mode 100644 spss.test/src/testgenerator/TestGeneratorVX.java (limited to 'spss.test/src/testgenerator/TestGeneratorVX.java') diff --git a/spss.test/src/testgenerator/TestGeneratorVX.java b/spss.test/src/testgenerator/TestGeneratorVX.java deleted file mode 100644 index 20ff44a22..000000000 --- a/spss.test/src/testgenerator/TestGeneratorVX.java +++ /dev/null @@ -1,2793 +0,0 @@ -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.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.RandomAccessFile; -import java.net.HttpURLConnection; -import java.net.URL; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.Map; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; - -import org.apache.xml.serialize.DOMWriterImpl; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; - -import at.gv.egovernment.moa.util.Base64Utils; -import at.gv.egovernment.moa.util.Constants; -import at.gv.egovernment.moa.util.DOMUtils; -import at.gv.egovernment.moa.util.EntityResolverChain; -import at.gv.egovernment.moa.util.MOAEntityResolver; -import at.gv.egovernment.moa.util.MOAErrorHandler; -import at.gv.egovernment.moa.util.StreamEntityResolver; - -/** - * @author stephan - */ -public class TestGeneratorVX extends TestCases { - - private static final int canAlgCanXML = 1; - private static final int canAlgCanXMLwithCom = 2; - private static final int canAlgExcXML = 3; - private static final int canAlgExcXMLwithCom = 4; - private static VXResponseBean vxBean = null; - - public static void main(String[] args) throws Exception { - - vxBean = new VXResponseBean(); - - TestGeneratorVX testcase = new TestGeneratorVX(); - testcase.createVXConfig(); - - testcase.create001(); - testcase.create002(); - testcase.create003(); - testcase.create004(); - testcase.create005(); - testcase.create006(); - testcase.create007(); - testcase.create009(); - testcase.create008(); - - testcase.create101(); - testcase.create102(); - testcase.create103(); - testcase.create104(); - testcase.create105(); - testcase.create106(); - - testcase.create301(); - testcase.create302(); - testcase.create303(); - testcase.create304(); - testcase.create305(); - - testcase.create307(); - testcase.create308(); - - testcase.create310(); - testcase.create311(); - testcase.create312(); - testcase.create313(); - testcase.create314(); - testcase.create314_2(); - testcase.create315(); - testcase.create316(); - testcase.create317(); - testcase.create318(); - testcase.create318_2(); - testcase.create319(); - testcase.create320(); - testcase.create320_2(); - testcase.create321(); - testcase.create322(); - testcase.create323(); - testcase.create324(); - testcase.create325(); - testcase.create326(); - testcase.create327(); - - //testcase.createL00(); - - } - - /* ==================================================================================================== */ - - public TestGeneratorVX() throws Exception { - - super(); - - // Set config properties - configuration_.setProperty("TestClass", "TestGeneratorVX"); - - // 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 void testEcc() throws Exception - { - Date d = new Date(); - long start = d.getTime(); - long initEcc = 0; - long timeEcc = 0; - long initRSA = 0; - long timeRSA = 0; - - - TestGeneratorVX testcase = new TestGeneratorVX(); - testcase.ecccreate319(); - initEcc = (new Date()).getTime() - start; - testcase.ecccreate320(); - testcase.ecccreate321(); - testcase.ecccreate322(); - testcase.ecccreate323(); - testcase.ecccreate324(); - - timeEcc = (new Date()).getTime() - start; - - start = (new Date()).getTime(); - - testcase = new TestGeneratorVX(); - testcase.create319(); - initRSA = (new Date()).getTime() - start; - testcase.create320(); - testcase.create321(); - testcase.create322(); - testcase.create323(); - testcase.create324(); - timeRSA =(new Date()).getTime() - start; - - System.out.println("========================================================="); - System.out.println("========================================================="); - - System.out.println("Init ECC (inkl. 1st Test): "+ (initEcc)+ "ms" ); - System.out.println("ECC-Tests gesamt: "+ (timeEcc)+ "ms" ); - System.out.println("ECC-Tests 2-5: "+ (timeEcc-initEcc)+ "ms" ); - System.out.println("========================================================="); - System.out.println("Init RSA (inkl. 1st Test): "+ (initRSA)+ "ms" ); - System.out.println("RSA-Tests gesamt: "+ (timeRSA)+ "ms" ); - System.out.println("RSA-Tests 2-5: "+ (timeRSA-initRSA)+ "ms" ); - System.out.println("========================================================="); - } - -public void ecccreate319() throws Exception { - String testNumber = "ecc319"; - - - // Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); // Create from whole cloth -// - // Element root = (Element) document.createElement("Data"); - // root.appendChild(document.createTextNode(readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")) ); -// Element root2 = (Element) document.createElement("Element2"); - // root2.appendChild(document.createTextNode("Some other text") ); - - // root.appendChild(root2); - - - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - //cpkcs.init(); - long start = (new Date()).getTime(); - cpkcs.initECDSA(); - System.out.println("Init-Dauer für " +testNumber + ":" + ((new Date()).getTime()-start)); - cpkcs.setCanoncialization(canAlgCanXML); - cpkcs.createReference(true,"Dies sind Testdaten"); - //cpkcs.createReferenceEnvElement(root); - cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testSimple.txt"); - cpkcs.setKeyInformation(); - - start = (new Date()).getTime(); - Document sign = cpkcs.returnSig(); - System.out.println("Sign-Dauer für " +testNumber + ":" + ((new Date()).getTime()-start)); - - - String request = - makeOutputFile( - createRequestStart(testNumber,true,0), - sign, - createRequestEnd(true,false,null)); - - writeFile(vxReqFile(testNumber),request); - writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(), testNumber,"0")); - } - - /** - * Method create320: - * The element KeyInfo does NOT contain the X509-certificate but - * an URI pointing to an external xml-encoded X509-file - * @throws Exception - */ - public void ecccreate320() throws Exception { - String testNumber = "ecc320"; - - //RetrievalMethdos instead of the integratede Keys - - //URI fileURI = new URI(configuration_.getProperty("baseDir") + "resources/test-ee2003_normal.der"); - URI fileURI = new URI("file:/"+configuration_.getProperty("baseDir") + "resources/X509Data.xml"); - URI typeURI = new URI("http://www.w3.org/2000/09/xmldsig#X509Data"); - //URI typeURI = new URI("http://www.w3.org/2000/09/xmldsig#rawX509Certificate"); - - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); -// cpkcs.init(); - - cpkcs.initECDSA(); - cpkcs.setCanoncialization(canAlgCanXML); - cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt"); - cpkcs.setKeyInformation(false, fileURI, typeURI, null); - - long start = (new Date()).getTime(); - Document sign = cpkcs.returnSig(); - System.out.println("Sign-Dauer für " +testNumber + ":" + ((new Date()).getTime()-start)); - - String request = - makeOutputFile( - createRequestStart(testNumber,true,0), - sign, - createRequestEnd(true,false,null)); - - writeFile(vxReqFile(testNumber),request); - writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(), testNumber,"0")); - } - - - public void ecccreate321() throws Exception { - String testNumber = "ecc321"; - - //RetrievalMethdos instead of the integratede Keys - - URI fileURI = new URI("file:/"+configuration_.getProperty("baseDir") + "resources/test-ee2003_normal.der"); - URI typeURI = new URI("http://www.w3.org/2000/09/xmldsig#rawX509Certificate"); - - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - // cpkcs.init(); - cpkcs.initECDSA(); - cpkcs.setCanoncialization(canAlgCanXML); - cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt"); - cpkcs.setKeyInformation(false, fileURI, typeURI, null); - - long start = (new Date()).getTime(); - Document sign = cpkcs.returnSig(); - System.out.println("Sign-Dauer für " +testNumber + ":" + ((new Date()).getTime()-start)); - - String request = - makeOutputFile( - createRequestStart(testNumber,true,0), - sign, - createRequestEnd(true,false,null)); - - writeFile(vxReqFile(testNumber),request); - writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(), testNumber,"0")); - } - - - /** - * Method create322. - * The reference in the signature points with an xpointer - * to the ID of an embedded valid manifest dsig:object - * @throws Exception - */ - public void ecccreate322() throws Exception { - String testNumber = "ecc322"; - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - // cpkcs.init(); - cpkcs.initECDSA(); - cpkcs.setCanoncialization(canAlgCanXML); - URI fileURI1 = new URI(configuration_.getProperty("webbaseDir") + "resources/testSimple.txt"); - cpkcs.createReferenceWithManifest(fileURI1,"manifestObject"); - - cpkcs.setKeyInformation(); - long start = (new Date()).getTime(); - Document sign = cpkcs.returnSig(); - System.out.println("Sign-Dauer für " +testNumber + ":" + ((new Date()).getTime()-start)); - - String request = - makeOutputFile( - createRequestStart(testNumber,true,0), - sign, - createRequestEnd(true,false,null)); - - writeFile(vxReqFile(testNumber),request); - - - } - /** - * Method create323: - * There are two references in the signature pointing - * with xpointer to two embedded valid manifest dsig:objects - * @throws Exception - */ - public void ecccreate323() throws Exception { - String testNumber = "ecc323"; - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - // cpkcs.init(); - cpkcs.initECDSA(); - cpkcs.setCanoncialization(canAlgCanXML); - URI fileURI1 = new URI(configuration_.getProperty("webbaseDir") + "resources/testSimple.txt"); - URI fileURI2 = new URI(configuration_.getProperty("webbaseDir") + "resources/testXML.txt"); - cpkcs.createReferenceWithManifest(fileURI1,"manifestObject"); - - //HINWEIS: Durch das 2malige Aufrufen wird ein WEITERES dsig:Object ELEMENT erzeugt... darf das so sein...??? - - cpkcs.createReferenceWithManifest(fileURI2,"manifestObject2"); - cpkcs.setKeyInformation(); - long start = (new Date()).getTime(); - Document sign = cpkcs.returnSig(); - System.out.println("Sign-Dauer für " +testNumber + ":" + ((new Date()).getTime()-start)); - - String request = - makeOutputFile( - createRequestStart(testNumber,true,0), - sign, - createRequestEnd(true,false,null)); - - writeFile(vxReqFile(testNumber),request); - - - } - public void ecccreate324() throws Exception { - String testNumber = "ecc324"; - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - // cpkcs.init(); - cpkcs.initECDSA(); - cpkcs.setCanoncialization(canAlgCanXML); - URI fileURI1 = new URI(configuration_.getProperty("webbaseDir") + "resources/testSimple.txt"); - URI fileURI2 = new URI(configuration_.getProperty("webbaseDir") + "resources/testXML.txt"); - cpkcs.createReferencesWithManifest(fileURI1,"manifestObject",fileURI2); - - //HINWEIS: Durch das 2malige Aufrufen wird ein WEITERES dsig:Object ELEMENT erzeugt... darf das so sein...??? - cpkcs.setKeyInformation(); - long start = (new Date()).getTime(); - Document sign = cpkcs.returnSig(); - System.out.println("Sign-Dauer für " +testNumber + ":" + ((new Date()).getTime()-start)); - - String request = - makeOutputFile( - createRequestStart(testNumber,true,0), - sign, - createRequestEnd(true,false,null)); - - writeFile(vxReqFile(testNumber),request); - - - } - - public void createL00() throws Exception { - createL001("1kb"); - createL001("10kb"); - createL001("20kb"); - createL001("50kb"); - createL001("100kb"); - createL001("500kb"); - createL001("1mb"); - createL001("10mb"); - } - - public void createL001(String filename) throws Exception { - - String testNumber = "001"; - - //Create a Request with number 001, the current Time (+0 hours) - // and with the Date and ReturnHashInputDate Elements present - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - cpkcs.init(); - cpkcs.setCanoncialization(canAlgCanXML); - //cpkcs.createReference(true,"Dies sind testdaten"); - - cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/"+filename+".txt"); - cpkcs.setKeyInformation(); - - String request = - makeOutputFile( - createRequestStart(testNumber,true,0), - cpkcs.returnSig(), - createRequestEnd(false,false,null)); - - writeFile(vxReqFileL(testNumber,filename),request); - - - - writeFile(vxResFileL(testNumber,filename), createResponseL(cpkcs.getX509CertString(), testNumber,"0",filename)); - } - - /** - * Method create001. - * @throws Exception - */ - /* ===================================================================================================================== */ - /* ===================================================================================================================== */ - /* ===================================================================================================================== */ - - public void create001() throws Exception { - - String testNumber = "001"; - - //Create a Request with number 001, the current Time (+0 hours) - // and with the Date and ReturnHashInputDate Elements present - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - cpkcs.init(); - cpkcs.setCanoncialization(canAlgCanXML); - //cpkcs.createReference(true,"Dies sind testdaten"); - - cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt"); - cpkcs.setKeyInformation(); - - String request = - makeOutputFile( - createRequestStart(testNumber,true,0), - cpkcs.returnSig(), - createRequestEnd(true,false,null)); - - writeFile(vxReqFile(testNumber),request); - - - - writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(), testNumber,"0")); - } - - /** - * Method create002. - * @throws Exception - */ - public void create002() throws Exception { - String testNumber = "002"; - //Create a Request with number 002, the current Time (+0 hours) - // and without the Date and with ReturnHashInputDate Elements present - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - cpkcs.init(); - cpkcs.setCanoncialization(canAlgCanXML); - //cpkcs.createReference(true,"Dies sind testdaten"); - - cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt"); - cpkcs.setKeyInformation(); - - String request = - makeOutputFile( - createRequestStart(testNumber,false,0), - cpkcs.returnSig(), - createRequestEnd(true,false,null)); - - writeFile(vxReqFile(testNumber),request); - - writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(), testNumber,"0")); - } - - /** - * Method create003. - * @throws Exception - */ - public void create003() throws Exception { - String testNumber = "003"; - //Create a Request with number 003, the Time one Day in the past (-24 hours) - // and with the Date and with ReturnHashInputDate Elements present - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - cpkcs.init(); - cpkcs.setCanoncialization(canAlgCanXML); - //cpkcs.createReference(true,"Dies sind testdaten"); - - cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt"); - cpkcs.setKeyInformation(); - - String request = - makeOutputFile( - createRequestStart(testNumber,true,-24), - cpkcs.returnSig(), - createRequestEnd(true,false,null)); - - writeFile(vxReqFile(testNumber),request); - - writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(), testNumber,"0")); - } - - /** - * Method create004. - * @throws Exception - */ - public void create004() throws Exception { - String testNumber = "004"; - //Create a Request with number 004, the current Time (+0 hours) - // and with the Date and without ReturnHashInputDate Elements present - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - cpkcs.init(); - cpkcs.setCanoncialization(canAlgCanXML); - //cpkcs.createReference(true,"Dies sind testdaten"); - - cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt"); - cpkcs.setKeyInformation(); - - String request = - makeOutputFile( - createRequestStart(testNumber,true,0), - cpkcs.returnSig(), - createRequestEnd(false,false,null)); - - writeFile(vxReqFile(testNumber),request); - - - writeFile(vxResFile(testNumber), createResponseWithoutHashInputData(cpkcs.getX509CertString(), testNumber,"0")); - } - public void create005() throws Exception { - String testNumber = "005"; - - String request = - createRequestStart(testNumber,true,0, "Reference=\"" + configuration_.getProperty("webbaseDir") + "resources/SignatureVX005.xml\" ")+ - createRequestEnd(false,false,null); - - request = replaceString(request,"",""); - request = replaceString(request,"",""); - writeFile(vxReqFile(testNumber),request); - - String response = createResponsePart(readFileCR(configuration_.getProperty("webbaseDir") + "resources/SignatureVX005Cert.xml")) + - vxBean.createSignatureCheck("0")+ - vxBean.createXMLDSIGManifestCheck("1","1","1")+ - vxBean.createCertificateCheck("0")+ - ""; - - writeFile(vxResFile(testNumber), response); - } - /** - * Method create051. - * @throws Exception - */ - -public void create006() throws Exception { - - String testNumber = "006"; - // ERST MAL DAS DOKUMENT ALS STRING AUFBAUEN - Supplement supp = new Supplement(); - supp.addXMLContent("http://MyServer.com/resources/something.xsd", - ""); - supp.closeSupplement(); - - String requestEnd = createSignatureInfoEnd()+ - supp.getSupplement() + createRequestShortEnd(false); - - String requestStart = createRequestStart(testNumber,true,0); - - - String reqDocString = - "" - + "daten" ; - - InputStream bis = new ByteArrayInputStream(reqDocString.getBytes()); - //Document-Builder holen - DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - factory.setNamespaceAware(true); - factory.setValidating(true); - //factory.setValidating(true); - DocumentBuilder builder = factory.newDocumentBuilder(); - - Map m = new HashMap(); - m.put("http://MyServer.com/resources/something.xsd",new ByteArrayInputStream(("").getBytes())); - - EntityResolverChain chain = new EntityResolverChain(); - chain.addEntityResolver(new StreamEntityResolver(m)); - chain.addEntityResolver(new MOAEntityResolver()); - builder.setEntityResolver(chain); - - - //Dokument Parsen - System.out.println(reqDocString); - //Document reqDoc = builder.parse(bis); - Document reqDoc = DOMUtils.parseDocument(bis,true,Constants.ALL_SCHEMA_LOCATIONS, null,chain,new MOAErrorHandler()); - //Position für die Signatur angeben - //String xPath_Pos = "/moa:VerifyXMLSignatureRequest/moa:VerifySignatureInfo/moa:VerifySignatureEnvironment/moa:XMLContent - String xPath_Pos = "//daten:Document"; - //XPAth-Prefixe deklarieren - String xPath_Prefix = "daten http://uri2.data.org"; - Position pos = new Position(xPath_Pos, xPath_Prefix,0); - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - //Signer erzeugen, der das obige Doc als Basis nimmt, und die Signatur an der besagten stelle einfügt - System.out.println("REQDOC:"+DOMUtils.serializeNode(reqDoc)); - cpkcs.init(reqDoc,pos); - cpkcs.setCanoncialization(canAlgCanXML); - - cpkcs.setKeyInformation(); - /*cpkcs.createEnvelopedDataObject("envelopedData",readFileCR(configuration_.getProperty("webbaseDir")+"resources/testSimple.txt")); - cpkcs.createReferenceWithManifest(new URI("#xpointer(id('envelopedData')/node())"),"manifestObject");*/ - - Transform[] tr = new Transform[1]; - TransformImplEnvelopedSignature trans = new TransformImplEnvelopedSignature(); - tr[0] = trans; - //Enveloped Transformation - cpkcs.createReferenceWithTransforms(new URI("#myDocument"),tr); -//Signieren - - cpkcs.returnSig(); - //Serialisieren - String request = requestStart + replaceString(Node2String(reqDoc.getDocumentElement()),"","") + requestEnd; - - writeFile(vxReqFile(testNumber),request); - - String response = createResponsePart(cpkcs.getX509CertString()) + - vxBean.createSignatureCheck("0")+ - vxBean.createCertificateCheck("0")+ - ""; - - writeFile(vxResFile(testNumber), response); - } - - public void create007() throws Exception { - - String testNumber = "007"; - - String dtdLocation = configuration_.getProperty("webbaseDir") + "resources/VX.007DTD.dtd"; - - // ERST MAL DAS DOKUMENT ALS STRING AUFBAUEN - Supplement supp = new Supplement(); - supp.addBase64Content(dtdLocation, - readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/VX.007DTD.dtd")); - supp.closeSupplement(); - - String requestEnd = createSignatureInfoEnd()+ - createRequestShortEnd(false); - - //String reqDocString = createRequestStart(testNumber,true,0,"","") + - String reqDocString = /*createRequestStart(testNumber,true,0) +*/ - "" - + "\ndaten\n" /*+ requestEnd*/; - - InputStream bis = new ByteArrayInputStream(reqDocString.getBytes()); - //Document-Builder holen - DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - factory.setNamespaceAware(true); - factory.setValidating(false); - - System.out.println(reqDocString); - - DocumentBuilder builder = factory.newDocumentBuilder(); - //Dokument Parsen - Document reqDoc = builder.parse(bis); - //Position für die Signatur angeben - String xPath_Pos = "/Document"; - //XPAth-Prefixe deklarieren - String xPath_Prefix = "";//"data http://uri2.data.org"; - Position pos = new Position(xPath_Pos, xPath_Prefix,0); - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - //Signer erzeugen, der das obige Doc als Basis nimmt, und die Signatur an der besagten stelle einfügt - cpkcs.init(reqDoc,pos); - cpkcs.setCanoncialization(canAlgCanXML); - - cpkcs.setKeyInformation(); - /*cpkcs.createEnvelopedDataObject("envelopedData",readFileCR(configuration_.getProperty("webbaseDir")+"resources/testSimple.txt")); - cpkcs.createReferenceWithManifest(new URI("#xpointer(id('envelopedData')/node())"),"manifestObject");*/ - - Transform[] tr = new Transform[1]; - TransformImplEnvelopedSignature trans = new TransformImplEnvelopedSignature(); - tr[0] = trans; - //Enveloped Transformation - cpkcs.createReferenceWithTransforms(new URI("#myDocument"),tr); -//Signieren - cpkcs.returnSig(); - //Serialisieren - String request = Node2String(reqDoc.getDocumentElement()); - - int i_pos = request.indexOf(""); - request = request.substring("".length()); - - request = ""+request; - - System.out.println("DOC:"+request); - - request =""+Base64Utils.encode(request.getBytes())+"//dsig:Signature"+supp.getSupplement()+"TrustProfile1"; - - - - - /*int i_pos = request.indexOf("\n" +request.substring(i_pos);*/ - - /*i_pos = request.indexOf(""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - "id('signed-data')/node()"+ - ""+ - ""+ - ""+ - "4lngV1x/OvR8iFWEBenH4fDihwA="+ - ""+ - ""+ - ""+ - ""+ - "id('refetsi')/etsi:QualifyingProperties/etsi:SignedProperties"+ - ""+ - ""+ - ""+ - "1j0DWguieuw2cGA06gFjoSNXr+w="+ - ""+ - ""+ - "Yb6fsPNbKyYW+u7cU1EqF9n5QrwLXHqdGD4tJNT5+sA7kQR3Ztqz965vlBH+1pJE"+ - "nGxehxXsesZboVvkJa/jhuI0goCTW9KkdGOP71B7o7/vlyBbxaYKpnVNtBU4/qtT"+ - "xba7M0E32X+tm/x9O6foXIM0AoP3oQBZmjo9rEJ9kfk="+ - ""+ - ""+ - "MIIFJTCCBA2gAwIBAgICGTcwDQYJKoZIhvcNAQEFBQAwgaExCzAJBgNVBAYTAkFU"+ - "MUgwRgYDVQQKEz9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGlt"+ - "IGVsZWt0ci4gRGF0ZW52ZXJrZWhyIEdtYkgxIzAhBgNVBAsTGmEtc2lnbi1URVNU"+ - "LVByZW1pdW0tRW5jLTAxMSMwIQYDVQQDExphLXNpZ24tVEVTVC1QcmVtaXVtLUVu"+ - "Yy0wMTAeFw0wMzAyMTAxMzIwNThaFw0wNjAyMTAxMzIwNThaMGoxCzAJBgNVBAYT"+ - "AkFUMRwwGgYDVQQDExNUZXN0cGVyc29uIE1PQTQgQlJaMQwwCgYDVQQEEwNCUlox"+ - "GDAWBgNVBCoTD1Rlc3RwZXJzb24gTU9BNDEVMBMGA1UEBRMMNzkwMTg3NDYxNjMz"+ - "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDS/UW1/tZeCh7HHQmj8auUTEc4"+ - "edAgRDkUVKOm0tF3kE3WZlhGDZL0p84xsdIKyI+bwDCMATATkQwDo/Xxn9jJMi4/"+ - "t80bNyRsHk9giA0wcvz9NgmEcDwKNqawGsR9gNeK8TyIC8AuDkj1EwtkAObMvtp/"+ - "Z1phi47x3JxDDfGDpQIDAQABo4ICHzCCAhswEwYDVR0jBAwwCoAIS7OAw3GTPNgw"+ - "JwYIKwYBBQUHAQMBAf8EGDAWMAgGBgQAjkYBATAKBggrBgEFBQcLATCBggYIKwYB"+ - "BQUHAQEEdjB0MCkGCCsGAQUFBzABhh1odHRwOi8vd3d3LmEtdHJ1c3QuYXQ6ODIv"+ - "b2NzcDBHBggrBgEFBQcwAoY7aHR0cDovL3d3dy5hLXRydXN0LmF0L2NlcnRzL2Et"+ - "c2lnbi1URVNULVByZW1pdW0tU2lnLTAxYS5jcnQwgZQGA1UdIASBjDCBiTB9BgYq"+ - "KAARAQQwczA1BggrBgEFBQcCARYpaHR0cDovL3d3dy5hLXRydXN0LmF0L2RvY3Mv"+ - "Y3AvYS1zaWduLVRFU1QwOgYIKwYBBQUHAgIwLhosRGllc2VzIFplcnRpZmlrYXQg"+ - "ZGllbnQgbnVyIHp1IFRlc3R6d2Vja2VuICEwCAYGBACLMAEBMG8GA1UdHwRoMGYw"+ - "ZKBioGCGXmxkYXA6Ly9sZGFwLmEtdHJ1c3QuYXQvb3U9YS1zaWduLVRFU1QtUHJl"+ - "bWl1bS1FbmMtMDEsbz1BLVRydXN0LGM9QVQ/Y2VydGlmaWNhdGVyZXZvY2F0aW9u"+ - "bGlzdD8wEQYDVR0OBAoECE4DxL9ky4M+MA4GA1UdDwEB/wQEAwIGwDAgBgNVHREE"+ - "GTAXgRV0ZXN0cGVyc29uNEBicnouZ3YuYXQwCQYDVR0TBAIwADANBgkqhkiG9w0B"+ - "AQUFAAOCAQEAioVvsZN+NnQxXMTGdjKveTBMRTYzHflkSC8lI9XXltP5+mjIuoB2"+ - "Tn6voovA8dXz9jTsnQt8f8ye0CL2bSS9UVD1jv8So3bavquW+HlkZBAZvL39APNL"+ - "PjUUnWn0QOnrQAJ6W47UwGAUgEw3KcBcJaEa4Xb/8kUj618xGzWl6X0mKsVpxkrf"+ - "+5Cj+nmwDqChll08/90MmhSY4M5FrvmQ9GjAN5FHVsk0FPp02tKCRzoBJtzpB1DW"+ - "KHlgiDHUAXy5eD0XI7PXebPNZ4InvY/jC/IH8PRLdJT249YQmUxZ4neTtFDvb8C1"+ - "Qh6k725fh3hVxqX8ZwwWj9+iGQVk53K3CA=="+ - /*""+ - readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/IAIKRootMusterbehoerde.cer")+ - ""+*/ - ""+ - ""+ - ""+ - ""+ - "IdentityLink"+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - "2003-03-04T12:32:54Z"+ - ""+ - ""+ - ""+ - ""+ - "Frhu1o4mL4gQHdJcU0xSA/h4COE="+ - ""+ - ""+ - "CN=a-sign-TEST-Premium-Enc-01,OU=a-sign-TEST-Premium-Enc-01,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT"+ - "6455"+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - "text/xml"+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - ""+ - "//dsig:Signature"+ - ""+ - "TrustProfile1"+ - ""; - - String response = - ""+ - ""+ - " "+ - " "+ - " serialNumber=790187461633,givenName=Testperson MOA4,SN=BRZ,CN=Testperson MOA4 BRZ,C=AT"+ - " "+ - " CN=a-sign-TEST-Premium-Enc-01,OU=a-sign-TEST-Premium-Enc-01,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT"+ - " 6455"+ - " "+ - "MIIFJTCCBA2gAwIBAgICGTcwDQYJKoZIhvcNAQEFBQAwgaExCzAJBgNVBAYTAkFU"+ - "MUgwRgYDVQQKEz9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGlt"+ - "IGVsZWt0ci4gRGF0ZW52ZXJrZWhyIEdtYkgxIzAhBgNVBAsTGmEtc2lnbi1URVNU"+ - "LVByZW1pdW0tRW5jLTAxMSMwIQYDVQQDExphLXNpZ24tVEVTVC1QcmVtaXVtLUVu"+ - "Yy0wMTAeFw0wMzAyMTAxMzIwNThaFw0wNjAyMTAxMzIwNThaMGoxCzAJBgNVBAYT"+ - "AkFUMRwwGgYDVQQDExNUZXN0cGVyc29uIE1PQTQgQlJaMQwwCgYDVQQEEwNCUlox"+ - "GDAWBgNVBCoTD1Rlc3RwZXJzb24gTU9BNDEVMBMGA1UEBRMMNzkwMTg3NDYxNjMz"+ - "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDS/UW1/tZeCh7HHQmj8auUTEc4"+ - "edAgRDkUVKOm0tF3kE3WZlhGDZL0p84xsdIKyI+bwDCMATATkQwDo/Xxn9jJMi4/"+ - "t80bNyRsHk9giA0wcvz9NgmEcDwKNqawGsR9gNeK8TyIC8AuDkj1EwtkAObMvtp/"+ - "Z1phi47x3JxDDfGDpQIDAQABo4ICHzCCAhswEwYDVR0jBAwwCoAIS7OAw3GTPNgw"+ - "JwYIKwYBBQUHAQMBAf8EGDAWMAgGBgQAjkYBATAKBggrBgEFBQcLATCBggYIKwYB"+ - "BQUHAQEEdjB0MCkGCCsGAQUFBzABhh1odHRwOi8vd3d3LmEtdHJ1c3QuYXQ6ODIv"+ - "b2NzcDBHBggrBgEFBQcwAoY7aHR0cDovL3d3dy5hLXRydXN0LmF0L2NlcnRzL2Et"+ - "c2lnbi1URVNULVByZW1pdW0tU2lnLTAxYS5jcnQwgZQGA1UdIASBjDCBiTB9BgYq"+ - "KAARAQQwczA1BggrBgEFBQcCARYpaHR0cDovL3d3dy5hLXRydXN0LmF0L2RvY3Mv"+ - "Y3AvYS1zaWduLVRFU1QwOgYIKwYBBQUHAgIwLhosRGllc2VzIFplcnRpZmlrYXQg"+ - "ZGllbnQgbnVyIHp1IFRlc3R6d2Vja2VuICEwCAYGBACLMAEBMG8GA1UdHwRoMGYw"+ - "ZKBioGCGXmxkYXA6Ly9sZGFwLmEtdHJ1c3QuYXQvb3U9YS1zaWduLVRFU1QtUHJl"+ - "bWl1bS1FbmMtMDEsbz1BLVRydXN0LGM9QVQ/Y2VydGlmaWNhdGVyZXZvY2F0aW9u"+ - "bGlzdD8wEQYDVR0OBAoECE4DxL9ky4M+MA4GA1UdDwEB/wQEAwIGwDAgBgNVHREE"+ - "GTAXgRV0ZXN0cGVyc29uNEBicnouZ3YuYXQwCQYDVR0TBAIwADANBgkqhkiG9w0B"+ - "AQUFAAOCAQEAioVvsZN+NnQxXMTGdjKveTBMRTYzHflkSC8lI9XXltP5+mjIuoB2"+ - "Tn6voovA8dXz9jTsnQt8f8ye0CL2bSS9UVD1jv8So3bavquW+HlkZBAZvL39APNL"+ - "PjUUnWn0QOnrQAJ6W47UwGAUgEw3KcBcJaEa4Xb/8kUj618xGzWl6X0mKsVpxkrf"+ - "+5Cj+nmwDqChll08/90MmhSY4M5FrvmQ9GjAN5FHVsk0FPp02tKCRzoBJtzpB1DW"+ - "KHlgiDHUAXy5eD0XI7PXebPNZ4InvY/jC/IH8PRLdJT249YQmUxZ4neTtFDvb8C1"+ - "Qh6k725fh3hVxqX8ZwwWj9+iGQVk53K3CA=="+ - " "+ - " "+ - " "+ - " "+ - " 0"+ - " "+ - " "+ - " 0"+ - " "+ - ""; - - writeFile(vxReqFile(testNumber),request); - - writeFile(vxResFile(testNumber),response); - } - - public void create009() throws Exception { - - String testNumber = "009"; - // ERST MAL DAS DOKUMENT ALS STRING AUFBAUEN - Supplement supp = new Supplement(); - supp.addXMLContent("http://MyServer.com/resources/something.xsd", - ""); - supp.closeSupplement(); - - String requestEnd = createSignatureInfoEnd()+ - supp.getSupplement() + createRequestShortEnd(false); - - String requestStart = createRequestStart(testNumber,true,0); - - - String reqDocString = - "" - + "daten" ; - - InputStream bis = new ByteArrayInputStream(reqDocString.getBytes()); - //Document-Builder holen - DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - factory.setNamespaceAware(true); - factory.setValidating(true); - //factory.setValidating(true); - DocumentBuilder builder = factory.newDocumentBuilder(); - - Map m = new HashMap(); - m.put("http://MyServer.com/resources/something.xsd",new ByteArrayInputStream(("").getBytes())); - - EntityResolverChain chain = new EntityResolverChain(); - chain.addEntityResolver(new StreamEntityResolver(m)); - chain.addEntityResolver(new MOAEntityResolver()); - builder.setEntityResolver(chain); - - - //Dokument Parsen - System.out.println(reqDocString); - //Document reqDoc = builder.parse(bis); - Document reqDoc = DOMUtils.parseDocument(bis,true,Constants.ALL_SCHEMA_LOCATIONS, null,chain,new MOAErrorHandler()); - //Position für die Signatur angeben - //String xPath_Pos = "/moa:VerifyXMLSignatureRequest/moa:VerifySignatureInfo/moa:VerifySignatureEnvironment/moa:XMLContent - String xPath_Pos = "//daten:Document"; - //XPAth-Prefixe deklarieren - String xPath_Prefix = "daten http://uri2.data.org"; - Position pos = new Position(xPath_Pos, xPath_Prefix,0); - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - //Signer erzeugen, der das obige Doc als Basis nimmt, und die Signatur an der besagten stelle einfügt - System.out.println("REQDOC:"+DOMUtils.serializeNode(reqDoc)); - cpkcs.init(reqDoc,pos); - cpkcs.setCanoncialization(canAlgCanXML); - - cpkcs.setKeyInformation(); - /*cpkcs.createEnvelopedDataObject("envelopedData",readFileCR(configuration_.getProperty("webbaseDir")+"resources/testSimple.txt")); - cpkcs.createReferenceWithManifest(new URI("#xpointer(id('envelopedData')/node())"),"manifestObject");*/ - - Transform[] tr = new Transform[1]; - TransformImplEnvelopedSignature trans = new TransformImplEnvelopedSignature(); - tr[0] = trans; - //Enveloped Transformation - cpkcs.createReferenceWithTransforms(new URI("#xpointer(id(myDocument))"),tr); -//Signieren - - cpkcs.returnSig(); - //Serialisieren - String request = requestStart + replaceString(Node2String(reqDoc.getDocumentElement()),"","") + requestEnd; - - writeFile(vxReqFile(testNumber),request); - - String response = createResponsePart(cpkcs.getX509CertString()) + - vxBean.createSignatureCheck("0")+ - vxBean.createCertificateCheck("0")+ - ""; - - writeFile(vxResFile(testNumber), response); - } - - public void create101() throws Exception { - - String testNumber = "101"; - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - cpkcs.init(); - cpkcs.setCanoncialization(canAlgCanXML); - //cpkcs.createReference(true,"Dies sind testdaten"); - cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt"); - cpkcs.setKeyInformation(); - - Supplement supp = new Supplement(); - supp.addMetaInfo("text/plain","http://www.buergerkarte.at"); - supp.addBase64Content(configuration_.getProperty("webbaseDir")+"resources/testSimple.txt", - readBinaryFileAsBase64(configuration_.getProperty("baseDir")+"resources/testSimple.txt")); - supp.closeSupplement(); - //supp.addProfileID("Some ID"); - - String requestEnd = createSignatureInfoEnd()+ - supp.getSupplement() + createRequestShortEnd(false); - - String request = - makeOutputFile( - createRequestStart(testNumber,true,0), - cpkcs.returnSig(), - requestEnd); - - writeFile(vxReqFile(testNumber),request); - - String response = createResponsePart(cpkcs.getX509CertString()) + - vxBean.createSignatureCheck("0")+ - /*vxBean.createXMLDSIGManifestCheck("0","","1")+ */ - vxBean.createCertificateCheck("0")+ - ""; - - writeFile(vxResFile(testNumber), response); - } - public void create102() throws Exception { - - String testNumber = "102"; - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - cpkcs.init(); - cpkcs.setCanoncialization(canAlgCanXML); - //cpkcs.createReference(true,"Dies sind testdaten"); - cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt"); - cpkcs.setKeyInformation(); - - Supplement supp = new Supplement(); - supp.addMetaInfo("text/plain",null); - supp.addBase64Content(configuration_.getProperty("webbaseDir")+"resources/testSimple.txt", - readBinaryFileAsBase64(configuration_.getProperty("baseDir")+"resources/testSimple.txt")); - supp.closeSupplement(); - //supp.addProfileID("Some ID"); - - String requestEnd = createSignatureInfoEnd()+ - supp.getSupplement() + ""+createRequestShortEnd(false); - - String request = - makeOutputFile( - createRequestStart(testNumber,true,0), - cpkcs.returnSig(), - requestEnd); - - writeFile(vxReqFile(testNumber),request); - - - - writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(), testNumber,"0")); - } - - public void create103() throws Exception { - - String testNumber = "103"; - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - cpkcs.init(); - cpkcs.setCanoncialization(canAlgCanXML); - //cpkcs.createReference(true,"Dies sind testdaten"); - cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt"); - cpkcs.setKeyInformation(); - - Supplement supp = new Supplement(); - //supp.addMetaInfo("text/plain",null); - supp.addXMLContent(configuration_.getProperty("webbaseDir")+"resources/testSimple.txt",readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")); - //supp.addBase64Content(configuration_.getProperty("webbaseDir")+"resources/testSimple.txt", - // readBinaryFileAsBase64(configuration_.getProperty("webbaseDir")+"resources/testSimple.txt")); - supp.closeSupplement(); - //supp.addProfileID("Some ID"); - - String requestEnd = createSignatureInfoEnd()+ - supp.getSupplement() + ""+createRequestShortEnd(false); - - String request = - makeOutputFile( - createRequestStart(testNumber,true,0), - cpkcs.returnSig(), - requestEnd); - - writeFile(vxReqFile(testNumber),request); - - - - writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(), testNumber,"0")); - } -public void create104() throws Exception { - - String testNumber = "104"; - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - cpkcs.init(); - cpkcs.setCanoncialization(canAlgCanXML); - //cpkcs.createReference(true,"Dies sind testdaten"); - cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt"); - cpkcs.setKeyInformation(); - - Supplement supp = new Supplement(); - supp.addXMLContent(configuration_.getProperty("webbaseDir")+"resources/testSimple.txt", readFileCR(configuration_.getProperty("baseDir")+"resources/testSimple.txt")); - supp.closeSupplement(); - - String requestEnd = - createSignatureInfoEnd()+ - supp.getSupplement()+""+ - createRequestShortEnd(false); - - String request = - makeOutputFile( - createRequestStart(testNumber+" - Supplement/Content/XMLContent instead of Supplement/Content/Base64Content",true,0), - cpkcs.returnSig(), - requestEnd); - - writeFile(vxReqFile(testNumber),request); - writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(), testNumber,"0")); - } - - public void create105() throws Exception { - - String testNumber = "105"; - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - cpkcs.init(); - cpkcs.setCanoncialization(canAlgCanXML); - //cpkcs.createReference(true,"Dies sind testdaten"); - cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt"); - cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testXML.txt"); - cpkcs.setKeyInformation(); - - Supplement supp = new Supplement(); - supp.addXMLContent(configuration_.getProperty("webbaseDir")+"resources/testSimple.txt", readFileCR(configuration_.getProperty("baseDir")+"resources/testSimple.txt")); - supp.closeSupplement(); - - Supplement supp2 = new Supplement(); - supp2.addBase64Content(configuration_.getProperty("webbaseDir")+"resources/testXML.txt", readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/testXML.txt")); - supp2.closeSupplement(); - - String requestEnd = - createSignatureInfoEnd()+ - supp.getSupplement()+ - supp2.getSupplement() + - createRequestShortEnd(true); - - String request = - makeOutputFile( - createRequestStart(testNumber + " - 2 Supplement elements",true,0), - cpkcs.returnSig(), - requestEnd); - - String response = createResponsePart(cpkcs.getX509CertString()) + - ""+ - readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/testSimple.txt") + - ""+ - ""+ - readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/testXML.txt") + - ""+ - vxBean.createSignatureCheck("0")+ - vxBean.createCertificateCheck("0")+ - ""; - - - writeFile(vxReqFile(testNumber),request); - writeFile(vxResFile(testNumber), response); - } - -public void create106() throws Exception { - - String testNumber = "106"; - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - cpkcs.init(); - cpkcs.setCanoncialization(canAlgCanXML); - //cpkcs.createReference(true,"Dies sind testdaten"); - cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt"); - cpkcs.setKeyInformation(); - - String requestEnd = - createSignatureInfoEnd()+ - "SupplementProfile2" + - "" + - "SupplementProfile1" + - createRequestShortEnd(false); - - String request = - makeOutputFile( - createRequestStart(testNumber +" - 2 SupplementProfileID elements" ,true,0), - cpkcs.returnSig(), - requestEnd); - - writeFile(vxReqFile(testNumber),request); - writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(), testNumber,"0")); - } - - - public void create301() throws Exception { - - String testNumber = "301"; - - //Testcast with another canoicalization algorithm - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - cpkcs.init(); - cpkcs.setCanoncialization(canAlgCanXMLwithCom); - //cpkcs.createReference(true,"Dies sind testdaten"); - - cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt"); - cpkcs.setKeyInformation(); - - String request = - makeOutputFile( - createRequestStart(testNumber,true,0), - cpkcs.returnSig(), - createRequestEnd(true,false,null)); - - writeFile(vxReqFile(testNumber),request); - - writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(), testNumber,"0")); - } - /** - * Method create302. - * @throws Exception - */ - public void create302() throws Exception { - - String testNumber = "302"; - - //Testcast with another canoicalization algorithm - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - - cpkcs.init(); - cpkcs.setCanoncialization(canAlgExcXML); - cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt"); - cpkcs.setKeyInformation(); - - String request = - makeOutputFile( - createRequestStart(testNumber,true,0), - cpkcs.returnSig(), - createRequestEnd(true,false,null)); - - writeFile(vxReqFile(testNumber),request); - - writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(),testNumber,"0")); - } - /** - * Method create303. - * @throws Exception - */ - public void create303() throws Exception { - - String testNumber = "303"; - - //Testcast with another canoicalization algorithm - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - - cpkcs.init(); - cpkcs.setCanoncialization(canAlgExcXMLwithCom); - cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt"); - cpkcs.setKeyInformation(); - - String request = - makeOutputFile( - createRequestStart(testNumber,true,0), - cpkcs.returnSig(), - createRequestEnd(true,false,null)); - - writeFile(vxReqFile(testNumber),request); - - writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(),testNumber,"0")); - } - - public void create304() throws Exception { - - String testNumber = "304"; - - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - cpkcs.initECDSA(); - cpkcs.setCanoncialization(canAlgCanXML); - //cpkcs.createReference(true,"Dies sind testdaten"); - - //cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt"); - //cpkcs.createEnvelopedDataObject("envelopedData",readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")); - - cpkcs.createReference(true,readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt"),"envelopedData"); - cpkcs.setKeyInformation(); - - String request = - makeOutputFile( - createRequestStart(testNumber,true,0), - cpkcs.returnSig(), - createRequestEnd(true,false,null)); - - writeFile(vxReqFile(testNumber),request); - - writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(),testNumber,"0","CN=IAIK ECDSA Test,OU=JavaSecurity,O=IAIK,C=AT","CN=IAIK ECDSA Test,OU=JavaSecurity,O=IAIK,C=AT","68172")); - } - /** - * Method create305. - * @throws Exception - */ - public void create305() throws Exception { - - String testNumber = "305"; - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - cpkcs.init(); - cpkcs.setCanoncialization(canAlgCanXML); - - String refData = "Dies sind Testdaten"; - - cpkcs.createReference(true,refData); - - cpkcs.setKeyInformation(); - - String request = - makeOutputFile( - createRequestStart(testNumber,true,0), - cpkcs.returnSig(), - createRequestEnd(true,false,null)); - - writeFile(vxReqFile(testNumber),request); - - writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(),testNumber,"0",refData)); - } - - /** - * Method create307. - * @throws Exception - */ - public void create307() throws Exception { - - String testNumber = "307"; - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - cpkcs.init(); - cpkcs.setCanoncialization(canAlgCanXML); - cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt"); - cpkcs.setKeyInformation(); - - Supplement supp = new Supplement(); - supp.addXMLContent(configuration_.getProperty("baseDir")+"resources/testSimple.txt", readFileCR(configuration_.getProperty("baseDir")+"resources/testSimple.txt")); - supp.closeSupplement(); - - String requestEnd = createSignatureInfoEnd()+ - supp.getSupplement() + - createRequestShortEnd(true); - - String request = - makeOutputFile( - createRequestStart(testNumber,true,0), - cpkcs.returnSig(), - requestEnd); - - writeFile(vxReqFile(testNumber),request); - - writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(),testNumber,"0")); - } - - /** - * Method create308. - * @throws Exception - */ - public void create308() throws Exception { - - String testNumber = "308"; - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - cpkcs.init(); - cpkcs.setCanoncialization(canAlgCanXML); - cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt"); - cpkcs.setKeyInformation(); - - Supplement supp = new Supplement(); - supp.addXMLContent(configuration_.getProperty("webbaseDir")+"resources/testSimple.txt", readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")); - supp.closeSupplement(); - - - String requestEnd = createSignatureInfoEnd()+ supp.getSupplement() + - createRequestShortEnd(false); - - String request = - makeOutputFile( - createRequestStart(testNumber,true,0), - cpkcs.returnSig(), - requestEnd); - - //request = replaceString(request,"","VERAENDERTE DATEN und die Ursprungsdaten: "); - request = replaceString(request,"Dies sind Testdaten","VERAENDERTE DATEN und die Ursprungsdaten: Dies sind Testdaten"); - //request = replaceString(request,Base64Utils.encode("Dies sind Testdaten".getBytes()),Base64Utils.encode("VERAENDERTE DATEN und die Ursprungsdaten: Dies sind Testdaten".getBytes())); - //request = replaceString(request,"",""); - /*request = replaceString(request,"Reference=\""+configuration_.getProperty("baseDir")+"resources/testSimple.txt\"","Reference=\"\""); - request = replaceString(request,"URI=\""+configuration_.getProperty("webbaseDir")+"resources/testSimple.txt\"","URI=\"\"");*/ - writeFile(vxReqFile(testNumber),request); - - String response = createResponse(cpkcs.getX509CertString(),testNumber,"1",1); - - writeFile(vxResFile(testNumber), response); - } - public void create310() throws Exception { - - String testNumber = "310"; - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - cpkcs.init(); - cpkcs.setCanoncialization(canAlgCanXML); - //cpkcs.createReference(true,"Dies sind testdaten"); - - //Erzeugen der Base64-Daten - //String tmp = readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/testSimple.txt"); - - URI target = new URI(configuration_.getProperty("webbaseDir") + "resources/testSimple.txtbase64.enc"); - - Transform[] tr = new Transform[1]; - tr[0] = new TransformImplBase64Decode(); - InputStream s = getHttpInputStream(target.toString()); - tr[0].setInput(s,null); - - cpkcs.createReferenceWithTransforms(target,tr); - cpkcs.setKeyInformation(); - - String request = - makeOutputFile( - createRequestStart(testNumber,true,0), - cpkcs.returnSig(), - createRequestEnd(true,false,null)); - - writeFile(vxReqFile(testNumber),request); - - - - writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(),testNumber,"0")); - } -//------------------------------------------------------------------------- -//------------------------------------------------------------------------- -//------------------------------------------------------------------------- -//------------------------------------------------------------------------- -//-------311 scheint die XPAth - Transformation nicht richtig auszuführen- -// (Siehe Output in der Konsole.....) - - public void create311() throws Exception { - - String testNumber = "311"; - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - cpkcs.init(); - cpkcs.setCanoncialization(canAlgCanXML); - //cpkcs.createReference(true,"Dies sind testdaten"); - - Transform[] tr = new Transform[1]; - TransformImplXPath trans = new TransformImplXPath(); -// TransformImplXSLT trans = new TransformImplXSLT(); - - - InputStream s = getHttpInputStream(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"); -// InputStream s2 = new FileInputStream(configuration_.getProperty("baseDir")+"resources/transform.xsl"); - trans.setInput(s,null); -// trans.setStyleSheet(s2,null); - - trans.addNSDeclaration("data",new URI("http://uri.data.org")); //new URI("file:/"+configuration_.getProperty("baseDir")+"resources/BookData.xml")); - // trans.setXPath("ancestor-or-self::data:first-name"); - trans.setXPath("ancestor-or-self::text()/ancestor-or-self::data:first-name"); - - tr[0] = trans; - - cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir") + "resources/BookData.xml"),tr); - cpkcs.setKeyInformation(); - - String request = - makeOutputFile( - createRequestStart(testNumber,true,0), - cpkcs.returnSig(), - createRequestEnd(true,false,null)); - - writeFile(vxReqFile(testNumber),request); - - writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(),testNumber,"0",1,"text:Ellipse")); - } - -public void create312() throws Exception - { String testNumber = "312"; - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - cpkcs.init("signature"); - cpkcs.setCanoncialization(canAlgCanXML); - - Transform[] tr = new Transform[1]; - TransformImplXPath2 trans = new TransformImplXPath2(); - InputStream s = getHttpInputStream(configuration_.getProperty("webbaseDir")+"resources/CX1_book.xsl"); - trans.setInput(s,null); - - 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; - //System.out.println(getTransformsResult(tr)); - cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir") + "resources/BookData.xml"),tr,"reference-1"); - cpkcs.setKeyInformation(); - - String request = - makeOutputFile( - createRequestStart("312",true,0), - cpkcs.returnSig(), - createSignatureInfoEnd() - + createRequestShortEnd(false)); - - writeFile(vxReqFile(testNumber),request); - - String response = createResponsePart(cpkcs.getX509CertString()) + - vxBean.createSignatureCheck("0")+ - vxBean.createCertificateCheck("0")+ - ""; - - writeFile(vxResFile(testNumber), response); - } - -public void create313() throws Exception - { String testNumber = "313"; - - // ERST MAL DAS DOKUMENT ALS STRING AUFBAUEN - - String requestEnd = createRequestEnd(true,false,null); - - String reqDocString = createRequestStart(testNumber,true,0) + - "" - + "" + requestEnd; - - - InputStream bis = new ByteArrayInputStream(("" - + "").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 = "/moa:VerifyXMLSignatureRequest/moa:VerifySignatureInfo/moa:VerifySignatureEnvironment/moa:XMLContent/data:Document"; - String xPath_Pos = "/node()"; - //XPAth-Prefixe deklarieren - String xPath_Prefix = "data xmlns:data=\"http://uri.data.org\""; - Position pos = new Position(xPath_Pos, xPath_Prefix,0); - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - //Signer erzeugen, der das obige Doc als Basis nimmt, und die Signatur an der besagten stelle einfügt - cpkcs.init(reqDoc,pos); - cpkcs.setCanoncialization(canAlgCanXML); - - cpkcs.setKeyInformation(1); - //cpkcs.createEnvelopedDataObject("envelopedData",readFileCR(configuration_.getProperty("webbaseDir")+"resources/testSimple.txt")); - //cpkcs.createReferenceWithManifest(new URI("#xpointer(id('envelopedData')/node())"),"manifestObject"); - - Transform[] tr = new Transform[1]; - TransformImplEnvelopedSignature trans = new TransformImplEnvelopedSignature(); - tr[0] = trans; - //Enveloped Transformation - cpkcs.createReferenceWithTransforms(new URI(""),tr); -//Signieren - cpkcs.returnSig(); - //Serialisieren - String request = Node2String(reqDoc.getDocumentElement()); - - writeFile(vxReqFile(testNumber),createRequestStart(testNumber,true,0).trim() +cutXML(request).trim()+requestEnd.trim()); - writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(), testNumber,"0",1,"text:"+"")); - - } - - - public void create314() throws Exception - { String testNumber = "314"; - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - cpkcs.init("signature"); - cpkcs.setCanoncialization(canAlgCanXML); - - Transform[] tr = new Transform[1]; - TransformImplXSLT trans = new TransformImplXSLT(); - InputStream s = getHttpInputStream(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref.xsl"); - trans.setStyleSheet(s,new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_bookref.xsl")); - tr[0] = trans; - cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir") + "resources/BookData.xml"),tr,"reference-1"); - cpkcs.setKeyInformation(); - - String request = - makeOutputFile( - createRequestStart("314",true,0), - cpkcs.returnSig(), - createSignatureInfoEnd() - + createRequestShortEnd(false)); - - writeFile(vxReqFile(testNumber),request); - - String response = createResponsePart(cpkcs.getX509CertString()) + - vxBean.createSignatureCheck("0")+ - vxBean.createCertificateCheck("0")+ - ""; - - writeFile(vxResFile(testNumber), response); - } - -public void create314_2() throws Exception - { String testNumber = "314_2"; - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - cpkcs.init("signature"); - cpkcs.setCanoncialization(canAlgCanXML); - - Transform[] tr = new Transform[1]; - TransformImplXSLT trans = new TransformImplXSLT(); - InputStream s = getHttpInputStream(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref.xsl"); - trans.setStyleSheet(s,new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_bookref.xsl")); - tr[0] = trans; - cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir") + "resources/BookData.xml"),tr,"reference-1"); - cpkcs.setKeyInformation(); - - Supplement supp = new Supplement(); - String suppContent = readFileCR(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl"); - suppContent = replaceString(suppContent, "",""); - supp.addXMLContent("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl", suppContent ); - supp.closeSupplement(); - - String request = - makeOutputFile( - createRequestStart("314_2",true,0), - cpkcs.returnSig(), - createSignatureInfoEnd() + - supp.getSupplement() - + createRequestShortEnd(false)); - -/* request = replaceString(request, "http://moa-test.brz.intra.gv.at", "http://MyServer.com"); - request = replaceString(request, "http://moa-test.brz.intra.gv.at", "http://MyServer.com"); - request = replaceString(request, "http://moa-test.brz.intra.gv.at", "http://MyServer.com"); - //Hinweis: ich nehmen an, die URI in DSIG:REFERENCE sollte schon stimmen.... - request = replaceString(request, "http://MyServer.com", "http://moa-test.brz.intra.gv.at"); */ - writeFile(vxReqFile(testNumber),request); - - String response = createResponsePart(cpkcs.getX509CertString()) + - vxBean.createSignatureCheck("0")+ - vxBean.createCertificateCheck("0")+ - ""; - writeFile(vxResFile(testNumber), response); - } - - - public void create315() throws Exception { - - String testNumber = "315"; - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - cpkcs.init(); - cpkcs.setCanoncialization(canAlgCanXML); - //cpkcs.createReference(true,"Dies sind testdaten"); - URI target = new URI(configuration_.getProperty("webbaseDir") + "resources/test_wo_canonicalisation.XML"); - - Transform[] tr = new Transform[1]; - tr[0] = new TransformImplCanonicalXML(); - InputStream s = getHttpInputStream(target.toString()); - tr[0].setInput(s,null); - - String erg = getTransformsResult(tr); - - cpkcs.createReferenceWithTransforms(target,tr); - //cpkcs.createReference(false, "file:/"+ configuration_.getProperty("baseDir")+"resources/test_wo_canonicalisation.XML"); - //cpkcs.createReference(false, "file:/"+ configuration_.getProperty("baseDir")+"resources/test_w_canonicalisation.XML"); -// cpkcs.createReferenceWithManifest(new URI("file:/"+ configuration_.getProperty("baseDir")+"resources/test_w_canonicalisation.XML"),"canonicalizedData"); - - cpkcs.setKeyInformation(); - - String request = - makeOutputFile( - createRequestStart(testNumber,true,0), - cpkcs.returnSig(), - createRequestEnd(true,false,null)); - - - - writeFile(vxReqFile(testNumber),request); - - - - writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(),testNumber,"0",erg)); - } - - public void create316() throws Exception { - - String testNumber = "316"; - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - cpkcs.init(); - cpkcs.setCanoncialization(canAlgCanXML); - - URI target = new URI(configuration_.getProperty("webbaseDir") + "resources/test_wo_canonicalisation.XML"); - - Transform[] tr = new Transform[1]; - tr[0] = new TransformImplCanonicalXMLWithComments(); - InputStream s = getHttpInputStream(target.toString()); - tr[0].setInput(s,null); - - String erg = getTransformsResult(tr); - - cpkcs.createReferenceWithTransforms(target,tr); - - cpkcs.setKeyInformation(); - String request = - makeOutputFile( - createRequestStart(testNumber,true,0), - cpkcs.returnSig(), - createRequestEnd(true,false,null)); - - writeFile(vxReqFile(testNumber),request); - - writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(),testNumber,"0",erg)); - } - public void create317() throws Exception { - - String testNumber = "317"; - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - cpkcs.init(); - cpkcs.setCanoncialization(canAlgCanXML); - - URI target = new URI(configuration_.getProperty("webbaseDir") + "resources/test_wo_canonicalisation.XML"); - - Transform[] tr = new Transform[1]; - tr[0] = new TransformImplExclusiveCanonicalXML(); - InputStream s = getHttpInputStream(target.toString()); - tr[0].setInput(s,null); - String erg = getTransformsResult(tr); - cpkcs.createReferenceWithTransforms(target,tr); - - cpkcs.setKeyInformation(); - String request = - makeOutputFile( - createRequestStart(testNumber,true,0), - cpkcs.returnSig(), - createRequestEnd(true,false,null)); - - writeFile(vxReqFile(testNumber),request); - - writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(),testNumber,"0",erg)); - } - public void create318() throws Exception { - - String testNumber = "318"; - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - cpkcs.init(); - cpkcs.setCanoncialization(canAlgCanXML); - URI target = new URI(configuration_.getProperty("webbaseDir") + "resources/test_wo_canonicalisation.XML"); - Transform[] tr = new Transform[1]; - tr[0] = new TransformImplExclusiveCanonicalXMLWithComments(); - InputStream s = getHttpInputStream(target.toString()); - tr[0].setInput(s,null); - - String erg = getTransformsResult(tr); - cpkcs.createReferenceWithTransforms(target,tr); - - cpkcs.setKeyInformation(); - String request = - makeOutputFile( - createRequestStart(testNumber,true,0), - cpkcs.returnSig(), - createRequestEnd(true,false,null)); - - writeFile(vxReqFile(testNumber),request); - - writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(),testNumber,"0",erg)); - } - - public void create318_2() throws Exception { - - String testNumber = "318_2"; - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - cpkcs.init(); - cpkcs.setCanoncialization(canAlgCanXML); - - //Create a base64-encoded version of the xml file - - //String tmp = readBinaryFileAsBase64(configuration_.getProperty("baseDir")+"resources/test_wo_canonicalisation.XML"); - - URI target = new URI(configuration_.getProperty("webbaseDir") + "resources/test_wo_canonicalisation.XMLbase64.enc"); - - Transform[] tr = new Transform[3]; - tr[0] = new TransformImplBase64Decode(); - InputStream s = getHttpInputStream(target.toString()); - tr[0].setInput(s,null); - tr[1] = new TransformImplCanonicalXMLWithComments(); - tr[1].setInput(s,null); - - tr[2] = new TransformImplExclusiveCanonicalXML(); - tr[2].setInput(s,null); - String erg = getTransformsResult(tr); - cpkcs.createReferenceWithTransforms(target,tr); - - cpkcs.setKeyInformation(); - String request = - makeOutputFile( - createRequestStart(testNumber,true,0), - cpkcs.returnSig(), - createRequestEnd(true,false,null)); - - writeFile(vxReqFile(testNumber),request); - - writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(),testNumber,"0",erg)); - } - - /** - * Method create319: - * SignedInfo/Reference appears two times: - * the first reference points to an enveloped dsig:Object, - * the seconde reference points to an external File - * @throws Exception - */ - public void create319() throws Exception { - String testNumber = "319"; - - - // Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); // Create from whole cloth - -// Element root = (Element) document.createElement("Data"); - // root.appendChild(document.createTextNode(readFileCR(configuration_.getProperty("baseDir")+"resources/test-ee2003_normal.derbase64.enc.bak")) ); - //root.appendChild(document.createTextNode("Hallo\nHallo\nHallo")); - - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - - cpkcs.init(); - cpkcs.setCanoncialization(canAlgCanXML); - cpkcs.createReference(true,"Dies sind Testdaten"); - //cpkcs.createReferenceEnvElement(root); - cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt"); - cpkcs.setKeyInformation(); - - Document sign = cpkcs.returnSig(); - - String request = - makeOutputFile( - createRequestStart(testNumber,true,0), - sign, - createRequestEnd(true,false,null)); - - /*String erg = "Dies sind Testdaten" + - "\n" + - " \n" + - " \n" + - "" + - readFileCR(configuration_.getProperty("baseDir")+"resources/testSimple.txt"); */ - - writeFile(vxReqFile(testNumber),request); - writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(),testNumber,"0","Dies sind Testdaten",readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt"))); - } - - /** - * Method create320: - * The element KeyInfo does NOT contain the X509-certificate but - * an URI pointing to an external xml-encoded X509-file - * @throws Exception - */ - public void create320() throws Exception { - String testNumber = "320"; - - //RetrievalMethdos instead of the integratede Keys - - //URI fileURI = new URI(configuration_.getProperty("baseDir") + "resources/test-ee2003_normal.der"); - URI fileURI = new URI(configuration_.getProperty("webbaseDir") + "resources/X509Data.xml"); - URI typeURI = new URI("http://www.w3.org/2000/09/xmldsig#X509Data"); - //URI typeURI = new URI("http://www.w3.org/2000/09/xmldsig#rawX509Certificate"); - - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - cpkcs.init(); - cpkcs.setCanoncialization(canAlgCanXML); - cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt"); - cpkcs.setKeyInformation(false, fileURI, typeURI, null); - - Document sign = cpkcs.returnSig(); - String request = - makeOutputFile( - createRequestStart(testNumber,true,0), - sign, - createRequestEnd(true,false,null)); - - writeFile(vxReqFile(testNumber),request); - writeFile(vxResFile(testNumber), createResponse(readFileCR(configuration_.getProperty("webbaseDir") + "resources/SignatureVX005Cert.xml"),testNumber,"0")); - } - -public void create320_2() throws Exception { - String testNumber = "320_2"; - - //RetrievalMethdos instead of the integratede Keys - - //URI fileURI = new URI(configuration_.getProperty("baseDir") + "resources/test-ee2003_normal.der"); - URI fileURI = new URI(configuration_.getProperty("webbaseDir") + "resources/TEMPX509Data.xml"); - URI typeURI = new URI("http://www.w3.org/2000/09/xmldsig#X509Data"); - //URI typeURI = new URI("http://www.w3.org/2000/09/xmldsig#rawX509Certificate"); - - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - cpkcs.init(); - cpkcs.setCanoncialization(canAlgCanXML); - cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt"); - cpkcs.setKeyInformation(false, fileURI, typeURI, null); - -// Supplement supp = new Supplement(); - -// supp.addXMLContent(configuration_.getProperty("webbaseDir") + "resources/X509Data.xml",readFileCR(configuration_.getProperty("webbaseDir") + "resources/X509Data.xml")); -// supp.closeSupplement(); - Document sign = cpkcs.returnSig(); - String request = - makeOutputFile( - createRequestStart(testNumber,true,0), - sign, - createRequestEnd(true,true,configuration_.getProperty("webbaseDir") + "resources/TEMPX509Data.xml")); - - writeFile(vxReqFile(testNumber),request); - writeFile(vxResFile(testNumber), createResponse(readFileCR(configuration_.getProperty("webbaseDir") + "resources/SignatureVX005Cert.xml"),testNumber,"0")); - } - - - /** - * Method create321. - * The element KeyInfo does NOT contain the X509-certificate but - * an URI pointing to an external raw X509-file - * @throws Exception - */ - public void create321() throws Exception { - String testNumber = "321"; - - //RetrievalMethdos instead of the integratede Keys - - URI fileURI = new URI(configuration_.getProperty("webbaseDir") + "resources/test-ee2003_normal.der"); - URI typeURI = new URI("http://www.w3.org/2000/09/xmldsig#rawX509Certificate"); - - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - cpkcs.init(); - cpkcs.setCanoncialization(canAlgCanXML); - cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt"); - cpkcs.setKeyInformation(false, fileURI, typeURI, null); - Document sign = cpkcs.returnSig(); String request = - makeOutputFile( - createRequestStart(testNumber,true,0), - sign, - createRequestEnd(true,false,null)); - - writeFile(vxReqFile(testNumber),request); - writeFile(vxResFile(testNumber), createResponse(readFileCR(configuration_.getProperty("webbaseDir") + "resources/SignatureVX005Cert.xml"),testNumber,"0")); - } - - - /** - * Method create322. - * The reference in the signature points with an xpointer - * to the ID of an embedded valid manifest dsig:object - * @throws Exception - */ -public void create322() throws Exception { - String testNumber = "322"; - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - cpkcs.init(); - cpkcs.setCanoncialization(canAlgCanXML); - URI fileURI1 = new URI(configuration_.getProperty("webbaseDir") + "resources/testSimple.txt"); - Element elem = cpkcs.createReferenceWithManifest(fileURI1,"manifestObject"); - - cpkcs.setKeyInformation(); - Document sign = cpkcs.returnSig(); String request = - makeOutputFile( - createRequestStart(testNumber,true,0), - sign, - createRequestEnd(true,false,null)); - - writeFile(vxReqFile(testNumber),request); - - - String response = createResponsePart(cpkcs.getX509CertString()) + - ""+ - Base64Utils.encode(stripNLCR(convertManifestToString(elem)).getBytes()) + - ""+ - vxBean.createSignatureCheck("0")+ - vxBean.createXMLDSIGManifestCheck("0","","1")+ - vxBean.createCertificateCheck("0")+ - ""; - - writeFile(vxResFile(testNumber), response); - } - /** - * Method create323: - * There are two references in the signature pointing - * with xpointer to two embedded valid manifest dsig:objects - * @throws Exception - */ - public void create323() throws Exception { - String testNumber = "323"; - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - cpkcs.init(); - cpkcs.setCanoncialization(canAlgCanXML); - URI fileURI1 = new URI(configuration_.getProperty("webbaseDir") + "resources/testSimple.txt"); - URI fileURI2 = new URI(configuration_.getProperty("webbaseDir") + "resources/testXML.txt"); - Element man1 = cpkcs.createReferenceWithManifest(fileURI1,"manifestObject"); - - //HINWEIS: Durch das 2malige Aufrufen wird ein WEITERES dsig:Object ELEMENT erzeugt... darf das so sein...??? - - Element man2 = cpkcs.createReferenceWithManifest(fileURI2,"manifestObject2"); - cpkcs.setKeyInformation(); - Document sign = cpkcs.returnSig(); - String request = - makeOutputFile( - createRequestStart(testNumber,true,0), - sign, - createRequestEnd(true,false,null)); - - writeFile(vxReqFile(testNumber),request); - - String response = createResponsePart(cpkcs.getX509CertString()) + - ""+ - Base64Utils.encode(stripNLCR(convertManifestToString(man1)).getBytes()) + - ""+ - ""+ - Base64Utils.encode(stripNLCR(convertManifestToString(man2)).getBytes()) + - ""+ - vxBean.createSignatureCheck("0")+ - vxBean.createXMLDSIGManifestCheck("0","","1")+ - vxBean.createXMLDSIGManifestCheck("0","","2")+ - vxBean.createCertificateCheck("0")+ - ""; - - writeFile(vxResFile(testNumber), response); - - } - public void create324() throws Exception { - String testNumber = "324"; - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - cpkcs.init(); - cpkcs.setCanoncialization(canAlgCanXML); - URI fileURI1 = new URI(configuration_.getProperty("webbaseDir") + "resources/testSimple.txt"); - URI fileURI2 = new URI(configuration_.getProperty("webbaseDir") + "resources/testXML.txt"); - Element man = cpkcs.createReferencesWithManifest(fileURI1,"manifestObject",fileURI2); - - //HINWEIS: Durch das 2malige Aufrufen wird ein WEITERES dsig:Object ELEMENT erzeugt... darf das so sein...??? - cpkcs.setKeyInformation(); - Document sign = cpkcs.returnSig(); - String request = - makeOutputFile( - createRequestStart(testNumber,true,0), - sign, - createRequestEnd(true,false,null)); - - writeFile(vxReqFile(testNumber),request); - - String response = createResponsePart(cpkcs.getX509CertString()) + - ""+ - Base64Utils.encode(stripNLCR(convertManifestToString(man)).getBytes()) + - ""+ - vxBean.createSignatureCheck("0")+ - vxBean.createXMLDSIGManifestCheck("0","","1")+ - vxBean.createCertificateCheck("0")+ - ""; - - writeFile(vxResFile(testNumber), response); - - } - - /** - * Method create325. - * @throws Exception - */ - public void create325() throws Exception { - String testNumber = "325"; - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - cpkcs.init(); - cpkcs.setCanoncialization(canAlgCanXML); - - Element mani = cpkcs.createReferenceWithManifest(new URI("#xpointer(id('envelopedData')/node())"),"manifestObject"); - cpkcs.createEnvelopedDataObject("envelopedData",readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")); - - cpkcs.setKeyInformation(); - - String request = - makeOutputFile( - createRequestStart(testNumber,true,0), - cpkcs.returnSig(), - createRequestEnd(true,false,null)); - - writeFile(vxReqFile(testNumber),request); - String response = createResponsePart(cpkcs.getX509CertString()) + - ""+ - Base64Utils.encode(stripNLCR(convertManifestToString(mani)).getBytes()) + - ""+ - vxBean.createSignatureCheck("0")+ - vxBean.createXMLDSIGManifestCheck("1","1","1")+ - vxBean.createCertificateCheck("0")+ - ""; - - writeFile(vxResFile(testNumber), response); - } - - public void create326() throws Exception { - String testNumber = "326"; - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - cpkcs.init(); - cpkcs.setCanoncialization(canAlgCanXML); - - Element mani = cpkcs.createReferenceWithManifest(new URI("#xpointer(id('envelopedData')/node())"),"manifestObject"); - cpkcs.createEnvelopedDataObject("envelopedData",readFileCR(configuration_.getProperty("baseDir")+"resources/testSimple.txt")); - - cpkcs.setKeyInformation(); - - String request = - makeOutputFile( - createRequestStart(testNumber,true,0), - cpkcs.returnSig(), - createRequestEnd(false,false,null)); - - request = replaceString(request,"","Dies sind veraenderte Daten und die Ursprungsdaten: \n"); - - writeFile(vxReqFile(testNumber),request); - - String response = createResponsePart(cpkcs.getX509CertString()) + - vxBean.createSignatureCheck("0")+ - vxBean.createXMLDSIGManifestCheck("1","1","1")+ - vxBean.createCertificateCheck("0")+ - ""; - - - writeFile(vxResFile(testNumber), response); - } - - /** - * Method create327: The certificate comes as raw data and is converted to a dsig:object with - * base64-data, the KeyInfo has a retrievalMethod pointing to that object and transforming the - * data back to raw-data for using that to create the signature - * @throws Exception - */ - public void create327() throws Exception { - - String testNumber = "327"; - - URI fileURI = new URI(configuration_.getProperty("webbaseDir") + "resources/test-ee2003_normal.der"); - URI typeURI = new URI("http://www.w3.org/2000/09/xmldsig#rawX509Certificate"); - - - CreatePKCSSignature cpkcs = new CreatePKCSSignature(); - cpkcs.init(); - cpkcs.setCanoncialization(canAlgCanXML); - - cpkcs.createReference(false,configuration_.getProperty("webbaseDir") + "resources/testSimple.txt"); - - //DER-encoded RAW-Zertifikat zu Binary64 konvertieren - - //String tmp = readBinaryFileAsBase64(fileURI.getPath()); : Funktioniert nicht mehr wegen http-addi - - //dsig:Object mit den Binary64-Daten erzeugen (==> CRs weglassen!!!!!) - cpkcs.createEnvelopedDataObject("rawCertAsBase64",readFileCR(fileURI.toString()+"base64.enc")); - - //Neue Transformation erzeugen, um die Base64-Daten zurückzuwandeln - Transform[] tr = new Transform[1]; - tr[0] = new TransformImplBase64Decode(); - InputStream s = getHttpInputStream(fileURI.toString() + "base64.enc"); - tr[0].setInput(s,null); - - //Neues KeyInfo-Objekt erzeugen, wobei nicht die Zertifikate sondern - //nur eine RetrievalMethod angegeben wird, die auf das oben erzeugte Base64-dsig:Object verweist - cpkcs.setKeyInformation(true, new URI("#xpointer(id('rawCertAsBase64')/node())") , typeURI, tr); - - String request = - makeOutputFile( - createRequestStart(testNumber,true,0), - cpkcs.returnSig(), - createRequestEnd(true,false,null)); - - writeFile(vxReqFile(testNumber),request); - - cpkcs.setKeyInformation(1); - - writeFile(vxResFile(testNumber), createResponse(cpkcs.getX509CertString(), testNumber,"0")); - } - - /** - * Method makeOutputFile. - * @param start - * @param signatureDoc - * @param end - * @return String - * @throws Exception - */ - public String makeOutputFile( - String start, - Document signatureDoc, - String end) - 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 Prologue - int pos = erg.indexOf("" - + "\n"; - - if(dtd!=null && !dtd.trim().equals("")) - reqStart += dtd; - - reqStart+= "\n"; - - if (useDate) { - reqStart += " " - + getDate(changeHours) - + "\n"; - } - - reqStart += " \n" - + " \n" - + " " ; - return reqStart; - } - - /** - * Method getTransformsResult:the input transforms array will - * be calculated to return a string-representation of the result - * @param tr - * @return String - * @throws Exception - */ - private String getTransformsResult(Transform[] tr) throws Exception - { - Transform[] myTransforms = tr; - String result = ""; - for (int t=0; t 0) - { - result += new String(b); - is.read(b); - } - result += new String(b); - - return result; - } - - - /** - * Method createRequestEnd. - * @param useReturnHashInputData - * @param useSupplement - * @param supplementReference - * @return String - * @throws Exception - */ - private String createRequestEnd( - boolean useReturnHashInputData, - boolean useSupplement, - String supplementReference) - throws Exception { - - String reqEnd = null; - -/* reqEnd = - "\n" - + " #xpointer(/VerifyXMLSignatureRequest/VerifySignatureInfo/VerifySignatureEnvironment/dsig:Signature)\n" - + " \n"; -*/ - reqEnd =""+ - "\n" - + " //dsig:Signature\n" - + " \n"; - - - - if (useSupplement) - { - reqEnd += " \n" + - " \n" + - " "+readFileCR(supplementReference.toString())+"\n" + - " \n" + - " \n"; - } - - if (useReturnHashInputData) { - reqEnd += " \n"; - } - reqEnd += " TrustProfile1\n" - + "\n"; - return reqEnd; - - } - - private String createSignatureInfoEnd() - throws Exception { - - return ""+"\n" - + " //dsig:Signature\n" - + " \n"; - - } - - private String createRequestShortEnd(boolean useReturnHashInputData) - throws Exception { - - String reqEnd = ""; - - if (useReturnHashInputData) - reqEnd = " \n"; - - reqEnd += " TrustProfile1\n" - + "\n"; - return reqEnd; - - } - /** - * Method createResponse. - * @param testNumber - * @param signatureCheckCode - * @return String - * @throws Exception - */ - private String createResponse(String x509cert, String testNumber, String signatureCheckCode) throws Exception { - // - vxBean.init(configuration_.getProperty("webbaseDir")+ "resources/" + "test-ee2003_normal_extract.cer"); - - String res = null; - - res = vxBean.getHeader(); - res += vxBean.getSubjectDN(); - res += " \n"; - res += vxBean.getIssuerDN(); - res += vxBean.getSerialNumber(); - res += " \n" - + x509cert - + " \n" - + " \n"; - res += " \n" + " "; - /*res += ""+readFileCR( - configuration_.getProperty("baseDir") - + "resources/testSimple.txt")+ - "";*/ - res += ""+readBinaryFileAsBase64_new((configuration_.getProperty("baseDir")+ "resources/testSimple.txt"))+""; - - res += vxBean.getFooterSignatureCheck(signatureCheckCode, "0"); - - return res; - } - - private String createResponseL(String x509cert, String testNumber, String signatureCheckCode,String filename) throws Exception { - // - vxBean.init(configuration_.getProperty("webbaseDir")+ "resources/" + "test-ee2003_normal_extract.cer"); - - String res = null; - - res = vxBean.getHeader(); - res += vxBean.getSubjectDN(); - res += " \n"; - res += vxBean.getIssuerDN(); - res += vxBean.getSerialNumber(); - res += " \n" - + x509cert - + " \n" - + " \n"; - - res += replaceString(vxBean.getFooterSignatureCheck(signatureCheckCode, "0"),"",""); - - return res; - } - - private String createResponse(String x509cert, String testNumber, String signatureCheckCode,int code) throws Exception { - // - vxBean.init(configuration_.getProperty("webbaseDir")+ "resources/" + "test-ee2003_normal_extract.cer"); - - String res = null; - - res = vxBean.getHeader(); - res += vxBean.getSubjectDN(); - res += " \n"; - res += vxBean.getIssuerDN(); - res += vxBean.getSerialNumber(); - res += " \n" - + x509cert - + " \n" - + " \n"; - res += " \n" + - " 11\n" + - " \n" + - " \n" + - " 0\n" + - " \n" + - "";; - - return res; - } - - - /** - * Method createResponse. - * @param testNumber - * @param signatureCheckCode - * @return String - * @throws Exception - */ - private String createResponse(String x509cert, String testNumber, String signatureCheckCode,int code,String filename) throws Exception { - // - vxBean.init(configuration_.getProperty("webbaseDir")+ "resources/" + "test-ee2003_normal_extract.cer"); - - String res = null; - - res = vxBean.getHeader(); - res += vxBean.getSubjectDN(); - res += " \n"; - res += vxBean.getIssuerDN(); - res += vxBean.getSerialNumber(); - res += " \n" - + x509cert - + " \n" - + " \n"; - res += " \n" + " "; - /*res += ""+readFileCR( - configuration_.getProperty("baseDir") - + "resources/testSimple.txt")+ - "";*/ - if(filename.startsWith("text:")) - res += ""+Base64Utils.encode(filename.substring(5).getBytes())+""; - else - res += ""+readBinaryFileAsBase64_new((configuration_.getProperty("baseDir")+ filename))+""; - - res += vxBean.getFooterSignatureCheck(signatureCheckCode, "0"); - - return res; - } - -/** - * Method createResponse. - * @param testNumber - * @param signatureCheckCode - * @return String - * @throws Exception - */ - private String createResponse(String x509cert, String testNumber, String signatureCheckCode,String iss,String subject,String serial) throws Exception { - // - vxBean.init(configuration_.getProperty("webbaseDir")+ "resources/" + "test-ee2003_normal_extract.cer"); - - String res = null; - - res = vxBean.getHeader(); - res += subject; - res += " \n"; - res += iss; - res += serial; - res += " \n" - + x509cert - + " \n" - + " \n"; - res += " \n" + " "; - /*res += ""+readFileCR( - configuration_.getProperty("baseDir") - + "resources/testSimple.txt")+ - "";*/ - res += ""+readBinaryFileAsBase64_new((configuration_.getProperty("baseDir")+ "resources/testSimple.txt"))+""; - - res += vxBean.getFooterSignatureCheck(signatureCheckCode, "0"); - - return res; - } - - - private String createResponse(String x509cert, String testNumber, String signatureCheckCode, String hashData) throws Exception { - // - vxBean.init(configuration_.getProperty("webbaseDir")+ "resources/" + "test-ee2003_normal.der"); - - String res = null; - - res = vxBean.getHeader(); - res += vxBean.getSubjectDN(); - res += " \n"; - res += vxBean.getIssuerDN(); - res += vxBean.getSerialNumber(); - res += " \n" - + x509cert - + " \n" - + " \n"; - res += " \n"; - /* " "+ - hashData + - "\n";*/ - res += ""+Base64Utils.encode(hashData.getBytes())+""; - System.out.println(res); - res += vxBean.getFooterSignatureCheck(signatureCheckCode, "0"); - System.out.println(res); - - return res; - } - - private String createResponse(String x509cert, String testNumber, String signatureCheckCode, String hashData,String hashData2) throws Exception { - // - vxBean.init(configuration_.getProperty("webbaseDir")+ "resources/" + "test-ee2003_normal.der"); - - String res = null; - - res = vxBean.getHeader(); - res += vxBean.getSubjectDN(); - res += " \n"; - res += vxBean.getIssuerDN(); - res += vxBean.getSerialNumber(); - res += " \n" - + x509cert - + " \n" - + " \n"; - res += " \n"; - /* " "+ - hashData + - "\n";*/ - res += ""+Base64Utils.encode(hashData.getBytes())+""; - res += ""; - res += ""+Base64Utils.encode(hashData2.getBytes())+""; - res += vxBean.getFooterSignatureCheck(signatureCheckCode, "0"); - - return res; - } - - private String createResponseWithoutHashInputData(String x509cert, String testNumber, String signatureCheckCode,boolean dsig) throws Exception { - // - vxBean.init(configuration_.getProperty("webbaseDir")+ "resources/" + "test-ee2003_normal.der"); - - String res = null; - - res = vxBean.getHeader(); - res += vxBean.getSubjectDN(); - res += " \n"; - res += vxBean.getIssuerDN(); - res += vxBean.getSerialNumber(); - res += " \n" - + x509cert - + " \n" - + " \n" - + " \n" + - " " + signatureCheckCode + "\n" + - " \n"; - - if(dsig) res+=vxBean.createXMLDSIGManifestCheck("0","","1"); - res+= " \n" + - " 0\n" + - " \n" + - ""; - - return res; - } - - private String createResponseWithoutHashInputData(String x509cert, String testNumber, String signatureCheckCode) throws Exception { - // - vxBean.init(configuration_.getProperty("webbaseDir")+ "resources/" + "test-ee2003_normal.der"); - - String res = null; - - res = vxBean.getHeader(); - res += vxBean.getSubjectDN(); - res += " \n"; - res += vxBean.getIssuerDN(); - res += vxBean.getSerialNumber(); - res += " \n" - + x509cert - + " \n" - + " \n" - + " \n" + - " " + signatureCheckCode + "\n" + - " \n" + - " \n" + - " 0\n" + - " \n" + - ""; - - return res; - } - - private String createResponsePart(String x509cert) throws Exception { - - // - vxBean.init(configuration_.getProperty("webbaseDir")+ "resources/" + "test-ee2003_normal.der"); - - String res = null; - - res = vxBean.getHeader(); - res += vxBean.getSubjectDN(); - res += " \n"; - res += vxBean.getIssuerDN(); - res += vxBean.getSerialNumber(); - res += " \n"; - - res +=x509cert; - - res += " \n" - + " \n"; - /*res += " \n" + " "; - res += readFile( - configuration_.getProperty("baseDir") - + "resources/testSimple.txt"); - */ - //res += vxBean.getFooterXMLDSIGManifestCheck(xmlDSIGManifestCheckCode,"0"); - - return res; - } - - public String readFileCR(String filename) throws Exception { - - /*StringBuffer data = new StringBuffer(); - String line = null; - BufferedReader br = new BufferedReader(new FileReader(filename)); - while ((line = br.readLine()) != null) { - data.append(line); - data.append("\n"); - } - */ - String response=""; - byte[] result; - - if (filename.substring(0,4).toLowerCase().equals("http")) - { - - URL targetUrl = new URL(filename); - HttpURLConnection h = (HttpURLConnection)targetUrl.openConnection(); - InputStream is = h.getInputStream(); - - int size = 0; - - result = new byte[h.getContentLength()]; - for (int i = 0; i < result.length; i++) { - byte[] b = new byte[1]; - is.read(b); - result[i]=b[0]; - } - is.close(); - } - else - { - RandomAccessFile raf = new RandomAccessFile(filename, "r"); - if (raf.length() > Integer.MAX_VALUE) - throw new IOException("file too big to fit in byte array."); - - result = new byte[(int) raf.length()]; - raf.read(result); - raf.close(); - - } - - byte[] temp = new byte[result.length]; - int s = 0; - for (int t=0; t",""); - } - catch (Exception e) {} - - return response; - } - -private InputStream getHttpInputStream(String url) throws Exception - { - URL targetUrl = new URL(url); - HttpURLConnection h = (HttpURLConnection)targetUrl.openConnection(); - return h.getInputStream(); - } - -private String convertManifestToString(Element e) throws Exception - { - String result =(new DOMWriterImpl(true)).writeToString(e); - result = replaceString(result,"",""); - result = replaceStringAll(result,"'","'"); - result = replaceStringAll(result,"#sha1\"/>