package testgenerator;
import iaik.ixsil.algorithms.DigestAlgorithmImplSHA1;
import iaik.ixsil.algorithms.Transform;
import iaik.ixsil.algorithms.TransformImplCanonicalXML;
import iaik.ixsil.algorithms.TransformImplXSLT;
import iaik.ixsil.util.URI;
import java.io.ByteArrayInputStream;
import java.io.FileInputStream;
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 org.w3c.dom.Document;
import org.w3c.dom.Node;
import at.gv.egovernment.moa.util.Base64Utils;
/**
* @author stephan
*/
public class TestGeneratorVX2 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;
private static String etsiPropertyName = "ETSIProperties";
private static URI etsiURI;
public static void main(String[] args) throws Exception {
vxBean = new VXResponseBean();
TestGeneratorVX2 testcase = new TestGeneratorVX2();
etsiURI = new URI("http://uri.etsi.org/01903/v1.1.1#SignedProperties");
testcase.create201();
testcase.create202();
testcase.create203();
testcase.create205();
testcase.create206();
testcase.create208();
testcase.create209();
testcase.create210();
testcase.create211();
testcase.create212();
testcase.create213();
testcase.create214();
testcase.create215();
testcase.create216();
testcase.create217();
}
/* ==================================================================================================== */
public TestGeneratorVX2() 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();
}
/* ==================================================================================================== */
/**
* Method create001.
* @throws Exception
*/
/* ===================================================================================================================== */
/* ===================================================================================================================== */
/* ===================================================================================================================== */
public void create201() throws Exception
{ String testNumber = "201";
String filename = "CX1_book.xsl";
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.createReferenceWithManifest(
new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/" + filename),
"Manifest","http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest");
EtsiProperties ets = new EtsiProperties();
ets.addDataObjectFormat("#reference-1");
cpkcs.createEnvelopedDataObject(etsiPropertyName,
ets.getQualProp());
cpkcs.createReference(new URI("#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"),
etsiURI);
cpkcs.setKeyInformation();
SignatureManifestCheckParams smcp = new SignatureManifestCheckParams("true");
for (int trNr=0; trNr < tr.length; trNr++)
smcp.addDisgTransform(tr[trNr].toElement(smcp.getDoc()));
smcp.addTransPara("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/"+ filename);
smcp.addTransParaElement("Base64Content",readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/"+ filename + ""));
String request =
makeOutputFile(
createRequestStart("201 a simple request w/ SignatureManifestCheckParams (but w/o Supplement)",true,0),
cpkcs.returnSig(),
createSignatureInfoEnd() + smcp.returnDoc()
+ createRequestShortEnd(false));
writeFile(vxReqFile(testNumber),request);
//
int pos_1 = request.indexOf("");
String manifest = request.substring(pos_1,pos_2+"".length());
manifest = replaceString(manifest,"");
String etsi = request.substring(pos_1,pos_2+"".length());
//etsi = replaceStringAll(etsi,"etsi:","ns1:");
etsi = replaceString(etsi,""+
readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
""+
""+manifest+""+
""+etsi+""+
vxBean.createSignatureCheck("0")+
vxBean.createSignatureManifestCheck("0")+
vxBean.createCertificateCheck("0")+
"";
writeFile(vxResFile(testNumber), response);
}
public void create202() throws Exception
{ String testNumber = "202";
String filename = "CX1_book.xsl";
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.createReferenceWithManifest(
new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/" + filename),
"Manifest","http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest");
EtsiProperties ets = new EtsiProperties();
ets.addDataObjectFormat("#reference-1");
cpkcs.createEnvelopedDataObject(
etsiPropertyName,ets.getQualProp());
cpkcs.createReference(new URI("#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"),
etsiURI);
cpkcs.setKeyInformation();
SignatureManifestCheckParams smcp = new SignatureManifestCheckParams(null);
for (int trNr=0; trNr < tr.length; trNr++)
smcp.addDisgTransform(tr[trNr].toElement(smcp.getDoc()));
smcp.addTransPara("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/"+ filename);
smcp.addTransParaElement("Base64Content",readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/"+ filename));
String request =
makeOutputFile(
createRequestStart("202 no SignatureManifestCheckParams/@ReturnReferenceInputData" ,true,0),
cpkcs.returnSig(),
createSignatureInfoEnd() + smcp.returnDoc()
+ createRequestShortEnd(false));
writeFile(vxReqFile(testNumber),request);
int pos_1 = request.indexOf("");
String manifest = request.substring(pos_1,pos_2+"".length());
manifest = replaceString(manifest,"");
String etsi = request.substring(pos_1,pos_2+"".length());
//etsi = replaceStringAll(etsi,"etsi:","ns1:");
etsi = replaceString(etsi,""+
readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
""+
""+manifest+""+
""+etsi+""+
vxBean.createSignatureCheck("0")+
vxBean.createSignatureManifestCheck("0")+
vxBean.createCertificateCheck("0")+
"";
writeFile(vxResFile(testNumber), response);
}
public void create203() throws Exception
{ String testNumber = "203";
String filename = "CX1_book.xsl";
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.createReferenceWithManifest(
new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/" + filename),
"Manifest","http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest");
EtsiProperties ets = new EtsiProperties();
ets.addDataObjectFormat("#reference-1");
cpkcs.createEnvelopedDataObject(
etsiPropertyName,ets.getQualProp());
cpkcs.createReference(new URI("#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"),
etsiURI);
cpkcs.setKeyInformation();
SignatureManifestCheckParams smcp = new SignatureManifestCheckParams("false");
for (int trNr=0; trNr < tr.length; trNr++)
smcp.addDisgTransform(tr[trNr].toElement(smcp.getDoc()));
smcp.addTransPara("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/"+ filename);
smcp.addTransParaElement("Base64Content",readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/"+ filename));
String request =
makeOutputFile(
createRequestStart("203 SignatureManifestCheckParams/@ReturnReferenceInputData = false",true,0),
cpkcs.returnSig(),
createSignatureInfoEnd() + smcp.returnDoc()
+ createRequestShortEnd(false));
writeFile(vxReqFile(testNumber),request);
String response = createResponsePart(cpkcs.getX509CertString()) +
vxBean.createSignatureCheck("0")+
vxBean.createSignatureManifestCheck("0")+
vxBean.createCertificateCheck("0")+
"";
writeFile(vxResFile(testNumber), response);
}
public void create205() throws Exception
{ String testNumber = "205";
String filename = "CX1_book.xsl";
CreatePKCSSignature cpkcs = new CreatePKCSSignature();
cpkcs.init("signature");
cpkcs.setCanoncialization(canAlgCanXML);
Transform[] tr = new Transform[2];
TransformImplCanonicalXML trans0 = new TransformImplCanonicalXML();
InputStream s = getHttpInputStream(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref.xsl");
trans0.setInput(s,new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_bookref.xsl"));
tr[0] = trans0;
TransformImplXSLT trans = new TransformImplXSLT();
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[1] = trans;
cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1");
cpkcs.createReferenceWithManifest(
new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/" + filename),
"Manifest","http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest");
EtsiProperties ets = new EtsiProperties();
ets.addDataObjectFormat("#reference-1");
cpkcs.createEnvelopedDataObject(
etsiPropertyName,ets.getQualProp());
cpkcs.createReference(new URI("#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"),
etsiURI);
cpkcs.setKeyInformation();
SignatureManifestCheckParams smcp = new SignatureManifestCheckParams("true");
for (int trNr=0; trNr < tr.length; trNr++)
smcp.addDisgTransform(tr[trNr].toElement(smcp.getDoc()));
smcp.addTransPara("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/"+ filename);
smcp.addTransParaElement("Base64Content",readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/"+ filename ));
String request =
makeOutputFile(
createRequestStart("206 - 2 dsig:Transform elements ==> Canonisierung + Stylesheet",true,0),
cpkcs.returnSig(),
createSignatureInfoEnd() + smcp.returnDoc()
+ createRequestShortEnd(false));
writeFile(vxReqFile(testNumber),request);
int pos_1 = request.indexOf("");
String manifest = request.substring(pos_1,pos_2+"".length());
manifest = replaceString(manifest,"");
String etsi = request.substring(pos_1,pos_2+"".length());
//etsi = replaceStringAll(etsi,"etsi:","ns1:");
etsi = replaceString(etsi,""+
readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
""+
""+manifest+""+
""+etsi+""+
vxBean.createSignatureCheck("0")+
vxBean.createSignatureManifestCheck("0")+
vxBean.createCertificateCheck("0")+
"";
writeFile(vxResFile(testNumber), response);
}
public void create206() throws Exception
{ String testNumber = "206";
String filename = "CX1_book.xsl";
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.createReferenceWithManifest(
new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/" + filename),
"Manifest","http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest");
EtsiProperties ets = new EtsiProperties();
ets.addDataObjectFormat("#reference-1");
cpkcs.createEnvelopedDataObject(
etsiPropertyName,ets.getQualProp());
cpkcs.createReference(new URI("#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"),
etsiURI);
cpkcs.setKeyInformation();
SignatureManifestCheckParams smcp = new SignatureManifestCheckParams("true");
for (int trNr=0; trNr < tr.length; trNr++)
smcp.addDisgTransform(tr[trNr].toElement(smcp.getDoc()));
smcp.addTransPara("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/"+ filename);
smcp.addTransParaElement("Hash",getBase64Hash(configuration_.getProperty("baseDir")+"resources/" + filename));
String request =
makeOutputFile(
createRequestStart("206 TransformParameter/Hash statt TransformParameter/Base64Content (Der Hash wird von " + filename + " gebildet)",true,0),
cpkcs.returnSig(),
createSignatureInfoEnd() + smcp.returnDoc()
+ createRequestShortEnd(false));
writeFile(vxReqFile(testNumber),request);
int pos_1 = request.indexOf("");
String manifest = request.substring(pos_1,pos_2+"".length());
manifest = replaceString(manifest,"");
String etsi = request.substring(pos_1,pos_2+"".length());
//etsi = replaceStringAll(etsi,"etsi:","ns1:");
etsi = replaceString(etsi,""+
readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
""+
""+manifest+""+
""+etsi+""+
vxBean.createSignatureCheck("0")+
vxBean.createSignatureManifestCheck("0")+
vxBean.createCertificateCheck("0")+
"";
writeFile(vxResFile(testNumber), response);
}
public void create208() throws Exception
{ String testNumber = "208";
String filename = "CX1_book.xsl";
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.createReferenceWithManifest(
new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/" + filename),
"Manifest","http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest");
EtsiProperties ets = new EtsiProperties();
ets.addDataObjectFormat("#reference-1");
cpkcs.createEnvelopedDataObject(
etsiPropertyName,ets.getQualProp());
cpkcs.createReference(new URI("#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"),
etsiURI);
cpkcs.setKeyInformation();
SignatureManifestCheckParams smcp = new SignatureManifestCheckParams("true");
for (int trNr=0; trNr < tr.length; trNr++)
smcp.addDisgTransform(tr[trNr].toElement(smcp.getDoc()));
smcp.addTransPara("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl");
String request =
makeOutputFile(
createRequestStart("208 - weder Base64Content noch Hash wird verwendet ",true,0),
cpkcs.returnSig(),
createSignatureInfoEnd() + smcp.returnDoc()
+ createRequestShortEnd(false));
writeFile(vxReqFile(testNumber),request);
int pos_1 = request.indexOf("");
String manifest = request.substring(pos_1,pos_2+"".length());
manifest = replaceString(manifest,"");
String etsi = request.substring(pos_1,pos_2+"".length());
//etsi = replaceStringAll(etsi,"etsi:","ns1:");
etsi = replaceString(etsi,""+
readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
""+
""+manifest+""+
""+etsi+""+
vxBean.createSignatureCheck("0")+
vxBean.createSignatureManifestCheck("0")+
vxBean.createCertificateCheck("0")+
"";
writeFile(vxResFile(testNumber), response);
}
public void create209() throws Exception
{ String testNumber = "209";
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_book.xsl");
trans.setStyleSheet(s,new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"));
tr[0] = trans;
cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1");
// cpkcs.createReferenceWithManifest(
// new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/" + filename),
// "Manifest","http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest");
EtsiProperties ets = new EtsiProperties();
ets.addDataObjectFormat("#reference-1");
cpkcs.createEnvelopedDataObject(
etsiPropertyName,ets.getQualProp());
cpkcs.createReference(new URI("#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"),
etsiURI);
cpkcs.setKeyInformation();
SignatureManifestCheckParams smcp = new SignatureManifestCheckParams("true");
for (int trNr=0; trNr < tr.length; trNr++)
smcp.addDisgTransform(tr[trNr].toElement(smcp.getDoc()));
String request =
makeOutputFile(
createRequestStart("209 0 TransformParameter ==> ganzes Element raus und direkt auf CX1_book.xsl verweisen (in der Transformations-Referenz)",true,0),
cpkcs.returnSig(),
createSignatureInfoEnd() + smcp.returnDoc()
+ createRequestShortEnd(false));
writeFile(vxReqFile(testNumber),request);
/*int pos_1 = request.indexOf("");
String manifest = request.substring(pos_1,pos_2+"".length());
manifest = replaceString(manifest,"");
String etsi = request.substring(pos_1,pos_2+"".length());
//etsi = replaceStringAll(etsi,"etsi:","ns1:");
etsi = replaceString(etsi,""+
readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
""+
""+etsi+""+
vxBean.createSignatureCheck("0")+
vxBean.createSignatureManifestCheck("2")+
vxBean.createCertificateCheck("0")+
"";
writeFile(vxResFile(testNumber), response);
}
public void create210() throws Exception
{ String testNumber = "210";
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/VX2_bookref2includes.xsl");
trans.setStyleSheet(s,new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/VX2_bookref2includes.xsl"));
trans.setInput(s,null);
tr[0] = trans;
//System.out.println(getTransformsResult(tr));
cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1");
cpkcs.createReferencesWithManifest(
new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/VX2_book0.xsl"),
"Manifest",new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/VX2_book1.xsl"), "http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest");
EtsiProperties ets = new EtsiProperties();
ets.addDataObjectFormat("#reference-1");
cpkcs.createEnvelopedDataObject(etsiPropertyName,
ets.getQualProp());
cpkcs.createReference(new URI("#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"),
etsiURI);
cpkcs.setKeyInformation();
SignatureManifestCheckParams smcp = new SignatureManifestCheckParams("true");
for (int trNr=0; trNr < tr.length; trNr++)
smcp.addDisgTransform(tr[trNr].toElement(smcp.getDoc()));
smcp.addTransPara("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/VX2_book0.xsl");
smcp.addTransParaElement("Base64Content",readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/VX2_book0.xsl"));
smcp.addTransPara("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/VX2_book1.xsl");
smcp.addTransParaElement("Base64Content",readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/VX2_book1.xsl"));
String request =
makeOutputFile(
createRequestStart("210 2 includes",true,0),
cpkcs.returnSig(),
createSignatureInfoEnd() + smcp.returnDoc()
+ createRequestShortEnd(false));
writeFile(vxReqFile(testNumber),request);
int pos_1 = request.indexOf("");
String manifest = request.substring(pos_1,pos_2+"".length());
manifest = replaceString(manifest,"");
String etsi = request.substring(pos_1,pos_2+"".length());
//etsi = replaceStringAll(etsi,"etsi:","ns1:");
etsi = replaceString(etsi,""+
readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
""+
""+manifest+""+
""+etsi+""+
vxBean.createSignatureCheck("0")+
vxBean.createSignatureManifestCheck("0")+
vxBean.createCertificateCheck("0")+
"";
writeFile(vxResFile(testNumber), response);
}
public void create211() throws Exception
{ String testNumber = "211";
String filename = "CX1_book.xsl";
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.createReferenceWithManifest(
new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/" + filename),
"Manifest","http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest");
EtsiProperties ets = new EtsiProperties();
ets.addDataObjectFormat("#reference-1");
cpkcs.createEnvelopedDataObject(etsiPropertyName,
ets.getQualProp());
cpkcs.createReference(new URI("#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"),
etsiURI);
cpkcs.setKeyInformation();
SignatureManifestCheckParams smcp = new SignatureManifestCheckParams("true");
/*for (int trNr=0; trNr < tr.length; trNr++)
smcp.addDisgTransform(tr[trNr].toElement(smcp.getDoc()));
smcp.addTransPara("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl");
smcp.addTransParaElement("Base64Content",readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl"));*/
smcp.addTransformsProfileID("TransformsInfoProfile1");
smcp.addTransformsProfileID("TransformsInfoProfile2");
String request =
makeOutputFile(
createRequestStart("211 2 VerifyTransformsInfoID ==> Statt TransformsInfoProfile , in ein IntoProfileID auf Datei mit orig.Daten des TransInfoProfile verweisen, das andere auf ein Transforms, das nur Canonisiserung enthaelt",true,0),
cpkcs.returnSig(),
createSignatureInfoEnd() + smcp.returnDoc()
+ createRequestShortEnd(false));
writeFile(vxReqFile(testNumber),request);
int pos_1 = request.indexOf("");
String manifest = request.substring(pos_1,pos_2+"".length());
manifest = replaceString(manifest,"");
String etsi = request.substring(pos_1,pos_2+"".length());
//etsi = replaceStringAll(etsi,"etsi:","ns1:");
etsi = replaceString(etsi,""+
readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
""+
""+manifest+""+
""+etsi+""+
vxBean.createSignatureCheck("0")+
vxBean.createSignatureManifestCheck("0")+
vxBean.createCertificateCheck("0")+
"";
writeFile(vxResFile(testNumber), response);
}
public void create212() throws Exception
{ String testNumber = "212";
String filepath = configuration_.getProperty("webbaseDir")+"resources/";
String filename = "CX1_book.xsl";
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.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-2");
cpkcs.createReferenceWithManifest(
new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/" + filename),
"Manifest","http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest");
EtsiProperties ets = new EtsiProperties();
ets.addDataObjectFormat("#reference-1");
ets.addDataObjectFormat("#reference-2");
cpkcs.createEnvelopedDataObject(
etsiPropertyName,ets.getQualProp());
//2. DataObject Format
cpkcs.createReference(new URI("#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"),etsiURI);
cpkcs.setKeyInformation();
SignatureManifestCheckParams smcp = new SignatureManifestCheckParams("true");
for (int trNr=0; trNr < tr.length; trNr++)
smcp.addDisgTransform(tr[trNr].toElement(smcp.getDoc()));
smcp.addTransPara("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/"+ filename);
smcp.addTransParaElement("Base64Content",readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/"+ filename ));
SignatureManifestCheckParams smcp2 = new SignatureManifestCheckParams(null);
for (int trNr=0; trNr < tr.length; trNr++)
smcp2.addDisgTransform(tr[trNr].toElement(smcp2.getDoc()));
smcp2.addTransPara("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/"+ filename);
smcp2.addTransParaElement("Base64Content",readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/"+ filename ));
String signManiDoc = replaceString(smcp.returnDoc(),"","") +
replaceString(smcp2.returnDoc(),"","");
String request =
makeOutputFile(
createRequestStart("212 2 ReferenceInfo (for 2 dsig:Reference (pplus Manifest + SignedProperties) : etsi:DataObjectFormat 2mal, Reference 2mal, Manifest 1mal, ReferenceInfo 2mal)",true,0),
cpkcs.returnSig(),
createSignatureInfoEnd() + signManiDoc
+ createRequestShortEnd(false));
writeFile(vxReqFile(testNumber),request);
int pos_1 = request.indexOf("");
String manifest = request.substring(pos_1,pos_2+"".length());
manifest = replaceString(manifest,"");
String etsi = request.substring(pos_1,pos_2+"".length());
//etsi = replaceStringAll(etsi,"etsi:","ns1:");
etsi = replaceString(etsi,""+
readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
""+
""+
readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
""+
""+manifest+""+
""+etsi+""+
vxBean.createSignatureCheck("0")+
vxBean.createSignatureManifestCheck("0")+
vxBean.createCertificateCheck("0")+
"";
writeFile(vxResFile(testNumber), response);
}
public void create213() throws Exception
{
String testNumber = "213";
String filepath = configuration_.getProperty("webbaseDir")+"resources/";
String filename = "CX1_book.xsl";
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.createReferenceWithManifest(
new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/" + filename),
"Manifest","http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest");
EtsiProperties ets = new EtsiProperties();
ets.addDataObjectFormat("#reference-1");
cpkcs.createEnvelopedDataObject(etsiPropertyName,
ets.getQualProp());
cpkcs.createReference(new URI("#xpointer(id('" + etsiPropertyName + "'))/*/*"),
etsiURI);
cpkcs.setKeyInformation();
SignatureManifestCheckParams smcp = new SignatureManifestCheckParams("true");
for (int trNr=0; trNr < tr.length; trNr++)
smcp.addDisgTransform(tr[trNr].toElement(smcp.getDoc()));
String request =
makeOutputFile(
createRequestStart("213 kein TransformParameter element obwohl in Transforms URIs referenziert werden",true,0),
cpkcs.returnSig(),
createSignatureInfoEnd() + smcp.returnDoc()
+ createRequestShortEnd(false));
writeFile(vxReqFile(testNumber),request);
int pos_1 = request.indexOf("");
String manifest = request.substring(pos_1,pos_2+"".length());
manifest = replaceString(manifest,"");
String etsi = request.substring(pos_1,pos_2+"".length());
//etsi = replaceStringAll(etsi,"etsi:","ns1:");
etsi = replaceString(etsi,"");
pos_2 = request.substring(pos_1).indexOf("");
String etsi = request.substring(pos_1,pos_1+pos_2+"".length());
etsi = replaceString(etsi,"","");
String response = createResponsePart(cpkcs.getX509CertString()) +
""+
readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
""+
""+manifest+""+
""+etsi+""+
vxBean.createSignatureCheck("0")+
vxBean.createSignatureManifestCheck("1","1")+
vxBean.createCertificateCheck("0")+
"";
writeFile(vxResFile(testNumber), response);
}
public void create214() throws Exception
{
String testNumber = "214";
String filepath = configuration_.getProperty("webbaseDir")+"resources/";
String filename = "CX1_book.xsl";
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.createReferenceWithManifest(
new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/" + filename),
"Manifest","http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest");
EtsiProperties ets = new EtsiProperties();
ets.addDataObjectFormat("#reference-1");
cpkcs.createEnvelopedDataObject(etsiPropertyName,
ets.getQualProp());
cpkcs.createReference(new URI("#xpointer(id('" + etsiPropertyName + "'))/*/*"),
etsiURI);
cpkcs.setKeyInformation();
SignatureManifestCheckParams smcp = new SignatureManifestCheckParams("true");
smcp.addTransformsProfileID("TransformsInfoProfile2");
String request =
makeOutputFile(
createRequestStart("214 1 VerifyTransformsInfoID ==> Passt aber nicht zur Transformation (XSLT <==> Canonisiserung)",true,0),
cpkcs.returnSig(),
createSignatureInfoEnd() + smcp.returnDoc()
+ createRequestShortEnd(false));
writeFile(vxReqFile(testNumber),request);
int pos_1 = request.indexOf("");
String manifest = request.substring(pos_1,pos_2+"".length());
manifest = replaceString(manifest,"");
pos_2 = request.substring(pos_1).indexOf("");
String etsi = request.substring(pos_1,pos_1+pos_2+"".length());
etsi = replaceString(etsi,"","");
String response = createResponsePart(cpkcs.getX509CertString()) +
""+
readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
""+
""+manifest+""+
""+etsi+""+
vxBean.createSignatureCheck("0")+
vxBean.createSignatureManifestCheck("1","1")+
vxBean.createCertificateCheck("0")+
"";
writeFile(vxResFile(testNumber), response);
}
public void create215() throws Exception
{ String testNumber = "215";
String filepath = configuration_.getProperty("webbaseDir")+"resources/";
String filename = "CX1_book.xsl";
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;
//Reference 1
cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1");
cpkcs.createReferenceWithManifest(
new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/" + filename),
"Manifest","http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest");
EtsiProperties ets = new EtsiProperties();
ets.addDataObjectFormat("#reference-1");
//ets.addDataObjectFormat("#reference-2");
cpkcs.createEnvelopedDataObject(
etsiPropertyName,ets.getQualProp());
cpkcs.createReference(new URI("#xpointer(id('" + etsiPropertyName + "')/*/*)"),etsiURI);
cpkcs.setKeyInformation();
SignatureManifestCheckParams smcp = new SignatureManifestCheckParams("true");
for (int trNr=0; trNr < tr.length; trNr++)
smcp.addDisgTransform(tr[trNr].toElement(smcp.getDoc()));
smcp.addTransPara("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/"+ filename);
smcp.addTransParaElement("Base64Content",readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/"+ filename));
SignatureManifestCheckParams smcp2 = new SignatureManifestCheckParams(null);
for (int trNr=0; trNr < tr.length; trNr++)
smcp2.addDisgTransform(tr[trNr].toElement(smcp2.getDoc()));
smcp2.addTransPara("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/"+ filename);
smcp2.addTransParaElement("Base64Content",readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/"+ filename));
String signManiDoc = replaceString(smcp.returnDoc(),"","") +
replaceString(smcp2.returnDoc(),"","");
String request =
makeOutputFile(
createRequestStart("215 number of ReferenceInfo is different from number of dsig:Reference in the signature",true,0),
cpkcs.returnSig(),
createSignatureInfoEnd() + signManiDoc
+ createRequestShortEnd(false));
writeFile(vxReqFile(testNumber),request);
//writeFile(vxResErrFile(testNumber),"2271");
int pos_1 = request.indexOf("");
String manifest = request.substring(pos_1,pos_2+"".length());
manifest = replaceString(manifest,"");
String etsi = request.substring(pos_1,pos_2+"".length());
//etsi = replaceStringAll(etsi,"etsi:","ns1:");
etsi = replaceString(etsi,""+
readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
""+
""+manifest+""+
""+etsi+""+
vxBean.createSignatureCheck("0")+
vxBean.createSignatureManifestCheck("1")+
vxBean.createCertificateCheck("0")+
"";
writeFile(vxResFile(testNumber), response);
}
public void create216() throws Exception
{
String testNumber = "216";
String filepath = configuration_.getProperty("webbaseDir")+"resources/";
String filename = "CX1_book.xsl";
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;
//Reference 1
cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1");
cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-2");
cpkcs.createReferenceWithManifest(
new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/" + filename),
"Manifest","http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest");
EtsiProperties ets = new EtsiProperties();
ets.addDataObjectFormat("#reference-1");
ets.addDataObjectFormat("#reference-2");
cpkcs.createEnvelopedDataObject(
etsiPropertyName,ets.getQualProp());
cpkcs.createReference(new URI("#xpointer(id('" + etsiPropertyName + "')/*/*)"),etsiURI);
cpkcs.setKeyInformation();
SignatureManifestCheckParams smcp = new SignatureManifestCheckParams("true");
for (int trNr=0; trNr < tr.length; trNr++)
smcp.addDisgTransform(tr[trNr].toElement(smcp.getDoc()));
smcp.addTransPara("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/"+ filename);
smcp.addTransParaElement("Base64Content",readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/"+ filename));
String request =
makeOutputFile(
createRequestStart("216 number of References id bigger then number of ReferenceInfos",true,0),
cpkcs.returnSig(),
createSignatureInfoEnd() + smcp.returnDoc()
+ createRequestShortEnd(false));
writeFile(vxReqFile(testNumber),request);
//writeFile(vxResErrFile(testNumber),"2271");
int pos_1 = request.indexOf("");
String manifest = request.substring(pos_1,pos_2+"".length());
manifest = replaceString(manifest,"");
String etsi = request.substring(pos_1,pos_2+"".length());
//etsi = replaceStringAll(etsi,"etsi:","ns1:");
etsi = replaceString(etsi,""+
readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
""+
""+
readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
""+
""+manifest+""+
""+etsi+""+
vxBean.createSignatureCheck("0")+
vxBean.createSignatureManifestCheck("1")+
vxBean.createCertificateCheck("0")+
"";
writeFile(vxResFile(testNumber), response);
}
public void create217() throws Exception
{ String testNumber = "217";
String filepath = configuration_.getProperty("webbaseDir")+"resources/";
String filename = "CX1_book.xsl";
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.createReferenceWithManifest(
new URI("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/" + filename),
"Manifest","http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest");
EtsiProperties ets = new EtsiProperties();
ets.addDataObjectFormat("#reference-1");
cpkcs.createEnvelopedDataObject(etsiPropertyName, ets.getQualProp());
cpkcs.createReference(new URI("#xpointer(id('" + etsiPropertyName + "'))/*/*"), etsiURI);
cpkcs.setKeyInformation();
SignatureManifestCheckParams smcp = new SignatureManifestCheckParams("true");
for (int trNr=0; trNr < tr.length; trNr++)
smcp.addDisgTransform(tr[trNr].toElement(smcp.getDoc()));
smcp.addTransPara("http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/"+ filename);
smcp.addTransParaElement("Hash",getBase64Hash(configuration_.getProperty("baseDir")+"resources/" + filename));
String request =
makeOutputFile(
createRequestStart("217 - TransformParameter/@URI resolves but Hash does not match - which hashing algorithm?",true,0),
cpkcs.returnSig(),
createSignatureInfoEnd() + smcp.returnDoc()
+ createRequestShortEnd(false));
request = replaceString(request,"",
"abcd");
writeFile(vxReqFile(testNumber),request);
//writeFile(vxResErrFile(testNumber),"2205");
int pos_1 = request.indexOf("");
String manifest = request.substring(pos_1,pos_2+"".length());
manifest = replaceString(manifest,"");
pos_2 = request.substring(pos_1).indexOf("");
String etsi = request.substring(pos_1,pos_1+pos_2+"".length());
etsi = replaceString(etsi,"","");
String response = createResponsePart(cpkcs.getX509CertString()) +
""+
readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
""+
""+manifest+""+
""+etsi+""+
vxBean.createSignatureCheck("0")+
vxBean.createSignatureManifestCheck("1","1")+
vxBean.createCertificateCheck("0")+
"";
writeFile(vxResFile(testNumber), response);
}
/**
* 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"
+ "\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;
}
private String getBase64Hash(String filename) throws Exception
{
DigestAlgorithmImplSHA1 dig = new DigestAlgorithmImplSHA1();
dig.setInput(new FileInputStream(filename));
InputStream erg = dig.digest();
String result = "";
int size = erg.available();
byte[] b = new byte[size];
erg.read(b);
return Base64Utils.encode(b);
}
/**
* 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" +
" "+readFile(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 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"
+ " \n"
+ " \n";
res += " \n" + " ";
res += readFile(
configuration_.getProperty("webbaseDir")
+ "resources/testDaten.txt")+
"";
res += vxBean.getFooterSignatureCheck(signatureCheckCode, "0");
return res;
}
private String createResponse(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"
+ " \n"
+ " \n";
res += " \n" +
" "+
hashData +
"\n";
res += vxBean.getFooterSignatureCheck(signatureCheckCode, "0");
return res;
}
private String createResponseWithoutHashInputData(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"
+ " \n"
+ " \n"
+ " \n" +
" " + signatureCheckCode + "
\n" +
" \n" +
" \n" +
" 0
\n" +
" \n" +
"";
return res;
}
/* private String createResponseXMLDsigCheck(String testNumber, String xmlDSIGManifestCheckCode) 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"
+ " \n"
+ " \n";
res += " \n" + " ";
res += readFile(
configuration_.getProperty("webbaseDir")
+ "resources/testDaten.txt");
res += vxBean.getFooterXMLDSIGManifestCheck(xmlDSIGManifestCheckCode,"0");
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"
+ x509cert
+ " \n"
+ " \n";
/*res += " \n" + " ";
res += readFile(
configuration_.getProperty("webbaseDir")
+ "resources/testDaten.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
{
return ((HttpURLConnection)new URL(url).openConnection()).getInputStream();
}
}