aboutsummaryrefslogtreecommitdiff
path: root/spss.test/src/testgenerator
diff options
context:
space:
mode:
Diffstat (limited to 'spss.test/src/testgenerator')
-rw-r--r--spss.test/src/testgenerator/CMSKeyStore.java198
-rw-r--r--spss.test/src/testgenerator/CMSKeyStoreConstants.java51
-rw-r--r--spss.test/src/testgenerator/CreatePKCSSignature.java874
-rw-r--r--spss.test/src/testgenerator/DataGenerator.java45
-rw-r--r--spss.test/src/testgenerator/EtsiProperties.java113
-rw-r--r--spss.test/src/testgenerator/LauchAll.java28
-rw-r--r--spss.test/src/testgenerator/LaunchVX.java24
-rw-r--r--spss.test/src/testgenerator/Pass.java22
-rw-r--r--spss.test/src/testgenerator/SetupCMSKeyStore.java671
-rw-r--r--spss.test/src/testgenerator/SignatureManifestCheckParams.java176
-rw-r--r--spss.test/src/testgenerator/Supplement.java62
-rw-r--r--spss.test/src/testgenerator/TestCMS.java118
-rw-r--r--spss.test/src/testgenerator/TestCases.java611
-rw-r--r--spss.test/src/testgenerator/TestGeneratorCX0.java2940
-rw-r--r--spss.test/src/testgenerator/TestGeneratorCX1.java1054
-rw-r--r--spss.test/src/testgenerator/TestGeneratorCX2.java1050
-rw-r--r--spss.test/src/testgenerator/TestGeneratorFeature41.java1167
-rw-r--r--spss.test/src/testgenerator/TestGeneratorVC0.java1057
-rw-r--r--spss.test/src/testgenerator/TestGeneratorVX.java2793
-rw-r--r--spss.test/src/testgenerator/TestGeneratorVX2.java1600
-rw-r--r--spss.test/src/testgenerator/TestGeneratorVXErrors.java1775
-rw-r--r--spss.test/src/testgenerator/TestPKCS12.java107
-rw-r--r--spss.test/src/testgenerator/VXResponseBean.java180
23 files changed, 0 insertions, 16716 deletions
diff --git a/spss.test/src/testgenerator/CMSKeyStore.java b/spss.test/src/testgenerator/CMSKeyStore.java
deleted file mode 100644
index a85da893b..000000000
--- a/spss.test/src/testgenerator/CMSKeyStore.java
+++ /dev/null
@@ -1,198 +0,0 @@
-// Copyright (C) 1997-2002 IAIK
-// email: jce-info@iaik.tu-graz.ac.at
-//
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// 2. Redistributions in binary form must reproduce the above copyright
-// notice, this list of conditions and the following disclaimer in the
-// documentation and/or other materials provided with the distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-// SUCH DAMAGE.
-//
-// $Header$
-//
-// $Header$
-//
-
-package testgenerator;
-
-import iaik.utils.Util;
-import iaik.x509.X509Certificate;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.security.KeyStore;
-import java.security.PrivateKey;
-
-public class CMSKeyStore implements CMSKeyStoreConstants {
-
- static Object[][] certificates = new Object[3][7];
- static PrivateKey[][] keys = new PrivateKey[3][7];
- static X509Certificate[] ca_certificates = new X509Certificate[2];
- static PrivateKey[] ca_keys = new PrivateKey[2];
-
- public final static int RSA = 0;
- public final static int DSA = 1;
- public final static int ESDH = 2;
-
- public final static int SZ_512_SIGN = 0;
- public final static int SZ_1024_SIGN = 1;
- public final static int SZ_2048_SIGN = 2;
- public final static int SZ_512_CRYPT = 3;
- public final static int SZ_1024_CRYPT = 4;
- public final static int SZ_1024_CRYPT_ = 5;
- public final static int SZ_2048_CRYPT = 6;
-
- static KeyStore key_store;
-
- static {
- System.out.println("initializing KeyStore...");
- loadKeyStore();
- initKeyStore();
- }
-
- private static void loadKeyStore() {
- // try to locate the KeyStore
- // first check the current working directory
- System.out.println("User.dir:"+System.getProperty("user.dir"));
- File ks = new File(System.getProperty("user.dir"), KS_FILENAME);
- if (!ks.exists()) {
- System.out.println("Can not find the KeyStore in directory:");
- System.out.println(ks.getAbsolutePath());
- System.exit(1);
- }
-
- // now try to create and load the KeyStore
- try {
- key_store = KeyStore.getInstance("IAIKKeyStore");
- key_store.load(new FileInputStream(ks), KS_PASSWORD);
- } catch (Exception ex) {
- System.out.println("Unable to load KeyStore!");
- ex.printStackTrace();
- System.exit(1);
- }
- }
-
- private static void initKeyStore() {
-
- try {
- ca_certificates[RSA] = Util.convertCertificateChain(key_store.getCertificateChain(CA_RSA))[0];
- ca_keys[RSA] = (PrivateKey)key_store.getKey(CA_RSA, KS_PASSWORD);
-
- // RSA for signing
- certificates[RSA][SZ_512_SIGN] = Util.convertCertificateChain(key_store.getCertificateChain(RSA_512_SIGN));
- keys[RSA][SZ_512_SIGN] = (PrivateKey)key_store.getKey(RSA_512_SIGN, KS_PASSWORD);
- certificates[RSA][SZ_1024_SIGN] = Util.convertCertificateChain(key_store.getCertificateChain(RSA_1024_SIGN));
- keys[RSA][SZ_1024_SIGN] = (PrivateKey)key_store.getKey(RSA_1024_SIGN, KS_PASSWORD);
- certificates[RSA][SZ_2048_SIGN] = Util.convertCertificateChain(key_store.getCertificateChain(RSA_2048_SIGN));
- keys[RSA][SZ_2048_SIGN] = (PrivateKey)key_store.getKey(RSA_2048_SIGN, KS_PASSWORD);
- // RSA for encrypting
- certificates[RSA][SZ_512_CRYPT] = Util.convertCertificateChain(key_store.getCertificateChain(RSA_512_CRYPT));
- keys[RSA][SZ_512_CRYPT] = (PrivateKey)key_store.getKey(RSA_512_CRYPT, KS_PASSWORD);
- certificates[RSA][SZ_1024_CRYPT] = Util.convertCertificateChain(key_store.getCertificateChain(RSA_1024_CRYPT));
- keys[RSA][SZ_1024_CRYPT] = (PrivateKey)key_store.getKey(RSA_1024_CRYPT, KS_PASSWORD);
- certificates[RSA][SZ_1024_CRYPT_] = Util.convertCertificateChain(key_store.getCertificateChain(RSA_1024_CRYPT_));
- keys[RSA][SZ_1024_CRYPT_] = (PrivateKey)key_store.getKey(RSA_1024_CRYPT_, KS_PASSWORD);
- certificates[RSA][SZ_2048_CRYPT] = Util.convertCertificateChain(key_store.getCertificateChain(RSA_2048_CRYPT));
- keys[RSA][SZ_2048_CRYPT] = (PrivateKey)key_store.getKey(RSA_2048_CRYPT, KS_PASSWORD);
- } catch (Exception ex) {
- System.out.println("Unable to get RSA certificates from KeyStore.");
- ex.printStackTrace();
- }
-
- try {
- ca_certificates[DSA] = Util.convertCertificateChain(key_store.getCertificateChain(CA_DSA))[0];
- ca_keys[DSA] = (PrivateKey)key_store.getKey(CA_DSA, KS_PASSWORD);
-
- certificates[DSA][SZ_512_SIGN] = Util.convertCertificateChain(key_store.getCertificateChain(DSA_512));
- keys[DSA][SZ_512_SIGN] = (PrivateKey)key_store.getKey(DSA_512, KS_PASSWORD);
- certificates[DSA][SZ_1024_SIGN] = Util.convertCertificateChain(key_store.getCertificateChain(DSA_1024));
- keys[DSA][SZ_1024_SIGN] = (PrivateKey)key_store.getKey(DSA_1024, KS_PASSWORD);
-
- } catch (Exception ex) {
- System.out.println("Unable to get DSA certificate from KeyStore.");
- ex.printStackTrace();
- }
-
- /*try {
- certificates[ESDH][SZ_512_CRYPT] = Util.convertCertificateChain(key_store.getCertificateChain(ESDH_512));
- keys[ESDH][SZ_512_CRYPT] = (PrivateKey)key_store.getKey(ESDH_512, KS_PASSWORD);
- certificates[ESDH][SZ_1024_CRYPT] = Util.convertCertificateChain(key_store.getCertificateChain(ESDH_1024));
- keys[ESDH][SZ_1024_CRYPT] = (PrivateKey)key_store.getKey(ESDH_1024, KS_PASSWORD);
- certificates[ESDH][SZ_1024_CRYPT_] = Util.convertCertificateChain(key_store.getCertificateChain(ESDH_1024_));
- keys[ESDH][SZ_1024_CRYPT_] = (PrivateKey)key_store.getKey(ESDH_1024_, KS_PASSWORD);
- certificates[ESDH][SZ_2048_CRYPT] = Util.convertCertificateChain(key_store.getCertificateChain(ESDH_2048));
- keys[ESDH][SZ_2048_CRYPT] = (PrivateKey)key_store.getKey(ESDH_2048, KS_PASSWORD);
- } catch (Exception ex) {
- System.out.println("Unable to get Diffie-Hellman certificate from KeyStore.");
- ex.printStackTrace();
- }*/
- }
-
- /**
- * Returns the private key of a CA certificate.
- *
- * @param type {@link #RSA RSA} or {@link #DSA DSA} or {@link #ESDH ESDH}
- */
- public static PrivateKey getPrivateKey(int type, int size) {
- try {
- return keys[type][size];
- } catch (ArrayIndexOutOfBoundsException ex) {
- throw new RuntimeException("Wrong type or size!");
- }
- }
-
- /**
- * Returns a demo user certificate.
- *
- * @param type {@link #RSA RSA} or {@link #DSA DSA} or {@link #ESDH ESDH}
- */
- public static X509Certificate[] getCertificateChain(int type, int size) {
- try {
- return (X509Certificate[])certificates[type][size];
- } catch (ArrayIndexOutOfBoundsException ex) {
- throw new RuntimeException("Wrong type or size!");
- }
- }
-
- /**
- * Returns the private key of a CA certificate.
- *
- * @param type {@link #RSA RSA} or {@link #DSA DSA}
- */
- public static PrivateKey getCaPrivateKey(int type) {
- try {
- return ca_keys[type];
- } catch (ArrayIndexOutOfBoundsException ex) {
- throw new RuntimeException("Wrong type or size!");
- }
- }
-
- /**
- * Returns a demo CA certificate.
- *
- * @param type {@link #RSA RSA} or {@link #DSA DSA}
- */
- public static X509Certificate getCaCertificate(int type) {
- try {
- return ca_certificates[type];
- } catch (ArrayIndexOutOfBoundsException ex) {
- throw new RuntimeException("Wrong type or size!");
- }
- }
-}
diff --git a/spss.test/src/testgenerator/CMSKeyStoreConstants.java b/spss.test/src/testgenerator/CMSKeyStoreConstants.java
deleted file mode 100644
index 6e4892d64..000000000
--- a/spss.test/src/testgenerator/CMSKeyStoreConstants.java
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright (C) 1997-2002 IAIK
-// email: jce-info@iaik.tu-graz.ac.at
-//
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// 2. Redistributions in binary form must reproduce the above copyright
-// notice, this list of conditions and the following disclaimer in the
-// documentation and/or other materials provided with the distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-// SUCH DAMAGE.
-//
-// $Header$
-//
-
-package testgenerator;
-
-public interface CMSKeyStoreConstants {
- public final static String CA_RSA = "CA.RSA";
- public final static String CA_DSA = "CA.DSA";
- public final static String RSA_512_SIGN = "RSA_SIGN.512";
- public final static String RSA_512_CRYPT = "RSA_CRYPT.512";
- public final static String RSA_1024_SIGN = "RSA_SIGN.1024";
- public final static String RSA_1024_CRYPT = "RSA_CRYPT.1024";
- public final static String RSA_1024_CRYPT_ = "RSA_CRYPT_.1024";
- public final static String RSA_2048_SIGN = "RSA_SIGN.2048";
- public final static String RSA_2048_CRYPT = "RSA_CRYPT.2048";
- public final static String DSA_512 = "DSA.512";
- public final static String DSA_1024 = "DSA.1024";
- public final static String ESDH_512 = "ESDH.512";
- public final static String ESDH_1024 = "ESDH.1024";
- public final static String ESDH_1024_ = "ESDH_.1024";
- public final static String ESDH_2048 = "ESDH.2048";
- public final static String KS_FILENAME = "resources/cms.keystore";
- public final static char[] KS_PASSWORD = "topSecret".toCharArray();
-}
- \ No newline at end of file
diff --git a/spss.test/src/testgenerator/CreatePKCSSignature.java b/spss.test/src/testgenerator/CreatePKCSSignature.java
deleted file mode 100644
index 896daf6d1..000000000
--- a/spss.test/src/testgenerator/CreatePKCSSignature.java
+++ /dev/null
@@ -1,874 +0,0 @@
-package testgenerator;
-
-import iaik.ixsil.algorithms.CanonicalizationAlgorithm;
-import iaik.ixsil.algorithms.CanonicalizationAlgorithmImplCanonicalXML;
-import iaik.ixsil.algorithms.CanonicalizationAlgorithmImplCanonicalXMLWithComments;
-import iaik.ixsil.algorithms.CanonicalizationAlgorithmImplExclusiveCanonicalXML;
-import iaik.ixsil.algorithms.CanonicalizationAlgorithmImplExclusiveCanonicalXMLWithComments;
-import iaik.ixsil.algorithms.DigestAlgorithmImplSHA1;
-import iaik.ixsil.algorithms.SignatureAlgorithmImplECDSA;
-import iaik.ixsil.algorithms.SignatureAlgorithmImplRSA;
-import iaik.ixsil.algorithms.Transform;
-import iaik.ixsil.core.Position;
-import iaik.ixsil.core.Signer;
-import iaik.ixsil.core.SignerManifest;
-import iaik.ixsil.core.SignerReference;
-import iaik.ixsil.core.SignerSignature;
-import iaik.ixsil.core.SignerSignedInfo;
-import iaik.ixsil.core.URIResolverParameters;
-import iaik.ixsil.init.IXSILConstants;
-import iaik.ixsil.keyinfo.KeyManagerImpl;
-import iaik.ixsil.keyinfo.retrieval.KeyProviderImplRetrievalMethod;
-import iaik.ixsil.keyinfo.retrieval.RetrievalMethod;
-import iaik.ixsil.keyinfo.x509.KeyProviderImplX509Data;
-import iaik.ixsil.keyinfo.x509.X509Data;
-import iaik.ixsil.util.URI;
-import iaik.pkcs.pkcs12.PKCS12;
-import iaik.security.ecc.interfaces.ECDSAPrivateKey;
-import iaik.utils.Base64OutputStream;
-import java.io.ByteArrayOutputStream;
-import java.security.cert.X509Certificate;
-import java.security.interfaces.RSAPrivateKey;
-
-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.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-
-
-/**
- * @author Stevie (Admin)
- *
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates.
- * To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class CreatePKCSSignature 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 Document doc;
- public Signer signer;
- private SignerSignature signature;
- private SignerSignedInfo signedInfo;
- private PKCS12 pkcs12;
- private String x509CertString;
- public CreatePKCSSignature() throws Exception {
- iaik.security.provider.IAIK.addAsProvider();
- iaik.security.ecc.provider.ECCProvider.addAsProvider();
- }
-
- // Schritt 1
-
- public void init() throws Exception{
- pkcs12 = decryptPKCS12(
- configuration_.getProperty("PKCS12file"),
- configuration_.getProperty("PKCS12password"));
-
- // Create signature generator
- URI baseURI = new URI(IXSILConstants.DUMMY_ABSURI_);
- signer = new Signer(baseURI);
-
- // Configure signed information
-
- // Get interface for signed information
- signature = signer.getSignature();
- signedInfo = signer.getSignature().getSignerSignedInfo();
-
- // Set signature algorithm
- SignatureAlgorithmImplRSA signatureAlg =
- new SignatureAlgorithmImplRSA();
- RSAPrivateKey privateKey = getPrivateKey(pkcs12);
- signatureAlg.setSignerKey(privateKey);
- signedInfo.setSignatureAlgorithm(signatureAlg);
-
- }
- public void init(String iD) throws Exception{
- pkcs12 = decryptPKCS12(
- configuration_.getProperty("PKCS12file"),
- configuration_.getProperty("PKCS12password"));
-
- // Create signature generator
- URI baseURI = new URI(IXSILConstants.DUMMY_ABSURI_);
- signer = new Signer(baseURI);
-
- // Configure signed information
-
- // Get interface for signed information
- signature = signer.getSignature();
- signedInfo = signer.getSignature().getSignerSignedInfo();
-
- // Set signature algorithm
- SignatureAlgorithmImplRSA signatureAlg =
- new SignatureAlgorithmImplRSA();
- RSAPrivateKey privateKey = getPrivateKey(pkcs12);
- signatureAlg.setSignerKey(privateKey);
- signedInfo.setSignatureAlgorithm(signatureAlg);
- signature.setId(iD);
- }
-
- public void init(Document doc, Position position) throws Exception{
- pkcs12 = decryptPKCS12(
- configuration_.getProperty("PKCS12file"),
- configuration_.getProperty("PKCS12password"));
-
- // Create signature generator
- URI baseURI = new URI(IXSILConstants.DUMMY_ABSURI_);
- signer = new Signer(doc, baseURI, position);
-
- // Configure signed information
-
- // Get interface for signed information
- signature = signer.getSignature();
- signedInfo = signer.getSignature().getSignerSignedInfo();
-
- // Set signature algorithm
- SignatureAlgorithmImplRSA signatureAlg =
- new SignatureAlgorithmImplRSA();
- RSAPrivateKey privateKey = getPrivateKey(pkcs12);
- signatureAlg.setSignerKey(privateKey);
- signedInfo.setSignatureAlgorithm(signatureAlg);
-
- }
-
- public void init(Document doc, Position position,String iD) throws Exception{
- pkcs12 = decryptPKCS12(
- configuration_.getProperty("PKCS12file"),
- configuration_.getProperty("PKCS12password"));
-
- // Create signature generator
- URI baseURI = new URI(IXSILConstants.DUMMY_ABSURI_);
- signer = new Signer(doc, baseURI, position);
-
- // Configure signed information
-
- // Get interface for signed information
- signature = signer.getSignature();
- signedInfo = signer.getSignature().getSignerSignedInfo();
-
- // Set signature algorithm
- SignatureAlgorithmImplRSA signatureAlg =
- new SignatureAlgorithmImplRSA();
- RSAPrivateKey privateKey = getPrivateKey(pkcs12);
- signatureAlg.setSignerKey(privateKey);
- signedInfo.setSignatureAlgorithm(signatureAlg);
- signature.setId(iD);
-
- }
-
-
- public void initECDSA() throws Exception{
- pkcs12 = decryptPKCS12(
- configuration_.getProperty("ECDSPKCS12file"),
- configuration_.getProperty("ECDSPKCS12password"));
-
- // Create signature generator
- URI baseURI = new URI(IXSILConstants.DUMMY_ABSURI_);
- signer = new Signer(baseURI);
-
- // Configure signed information
-
- // Get interface for signed information
- signature = signer.getSignature();
- signedInfo = signer.getSignature().getSignerSignedInfo();
-
- // Set signature algorithm
- SignatureAlgorithmImplECDSA signatureAlg = new SignatureAlgorithmImplECDSA();
-
- ECDSAPrivateKey privateKey = (ECDSAPrivateKey)pkcs12.getKeyBag().getPrivateKey();
-
- signatureAlg.setSignerKey(privateKey);
- signedInfo.setSignatureAlgorithm(signatureAlg);
-
- SignerSignature signature = signer.getSignature();
- SignerSignedInfo signedInfo = signature.getSignerSignedInfo();
-
- }
-
- // Schritt 2
-
- public void setCanoncialization(int CanonicalizationMethodNumber) throws Exception
- {
- // Set canonicalization algorithm
- CanonicalizationAlgorithm calg = null;
-
- switch (CanonicalizationMethodNumber)
- {
- case canAlgCanXML :
- calg = new CanonicalizationAlgorithmImplCanonicalXML(); break;
- case canAlgCanXMLwithCom :
- calg = new CanonicalizationAlgorithmImplCanonicalXMLWithComments(); break;
- case canAlgExcXML :
- calg = new CanonicalizationAlgorithmImplExclusiveCanonicalXML(); break;
- case canAlgExcXMLwithCom :
- calg = new CanonicalizationAlgorithmImplExclusiveCanonicalXMLWithComments(); break;
- }
-
- signedInfo.setCanonicalizationAlgorithm(calg);
-
- }
- /**
- * Method createReference.
- * @param booelan env: if set, the data-string will be enveloped, else an uri pointing to data will be created
- * @param data
- * @throws Exception
- */
- // Schritt 3.1
-
- public void createEnvelopedDataObject(String iD, String data) throws Exception
- {
- iaik.ixsil.core.Object object = null;
- object = signature.createObject(data);
- object.setId(iD);
- signature.addObject(object);
- }
-
- public void createEnvelopedDataObject(String iD, Element doc) throws Exception
- {
- iaik.ixsil.core.Object object = null;
- object = signature.createObject(doc);
- object.setId(iD);
- signature.addObject(object);
- }
-
- public void createReference(URI uri, URI type) throws Exception
- {
- SignerReference reference = signedInfo.createReference();
-
- reference.setURI(uri);
- reference.setType(type);
- DigestAlgorithmImplSHA1 digestAlg =
- new DigestAlgorithmImplSHA1();
-
- reference.setDigestAlgorithm(digestAlg);
- signedInfo.addReference(reference);
-
- }
-
- public void createReference(boolean env, String data, String iD) throws Exception
- {
- SignerReference reference = signedInfo.createReference();
-
- if (env) {
- iaik.ixsil.core.Object object = null;
- object = signature.createObject(data);
- object.setId("envelopedData");
- signature.addObject(object);
-
- DigestAlgorithmImplSHA1 digestAlg =
- new DigestAlgorithmImplSHA1();
- reference.setDigestAlgorithm(digestAlg);
-
- reference.setURI(
- new URI("#xpointer(id('envelopedData')/node())"));
- } else {
- // Create and configure reference
- URI refURI = null;
- String baseDir = configuration_.getProperty("baseDir");
- refURI = new URI(data);
-
- reference.setURI(refURI);
- if (iD!=null)
- reference.setId(iD);
- DigestAlgorithmImplSHA1 digestAlg =
- new DigestAlgorithmImplSHA1();
- reference.setDigestAlgorithm(digestAlg);
- }
-
- signedInfo.addReference(reference);
-
- }
- public void createReference(boolean env, String data) throws Exception
- {
- createReference(env,data,null);
- }
-
- public void createETSIObjects(String data) throws Exception
- {
- SignerReference reference = signedInfo.createReference();
-
- URI refURI = null;
- refURI = new URI(data);
-
- reference.setURI(new URI("#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('etsi-signed-1-1')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"));
- reference.setType(new URI("http://uri.etsi.org/01903/v1.1.1#SignedProperties"));
- DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
- reference.setDigestAlgorithm(digestAlg);
-
- signedInfo.addReference(reference);
-
- iaik.ixsil.core.Object object = null;
- object = signature.createObject(getElement("TEST"));
- object.setId("etsi-signed-1-1");
- signature.addObject(object);
- }
-
- public Element getElement(String data) throws Exception
- {
- String etsinamespace = "http://uri.etsi.org/01903/v1.1.1#";
-
- getX509Content();
-
- DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
- //dbf.setNamespaceAware(true);
- //dbf.setValidating(true);
-
- Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
-
-
- Element qualprop = doc.createElementNS(etsinamespace,"etsi:QualifyingProperties");
- qualprop.setAttributeNS(null,"Target","#signature-1-1");
- qualprop.setAttributeNS(IXSILConstants.NAMESPACE_URI_NAMESPACES_,"xmlns:etsi",etsinamespace);
- //qualprop.setPrefix("etsi");*/
- //qualprop.setAttributeNodeNS(doc.createAttributeNS(etsinamespace,"etsi"));
- Element signprop = doc.createElementNS(etsinamespace,"etsi:SignedProperties");
- Element signsigprop = doc.createElementNS(etsinamespace,"etsi:SignedSignatureProperties");
- Element signdataobjectprop = doc.createElementNS(etsinamespace,"etsi:SignedDataObjectProperties");
- Element signdate = doc.createElementNS(etsinamespace,"etsi:SigningTime");
- Text datevalue = doc.createTextNode("2003-05-10T00:01:01");
- Element signcert = doc.createElementNS(etsinamespace,"etsi:SigningCertificate");
- Element cert = doc.createElementNS(etsinamespace,"etsi:Cert");
- Element signpolyident = doc.createElementNS(etsinamespace,"etsi:SignaturePolicyIdentifier");
- Element signpolyimp = doc.createElementNS(etsinamespace,"etsi:SignaturePolicyImplied");
- Element certdig = doc.createElementNS(etsinamespace,"etsi:CertDigest");
- Element digmeth = doc.createElementNS(etsinamespace,"etsi:DigestMethod");
- digmeth.setAttribute("Algorithm","http://www.w3.org/2000/09/xmldsig#sha1");
- Element digvalue = doc.createElementNS(etsinamespace,"etsi:DigestValue");
-
- ByteArrayOutputStream fos = new ByteArrayOutputStream();
- Base64OutputStream base64os = new Base64OutputStream(fos);
- base64os.write(this.X509hash.getBytes());
- base64os.flush();
-
- Text dig_value = doc.createTextNode(fos.toString());
- Element is = doc.createElementNS(etsinamespace,"etsi:IssuerSerial");
- Element i = doc.createElement("dsig:X509IssuerName");
- Text i_value = doc.createTextNode(this.X509name);
- Element s = doc.createElement("dsig:X509SerialNumber");
- Text s_value = doc.createTextNode(this.X509number.toString());
- Element dataobjformat = doc.createElementNS(etsinamespace,"etsi:DataObjectFormat");
- dataobjformat.setAttribute("ObjectReference","#reference-1-1");
- Element mimetype = doc.createElementNS(etsinamespace,"etsi:MimeType");
- //mimetype.setNodeValue("text/plain");
- Text mimevalue = doc.createTextNode("text/html");
-
- qualprop.appendChild(signprop);
- signprop.appendChild(signsigprop);
- signsigprop.appendChild(signdate);
- signdate.appendChild(datevalue);
- signsigprop.appendChild(signcert);
- signcert.appendChild(cert);
- cert.appendChild(certdig);
- certdig.appendChild(digmeth);
- certdig.appendChild(digvalue);
- digvalue.appendChild(dig_value);
- cert.appendChild(is);
- is.appendChild(i);
- i.appendChild(i_value);
- is.appendChild(s);
- s.appendChild(s_value);
- signsigprop.appendChild(signpolyident);
- signpolyident.appendChild(signpolyimp);
- signprop.appendChild(signdataobjectprop);
- signdataobjectprop.appendChild(dataobjformat);
- dataobjformat.appendChild(mimetype);
- mimetype.appendChild(mimevalue);
-
-
-
- return qualprop;
- }
-
-
-
- public void createReferenceEnvElement(Element data) throws Exception
- {
- SignerReference reference = signedInfo.createReference();
-
- iaik.ixsil.core.Object object = null;
- object = signature.createObject(data);
- object.setId("envelopedData");
- signature.addObject(object);
-
- DigestAlgorithmImplSHA1 digestAlg =
- new DigestAlgorithmImplSHA1();
- reference.setDigestAlgorithm(digestAlg);
-
- reference.setURI(
- new URI("#xpointer(Data/node())"));
-
-
- signedInfo.addReference(reference);
-
- }
- public void createReferenceWithTransforms(URI uriToData, Transform[] transforms) throws Exception
- {
- createReferenceWithTransforms(uriToData, transforms,null);
- }
-
- public void createReferenceWithTransforms(URI uriToData, Transform[] transforms, String iD) throws Exception
- {
- SignerReference reference = signedInfo.createReference();
-
- // Create and configure reference
- URI refURI = null;
- //String baseDir = configuration_.getProperty("baseDir");
- refURI = uriToData;
-
- reference.setURI(refURI);
- if (iD!=null)
- reference.setId(iD);
-
- DigestAlgorithmImplSHA1 digestAlg =
- new DigestAlgorithmImplSHA1();
- reference.setDigestAlgorithm(digestAlg);
-
- for (int trNr=0; trNr < transforms.length; trNr++)
- {
- reference.insertTransformAt(transforms[trNr],trNr);
- //transforms[trNr].transform();
- }
-
- signedInfo.addReference(reference);
-
-
- }
- public Element createReferenceWithManifest(
- URI uriToData1, String iD1) throws Exception
- {
- return createReferencesWithManifest(uriToData1,iD1,null);
- }
-
- public Element createReferenceWithManifest(
- URI uriToData1, String iD1, String type) throws Exception
- {
- /*
- public void createReferenceWithManifest(
- URI uriToData1, String iD1,
- URI uriToData2, String iD2
- ) throws Exception
- */
- SignerReference reference = signedInfo.createReference();
- SignerManifest manifest = signer.createManifest();
- SignerReference manifestRef = manifest.createReference();
-
- DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
- manifestRef.setDigestAlgorithm(digestAlg);
-
- manifestRef.setURI(uriToData1);
- manifest.addReference(manifestRef);
-
- manifest.setId(iD1);
- iaik.ixsil.core.Object manifestObject =
- signature.createObject(manifest);
- signature.addObject(manifestObject);
- manifest.computeDigestValues();
-
- reference = signedInfo.createReference();
- reference.setURI(new URI("#xpointer(id('"+iD1+"'))"));
- if (type==null)
- reference.setType(
- new URI(IXSILConstants.REFERENCETYPE_ATTR_VALUE_MANIFEST_));
- else
- reference.setType(new URI(type));
-
- reference.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
-
- // Add reference to signature
- signedInfo.addReference(reference);
- return manifest.toElement();
- }
-
- public Element createReferencesWithManifest(
- URI uriToData1, String iD1,
- URI uriToData2
- ) throws Exception
- {
- /*
- public void createReferenceWithManifest(
- URI uriToData1, String iD1,
- URI uriToData2, String iD2
- ) throws Exception
- */
- SignerReference reference = signedInfo.createReference();
-
- SignerManifest manifest = signer.createManifest();
-
-
- DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
-
- SignerReference manifestRef = manifest.createReference();
- manifestRef.setDigestAlgorithm(digestAlg);
- manifestRef.setURI(uriToData1);
- manifest.addReference(manifestRef);
-
- if (uriToData2!=null)
- {
- SignerReference manifestRef2 = manifest.createReference();
- manifestRef2.setDigestAlgorithm(digestAlg);
- manifestRef2.setURI(uriToData2);
- manifest.addReference(manifestRef2);
- }
- manifest.setId(iD1);
- iaik.ixsil.core.Object manifestObject =
- signature.createObject(manifest);
- signature.addObject(manifestObject);
- manifest.computeDigestValues();
-
- reference = signedInfo.createReference();
- reference.setURI(new URI("#xpointer(id('"+iD1+"'))"));
- reference.setType(
- new URI(IXSILConstants.REFERENCETYPE_ATTR_VALUE_MANIFEST_));
- reference.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
-
- // Add reference to signature
- signedInfo.addReference(reference);
- /*
- if (iD2!=null)
- {
- SignerReference reference2 = signedInfo.createReference();
- SignerManifest manifest2 = signer.createManifest();
- SignerReference manifestRef2 = manifest.createReference();
-
-
- manifestRef2.setDigestAlgorithm(digestAlg);
-
- manifestRef2.setURI(uriToData2);
-
- manifest2.addReference(manifestRef2);
- manifest2.setId(iD2);
- iaik.ixsil.core.Object manifestObject2 =
- signature.createObject(manifest2);
- signature.addObject(manifestObject2);
- manifest2.computeDigestValues();
-
- reference2 = signedInfo.createReference();
- reference2.setURI(new URI("#xpointer(id('"+iD1+"'))"));
- reference2.setType(
- new URI(IXSILConstants.REFERENCETYPE_ATTR_VALUE_MANIFEST_));
- reference2.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
-
- // Add reference to signature
- signedInfo.addReference(reference2);
-
- }
- */
- return manifest.toElement();
- }
-
-public Element createReferencesWithManifest(
- URI uriToData1, String iD1,
- URI uriToData2, String type
- ) throws Exception
- {
- SignerReference reference = signedInfo.createReference();
-
- SignerManifest manifest = signer.createManifest();
-
-
- DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
-
- SignerReference manifestRef = manifest.createReference();
- manifestRef.setDigestAlgorithm(digestAlg);
- manifestRef.setURI(uriToData1);
- manifest.addReference(manifestRef);
-
- SignerReference manifestRef2 = manifest.createReference();
- manifestRef2.setDigestAlgorithm(digestAlg);
- manifestRef2.setURI(uriToData2);
- manifest.addReference(manifestRef2);
-
- manifest.setId(iD1);
- iaik.ixsil.core.Object manifestObject =
- signature.createObject(manifest);
- signature.addObject(manifestObject);
- manifest.computeDigestValues();
-
- reference = signedInfo.createReference();
- reference.setURI(new URI("#xpointer(id('"+iD1+"'))"));
- reference.setType(new URI(type));
- reference.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
-
- // Add reference to signature
- signedInfo.addReference(reference);
- return manifest.toElement();
- }
-
-
- public void setKeyInformation() throws Exception
- {
- // Create key information
- KeyManagerImpl keyManager = new KeyManagerImpl(signer.toDocument());
-
-
- X509Certificate[] certs = getCertificates(pkcs12);
- X509Data x509Data = new X509Data();
-
- for (int i = 0; i < certs.length; i++) {
- x509Data.insertHintAt(certs[i], i);
- }
-
- KeyProviderImplX509Data x509DataKeyProvider =
- new KeyProviderImplX509Data(signer.toDocument());
-
- x509DataKeyProvider.insertX509DataAt(x509Data, 0);
-
- // X509Data key information (certificate chain)
- keyManager.addKeyProvider(x509DataKeyProvider);
-
- Element e = (Element)keyManager.getKeyInfo();
- NodeList nl = e.getChildNodes();
- x509CertString = ((new DOMWriterImpl(true)).writeToString(nl.item(0).getChildNodes().item(1)));
- if(x509CertString==null)
- x509CertString = ((new DOMWriterImpl(true)).writeToString(nl.item(0).getChildNodes().item(0)));
-
- signer.getSignature().setKeyManager(keyManager);
-
-
-
- }
- public void setKeyInformation(String retrievalMethod) throws Exception
- { // Create key information
- KeyManagerImpl keyManager = new KeyManagerImpl(signer.toDocument());
-
- KeyProviderImplRetrievalMethod x509RetrievalMethod =
- new KeyProviderImplRetrievalMethod(signer.toDocument());
-
- URI fileURI = null;
-
- if (retrievalMethod == "XML")
- fileURI =
- new URI(
- "file:"
- + configuration_.getProperty("baseDir")
- + configuration_.getProperty("RetrievalURIXML"));
- else
- fileURI =
- new URI(
- "file:"
- + configuration_.getProperty("baseDir")
- + configuration_.getProperty("RetrievalURIRaw"));
-
- RetrievalMethod retMet =
- new RetrievalMethod(
- signer.toDocument(),
- new URIResolverParameters(fileURI));
-
- retMet.setURI(fileURI);
-
- if (retrievalMethod == "XML")
- retMet.setType(
- new URI(configuration_.getProperty("RetrievalTypeXML")));
- else
- retMet.setType(
- new URI(configuration_.getProperty("RetrievalTypeRaw")));
-
- x509RetrievalMethod.insertRetrievalMethodAt(retMet, 0);
- keyManager.addKeyProvider(x509RetrievalMethod);
- Element e = (Element)keyManager.getKeyInfo();
- NodeList nl = e.getChildNodes();
- x509CertString = ((new DOMWriterImpl(true)).writeToString(nl.item(0).getChildNodes().item(0)));
-
-
- signer.getSignature().setKeyManager(keyManager);
- }
-
- public void setKeyInformation(int pos) throws Exception
- {
- // Create key information
- KeyManagerImpl keyManager = new KeyManagerImpl(signer.toDocument());
-
-
- X509Certificate[] certs = getCertificates(pkcs12);
- X509Data x509Data = new X509Data();
-
- x509Data.insertHintAt(certs[pos], 0);
-
-
- KeyProviderImplX509Data x509DataKeyProvider =
- new KeyProviderImplX509Data(signer.toDocument());
-
- x509DataKeyProvider.insertX509DataAt(x509Data, 0);
-
- // X509Data key information (certificate chain)
- keyManager.addKeyProvider(x509DataKeyProvider);
-
- signer.getSignature().setKeyManager(keyManager);
-
- Element e = (Element)keyManager.getKeyInfo();
- NodeList nl = e.getChildNodes();
- x509CertString = ((new DOMWriterImpl(true)).writeToString(nl.item(0).getChildNodes().item(0)));
-
- //((Element)signer.getSignature().getSignatureDOMElement().getChildNodes().item(0)).setAttributeNS(IXSILConstants.NAMESPACE_URI_NAMESPACES_,"xmlns:data","http://uri.data.org");
-
- //display(signer.getSignature().getSignatureDOMElement());
- }
-
- private void display(Node base)
- {
- display(base,1);
- }
-
- private void display(Node base,int level)
- {
- String spacer = "";
- for(int counter=0;counter<level;counter++)
- {
- spacer+=" ";
- }
-
- int att_size=0;
- if(base.getAttributes()!=null)
- {
- att_size=base.getAttributes().getLength();
- }
- if(base.getNodeName().equals("#text"))
- System.out.println(spacer+base.getNodeName()+base.getChildNodes().getLength()+":"+att_size+" ("+base.getNodeValue()+")");
- else
- System.out.println(spacer+base.getNodeName()+base.getChildNodes().getLength()+":"+att_size);
-
- NamedNodeMap nnm = base.getAttributes();
- if(nnm!=null)
- {
- int size = nnm.getLength();
- for(int counter=0;counter<size;counter++)
- {
- display(nnm.item(counter),level+3);
- }
- }
-
- NodeList children = base.getChildNodes();
- int size = children.getLength();
- for(int counter=0;counter<size;counter++)
- {
- display(children.item(counter),level+1);
- }
- }
-
- public void setKeyInformation(boolean xpointer, URI fileURI, URI typeURI, Transform[] transforms) throws Exception
- { // Create key information
- KeyManagerImpl keyManager = new KeyManagerImpl(signer.toDocument());
-
- KeyProviderImplRetrievalMethod x509RetrievalMethod =
- new KeyProviderImplRetrievalMethod(signer.toDocument());
-
- RetrievalMethod retMet = null;
-
- if (xpointer)
- {
- retMet = new RetrievalMethod(signer.toDocument(),null);
- }
- else
- {
- retMet = new RetrievalMethod(signer.toDocument(),new URIResolverParameters(fileURI));
- }
-
-
-
- retMet.setURI(fileURI);
-
-
- retMet.setType(typeURI);
-
- if (transforms!=null)
- {for (int trNr=0; trNr < transforms.length; trNr++)
- retMet.insertTransformAt(transforms[trNr],trNr);
- }
-
-
- x509RetrievalMethod.insertRetrievalMethodAt(retMet, 0);
- keyManager.addKeyProvider(x509RetrievalMethod);
-
- Element e = (Element)keyManager.getKeyInfo();
- NodeList nl = e.getChildNodes();
- x509CertString = ((new DOMWriterImpl(true)).writeToString(nl.item(0).getChildNodes().item(0)));
-
-
- signer.getSignature().setKeyManager(keyManager);
-
-
- }
-
-/* public Document createPKCS12Sig(
- String TestNumber,
- int CanonicalizationMethodNumber,
- String data,
- boolean env,
- boolean mani,
- String data2,
- boolean env2,
- String retrievalMethod)
- throws Exception {
-
-
-
- if (data2 != null) {
- reference = signedInfo.createReference();
- if (env2) {
- iaik.ixsil.core.Object object = null;
- object = signature.createObject(data2);
- object.setId("envelopedData2");
- signature.addObject(object);
-
- DigestAlgorithmImplSHA1 digestAlg =
- new DigestAlgorithmImplSHA1();
- reference.setDigestAlgorithm(digestAlg);
-
- reference.setURI(
- new URI("#xpointer(id('envelopedData2')/node())"));
- } else {
- // Create and configure reference
- URI refURI = null;
- String baseDir = configuration_.getProperty("baseDir");
- refURI = new URI(data2);
-
- reference.setURI(refURI);
- DigestAlgorithmImplSHA1 digestAlg =
- new DigestAlgorithmImplSHA1();
- reference.setDigestAlgorithm(digestAlg);
- }
- signedInfo.addReference(reference);
- }
-
- // Add reference to signature
-
-
-
- // Compute signature value
- signer.getSignature().sign();
-
- return signer.toDocument();
- }
-*/
- public Document returnSig() throws Exception {
- //signature.getObjects();
-
- signer.getSignature().sign();
-
- //((Element)signer.getSignature().getSignatureDOMElement().getChildNodes().item(0)).removeAttribute("xmlns:data");
- //display(((Element)signer.getSignature().getSignatureDOMElement().getChildNodes().item(0)));
- //.removeAttributeNS(IXSILConstants.NAMESPACE_URI_NAMESPACES_,"xmlns:data");
-
- return signer.toDocument();
-
- }
- public String getX509CertString() throws Exception{
- TestCases tc = new TestCases();
-
- if(x509CertString==null) return null;
- String result = TestCases.replaceString(x509CertString,"<?xml version=\"1.0\"?>","");
- if(x509CertString.indexOf("xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"")!=-1)
- result = TestCases.replaceString(result,"xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"","");
-
- return result;
- }
-}
diff --git a/spss.test/src/testgenerator/DataGenerator.java b/spss.test/src/testgenerator/DataGenerator.java
deleted file mode 100644
index d0743612e..000000000
--- a/spss.test/src/testgenerator/DataGenerator.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package testgenerator;
-
-import java.io.BufferedWriter;
-import java.io.FileWriter;
-
-/**
- * @author Administrator
- *
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates.
- * To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class DataGenerator {
-
- public static final String text_to_be_signed="Something to be Signed :) ";
-
- public static void main(String[] args) throws Exception {
- generateData("1kb.txt",1000);
- generateData("10kb.txt",10000);
- generateData("20kb.txt",20000);
- generateData("50kb.txt",50000);
- generateData("100kb.txt",100000);
- generateData("500kb.txt",500000);
- generateData("1mb.txt",1000000);
- generateData("10mb.txt",10000000);
- }
-
- public static void generateData(String filename,int size) throws Exception
- {
- StringBuffer sb = new StringBuffer(size);
- int max = size-text_to_be_signed.length();
- while(sb.length()<(max))
- {
- sb.append(text_to_be_signed);
- }
-
- sb.append(text_to_be_signed.substring(0,(size-sb.length())));
-
- BufferedWriter bw = new BufferedWriter(new FileWriter(filename));
- bw.write(sb.toString());
- bw.flush();
- bw.close();
- }
-}
diff --git a/spss.test/src/testgenerator/EtsiProperties.java b/spss.test/src/testgenerator/EtsiProperties.java
deleted file mode 100644
index c306ddeb6..000000000
--- a/spss.test/src/testgenerator/EtsiProperties.java
+++ /dev/null
@@ -1,113 +0,0 @@
-package testgenerator;
-
-import iaik.ixsil.init.IXSILConstants;
-
-import iaik.utils.Base64OutputStream;
-
-import java.io.ByteArrayOutputStream;
-
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Text;
-/**
- * @author knirschs
- *
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates.
- * To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class EtsiProperties extends TestCases {
-
- /**
- * Constructor for EtsiProperties.
- *
- */
- private Element qualprop;
- private Element signdataobjectprop;
- private static String etsinamespace = "http://uri.etsi.org/01903/v1.1.1#";
- private Document doc;
-
- public EtsiProperties() throws Exception{
-
- getX509Content();
-
- DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
- //dbf.setNamespaceAware(true);
- //dbf.setValidating(true);
-
- doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
-
-
- qualprop = doc.createElementNS(etsinamespace,"etsi:QualifyingProperties");
- qualprop.setAttributeNS(null,"Target","#signature");
- qualprop.setAttributeNS(IXSILConstants.NAMESPACE_URI_NAMESPACES_,"xmlns:etsi",etsinamespace);
- //qualprop.setPrefix("etsi");*/
- //qualprop.setAttributeNodeNS(doc.createAttributeNS(etsinamespace,"etsi"));
- Element signprop = doc.createElementNS(etsinamespace,"etsi:SignedProperties");
- Element signsigprop = doc.createElementNS(etsinamespace,"etsi:SignedSignatureProperties");
- signdataobjectprop = doc.createElementNS(etsinamespace,"etsi:SignedDataObjectProperties");
- Element signdate = doc.createElementNS(etsinamespace,"etsi:SigningTime");
- Text datevalue = doc.createTextNode("2003-03-01T00:01:01");
- Element signcert = doc.createElementNS(etsinamespace,"etsi:SigningCertificate");
- Element cert = doc.createElementNS(etsinamespace,"etsi:Cert");
- Element signpolyident = doc.createElementNS(etsinamespace,"etsi:SignaturePolicyIdentifier");
- Element signpolyimp = doc.createElementNS(etsinamespace,"etsi:SignaturePolicyImplied");
- Element certdig = doc.createElementNS(etsinamespace,"etsi:CertDigest");
- Element digmeth = doc.createElementNS(etsinamespace,"etsi:DigestMethod");
- digmeth.setAttribute("Algorithm","http://www.w3.org/2000/09/xmldsig#sha1");
- Element digvalue = doc.createElementNS(etsinamespace,"etsi:DigestValue");
-
- ByteArrayOutputStream fos = new ByteArrayOutputStream();
- Base64OutputStream base64os = new Base64OutputStream(fos);
- base64os.write(this.X509hash.getBytes());
- base64os.flush();
-
- Text dig_value = doc.createTextNode(fos.toString());
- Element is = doc.createElementNS(etsinamespace,"etsi:IssuerSerial");
- Element i = doc.createElement("dsig:X509IssuerName");
- Text i_value = doc.createTextNode(this.X509name);
- Element s = doc.createElement("dsig:X509SerialNumber");
- Text s_value = doc.createTextNode(this.X509number.toString());
-
-
- qualprop.appendChild(signprop);
- signprop.appendChild(signsigprop);
- signsigprop.appendChild(signdate);
- signdate.appendChild(datevalue);
- signsigprop.appendChild(signcert);
- signcert.appendChild(cert);
- cert.appendChild(certdig);
- certdig.appendChild(digmeth);
- certdig.appendChild(digvalue);
- digvalue.appendChild(dig_value);
- cert.appendChild(is);
- is.appendChild(i);
- i.appendChild(i_value);
- is.appendChild(s);
- s.appendChild(s_value);
- signsigprop.appendChild(signpolyident);
- signpolyident.appendChild(signpolyimp);
- signprop.appendChild(signdataobjectprop);
-
-
- }
- public Element getQualProp()
- {
- return qualprop;
- }
- public void addDataObjectFormat(String reference) throws Exception
- {
- Element dataobjformat = doc.createElementNS(etsinamespace,"etsi:DataObjectFormat");
- dataobjformat.setAttribute("ObjectReference",reference);
- Element mimetype = doc.createElementNS(etsinamespace,"etsi:MimeType");
- //mimetype.setNodeValue("text/plain");
- Text mimevalue = doc.createTextNode("text/html");
- signdataobjectprop.appendChild(dataobjformat);
- dataobjformat.appendChild(mimetype);
- mimetype.appendChild(mimevalue);
- }
-
-}
diff --git a/spss.test/src/testgenerator/LauchAll.java b/spss.test/src/testgenerator/LauchAll.java
deleted file mode 100644
index 70965ae09..000000000
--- a/spss.test/src/testgenerator/LauchAll.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package testgenerator;
-
-/**
- * @author Administrator
- *
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates.
- * To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class LauchAll {
-
- public static void main(String[] args) {
- try {
- TestGeneratorCX0.main(null);
- TestGeneratorCX1.main(null);
- TestGeneratorCX2.main(null);
- TestGeneratorVC0.main(null);
- TestGeneratorVX.main(null);
- TestGeneratorVX2.main(null);
- TestGeneratorVXErrors.main(null);
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- }
-}
diff --git a/spss.test/src/testgenerator/LaunchVX.java b/spss.test/src/testgenerator/LaunchVX.java
deleted file mode 100644
index 3c4191411..000000000
--- a/spss.test/src/testgenerator/LaunchVX.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package testgenerator;
-
-/**
- * @author Administrator
- *
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates.
- * To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class LaunchVX {
-
- public static void main(String[] args) {
- try {
- TestGeneratorVX.main(null);
- TestGeneratorVX2.main(null);
- TestGeneratorVXErrors.main(null);
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- }
-}
diff --git a/spss.test/src/testgenerator/Pass.java b/spss.test/src/testgenerator/Pass.java
deleted file mode 100644
index b6fef9575..000000000
--- a/spss.test/src/testgenerator/Pass.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package testgenerator;
-
-import iaik.apps.util.passphrase.PassphrasePrompt;
-
-/**
- * @author Administrator
- *
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates.
- * To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class Pass implements PassphrasePrompt
-{
- public Pass() {};
- public void setCancelAllowed(boolean b) {};
- public void setMessage(Object o) {};
- public boolean isCancelAllowed() { return false; }
- public char[] promptPassphrase() { return "1111".toCharArray(); };
- public void setProtectedResourceInfo(Object o) {};
-
-}
diff --git a/spss.test/src/testgenerator/SetupCMSKeyStore.java b/spss.test/src/testgenerator/SetupCMSKeyStore.java
deleted file mode 100644
index 441e64236..000000000
--- a/spss.test/src/testgenerator/SetupCMSKeyStore.java
+++ /dev/null
@@ -1,671 +0,0 @@
-// Copyright (C) 1997-2002 IAIK
-// email: jce-info@iaik.tu-graz.ac.at
-//
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-// 1. Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// 2. Redistributions in binary form must reproduce the above copyright
-// notice, this list of conditions and the following disclaimer in the
-// documentation and/or other materials provided with the distribution.
-//
-// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-// SUCH DAMAGE.
-//
-// $Header$
-//
-
-package testgenerator;
-
-import iaik.asn1.CodingException;
-import iaik.asn1.ObjectID;
-import iaik.asn1.structures.AlgorithmID;
-import iaik.asn1.structures.GeneralName;
-import iaik.asn1.structures.GeneralNames;
-import iaik.asn1.structures.Name;
-import iaik.asn1.structures.PolicyInformation;
-import iaik.asn1.structures.PolicyQualifierInfo;
-import iaik.security.provider.IAIK;
-import iaik.x509.SimpleChainVerifier;
-import iaik.x509.X509Certificate;
-import iaik.x509.X509ExtensionException;
-import iaik.x509.extensions.AuthorityKeyIdentifier;
-import iaik.x509.extensions.BasicConstraints;
-import iaik.x509.extensions.CertificatePolicies;
-import iaik.x509.extensions.KeyUsage;
-import iaik.x509.extensions.SubjectAltName;
-import iaik.x509.extensions.SubjectKeyIdentifier;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.math.BigInteger;
-import java.security.InvalidKeyException;
-import java.security.KeyPair;
-import java.security.KeyPairGenerator;
-import java.security.KeyStore;
-import java.security.KeyStoreException;
-import java.security.NoSuchAlgorithmException;
-import java.security.NoSuchProviderException;
-import java.security.PrivateKey;
-import java.security.PublicKey;
-import java.security.cert.CertificateException;
-import java.util.Calendar;
-import java.util.GregorianCalendar;
-import java.util.Random;
-
-/**
- * Creates a default KeyStore in the current working directory.
- * These keys are used by many demos included in IAIK-JCE.
- * The aliases and the password for accessing the keys and
- * certificates can be found in {@link demo.keystore.CMSKeyStoreConstants CMSKeyStoreConstants}.
- *
- * @see CMSKeyStoreConstants
- */
-public class SetupCMSKeyStore implements CMSKeyStoreConstants {
-
- // the keylength of the CA certificate shall be 1024
- private final static int CA_KEYLENGTH = 1024;
-
- // the key store to create
- KeyStore key_store;
- // the file where the key store shall be saved
- String keystore_file;
- // takes the existing keys from the KeyStore and only creates new certificates
- boolean create_only_certificates = true;
-
- // the private keys
- KeyPair ca_rsa = null;
- // RSA for signing
- KeyPair rsa512_sign = null;
- KeyPair rsa1024_sign = null;
- KeyPair rsa2048_sign = null;
- // RSA for encrypting
- KeyPair rsa512_crypt = null;
- KeyPair rsa1024_crypt = null;
- KeyPair rsa1024_crypt_ = null;
- KeyPair rsa2048_crypt = null;
-
- KeyPair ca_dsa = null;
- KeyPair dsa512 = null;
- KeyPair dsa1024 = null;
- KeyPair esdh512 = null;
- KeyPair esdh1024 = null;
- KeyPair esdh1024_ = null;
- KeyPair esdh2048 = null;
-
- // create RSA keys and certificates
- boolean create_rsa = true;
- // create DSA keys and certificates
- boolean create_dsa = true;
- // create ESDH keys and certificates
- boolean create_esdh = true;
-
- /**
- * Generate a KeyPair using the specified algorithm with the given size.
- *
- * @param algorithm the algorithm to use
- * @param bits the length of the key (modulus) in bits
- * @return the KeyPair
- */
- public static KeyPair generateKeyPair(String algorithm, int bits)
- throws NoSuchAlgorithmException {
-
- KeyPairGenerator generator = null;
-
- try {
- generator = KeyPairGenerator.getInstance(algorithm, "IAIK");
-
- } catch (NoSuchProviderException ex) {
- throw new NoSuchAlgorithmException("Provider IAIK not found!");
- }
-
- generator.initialize(bits);
- KeyPair kp = generator.generateKeyPair();
-
- return kp;
- }
-
- /**
- * Creates a certificate from the given values.
- *
- * @param subject the subject of the certificate
- * @param publicKey the public key to include
- * @param issuer the issuer of the certificate
- * @param privateKey the private key for signing the certificate
- * @param algorithm the signature algorithm to use
- */
- public static X509Certificate createCertificate(Name subject, PublicKey publicKey,
- Name issuer, PrivateKey privateKey, AlgorithmID algorithm, byte[] keyID, boolean forSigning) {
-
- // create a new certificate
- X509Certificate cert = new X509Certificate();
-
- try {
- // set the values
- cert.setSerialNumber(new BigInteger(20, new Random()));
- cert.setSubjectDN(subject);
- cert.setPublicKey(publicKey);
- cert.setIssuerDN(issuer);
-
- GregorianCalendar date = new GregorianCalendar();
- date.add(Calendar.DATE, -1);
- // not before now
- cert.setValidNotBefore(date.getTime());
-
- if (issuer.equals(subject)) {
- date.add(Calendar.MONTH, 12);
- BasicConstraints basicConstraints = new BasicConstraints(true);
- cert.addExtension(basicConstraints);
- KeyUsage keyUsage = new KeyUsage(KeyUsage.keyCertSign | KeyUsage.cRLSign);
- cert.addExtension(keyUsage);
- } else {
- date.add(Calendar.MONTH, 11);
- KeyUsage keyUsage = null;
- if (forSigning) {
- keyUsage = new KeyUsage(KeyUsage.digitalSignature |
- KeyUsage.nonRepudiation);
- } else {
- keyUsage = new KeyUsage(KeyUsage.keyEncipherment |
- KeyUsage.dataEncipherment);
- }
- cert.addExtension(keyUsage);
- AuthorityKeyIdentifier authID = new AuthorityKeyIdentifier();
- authID.setKeyIdentifier(keyID);
- cert.addExtension(authID);
- GeneralNames generalNames = new GeneralNames();
- generalNames.addName(new GeneralName(GeneralName.rfc822Name, "smimetest@iaik.at"));
- generalNames.addName(new GeneralName(GeneralName.rfc822Name, "smimetest@iaik.tu-graz.ac.at"));
- SubjectAltName subjectAltName = new SubjectAltName(generalNames);
- cert.addExtension(subjectAltName);
- }
- String explicitText = "This certificate only may be used for test purposes";
- PolicyQualifierInfo policyQualifier = new PolicyQualifierInfo(null, null, explicitText);
- PolicyInformation[] policyInformations =
- { new PolicyInformation(new ObjectID("1.3.6.1.4.1.2706.17.0.11.1.1"),
- new PolicyQualifierInfo[] { policyQualifier }) };
- CertificatePolicies certPolicies = new CertificatePolicies(policyInformations);
-
- SubjectKeyIdentifier subjectKeyID = new SubjectKeyIdentifier(cert.getPublicKey());
- cert.addExtension(subjectKeyID);
-
- cert.addExtension(certPolicies);
- cert.setValidNotAfter(date.getTime());
- // and sign the certificate
- cert.sign(algorithm ,privateKey);
- } catch (CertificateException ex) {
- throw new RuntimeException("Error creating the certificate: "+ex.getMessage());
- } catch (InvalidKeyException ex) {
- throw new RuntimeException("Error creating the certificate: "+ex.getMessage());
- } catch (NoSuchAlgorithmException ex) {
- throw new RuntimeException("Error creating the certificate: "+ex.getMessage());
- } catch (X509ExtensionException ex) {
- throw new RuntimeException("Error adding extension: "+ex.getMessage());
- } catch (CodingException ex) {
- throw new RuntimeException("Error adding SubjectKeyIdentifier extension: "+ex.getMessage());
- }
-/*
- System.out.println(cert.toString(true));
- iaik.utils.Util.waitKey();
-*/
-
- return cert;
- }
-
- /**
- * Load or create a KeyStore and initialize it.
- */
- private void initializeKeyStore() {
-
- BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
- String line;
-
- try {
- // default directory is the current user dir
- String keystore_dir = System.getProperty("user.dir");
- File ks = new File(keystore_dir, KS_FILENAME);
-
- // KeyStore does already exist
- if (ks.exists()) {
- keystore_file = ks.getAbsolutePath();
- if (create_only_certificates) {
- System.out.println("Create only new certificates from already existing keys!");
- }
- else {
- System.out.println("Existing KeyStore will be deleted!");
- }
- System.out.println("KeyStore: "+keystore_file);
- }
- else {
- // there is no KeyStore -> create also new keys
- create_only_certificates = false;
-
- while (true) {
- System.out.print("Create new KeyStore in directory: "+keystore_dir+" [y]");
- line = reader.readLine();
- if (line.length() == 0 || line.equals("y")) {
- ks = new File(keystore_dir, KS_FILENAME);
- keystore_file = ks.getAbsolutePath();
- System.out.println("KeyStore will be saved to: "+keystore_file);
- break;
- }
- System.out.print("Enter directory: ");
- keystore_dir = reader.readLine();
- }
- }
-
- // get a new KeyStore onject
- key_store = KeyStore.getInstance("IAIKKeyStore");
-
- if (create_only_certificates) {
- // take private keys from existing KeyStore
- key_store.load(new FileInputStream(ks), KS_PASSWORD);
- }
- else {
- // create a new KeyStore
- key_store.load(null, null);
- }
-
- } catch (Exception ex) {
- System.out.println("Error creating new IAIK KeyStore!");
- throw new RuntimeException("Error creating new KeyStore: "+ex.getMessage());
- }
- }
-
- /**
- * Save the KeyStore to disk.
- */
- private void saveKeyStore() {
- try {
- // write the KeyStore to disk
- FileOutputStream os = new FileOutputStream(keystore_file);
- key_store.store(os, KS_PASSWORD);
- os.close();
- } catch (Exception ex) {
- System.out.println("Error saving KeyStore!");
- ex.printStackTrace();
- }
- }
-
- /**
- * Add the private key and the certificate chain to the key store.
- */
- public void addToKeyStore(KeyPair keyPair, X509Certificate[] chain, String alias) throws KeyStoreException {
- key_store.setKeyEntry(alias, keyPair.getPrivate(), KS_PASSWORD, chain);
- }
-
- /**
- * Returns a KeyPair form the KeyStore.
- */
- private KeyPair getKeyPair(String type) throws Exception {
- PrivateKey privKey = (PrivateKey)key_store.getKey(type, KS_PASSWORD);
- PublicKey pubKey = key_store.getCertificateChain(type)[0].getPublicKey();
- return new KeyPair(pubKey, privKey);
- }
-
- /**
- * Get all private keys from the KeyStore.
- */
- private void getPrivateKeys() {
- // RSA
- try {
- ca_rsa = getKeyPair(CA_RSA);
- // for signing
- rsa512_sign = getKeyPair(RSA_512_SIGN);
- rsa1024_sign = getKeyPair(RSA_1024_SIGN);
- rsa2048_sign = getKeyPair(RSA_2048_SIGN);
- // for encrypting
- rsa512_crypt = getKeyPair(RSA_512_CRYPT);
- rsa1024_crypt = getKeyPair(RSA_1024_CRYPT);
- rsa1024_crypt_ = getKeyPair(RSA_1024_CRYPT_);
- rsa2048_crypt = getKeyPair(RSA_2048_CRYPT);
- } catch (Exception ex) {
- System.out.println("Unable to get RSA keys from KeyStore.");
- ex.printStackTrace();
- create_rsa = false;
- }
- // DSA
- try {
- ca_dsa = getKeyPair(CA_DSA);
- dsa512 = getKeyPair(DSA_512);
- dsa1024 = getKeyPair(DSA_1024);
- } catch (Exception ex) {
- System.out.println("Unable to get DSA keys from KeyStore.");
- ex.printStackTrace();
- create_dsa = false;
- }
- // ESDH
- try {
- esdh512 = getKeyPair(ESDH_512);
- esdh1024 = getKeyPair(ESDH_1024);
- esdh1024_ = getKeyPair(ESDH_1024_);
- esdh2048 = getKeyPair(ESDH_2048);
- } catch (Exception ex) {
- System.out.println("Unable to get ESDH keys from KeyStore.");
- ex.printStackTrace();
- create_esdh = false;
- }
- }
-
- /**
- * Gernerate new prviate keys.
- */
- private void generatePrivateKeys() {
- try {
- // first create the KeyPairs
- if (create_rsa) {
- try {
- System.out.println("generate RSA KeyPair for CA certificate ["+CA_KEYLENGTH+" bits]...");
- ca_rsa = generateKeyPair("RSA", CA_KEYLENGTH);
- System.out.println("Generate RSA signing keys...");
- System.out.println("generate RSA KeyPair for a test certificate [512 bits]...");
- rsa512_sign = generateKeyPair("RSA", 512);
- System.out.println("generate RSA KeyPair for a test certificate [1024 bits]...");
- rsa1024_sign = generateKeyPair("RSA", 1024);
- System.out.println("generate RSA KeyPair for a test certificate [2048 bits]...");
- rsa2048_sign = generateKeyPair("RSA", 2048);
- System.out.println("Generate RSA encryption keys...");
- System.out.println("generate RSA KeyPair for a test certificate [512 bits]...");
- rsa512_crypt = generateKeyPair("RSA", 512);
- System.out.println("generate RSA KeyPair for a test certificate [1024 bits]...");
- rsa1024_crypt = generateKeyPair("RSA", 1024);
- System.out.println("generate second RSA KeyPair for a test certificate [1024 bits]...");
- rsa1024_crypt_ = generateKeyPair("RSA", 1024);
- System.out.println("generate RSA KeyPair for a test certificate [2048 bits]...");
- rsa2048_crypt = generateKeyPair("RSA", 2048);
- } catch (NoSuchAlgorithmException ex) {
- create_rsa = false;
- System.out.println("No implementation for RSA! RSA certificates are not created!\n");
- }
- }
- if (create_dsa) {
- try {
- System.out.println("generate DSA KeyPair for CA certificate ["+CA_KEYLENGTH+" bits]...");
- ca_dsa = generateKeyPair("DSA", CA_KEYLENGTH);
- System.out.println("generate DSA KeyPair for a test certificate [512 bits]...");
- dsa512 = generateKeyPair("DSA", 512);
- System.out.println("generate DSA KeyPair for a test certificate [1024 bits]...");
- dsa1024 = generateKeyPair("DSA", 1024);
- } catch (NoSuchAlgorithmException ex) {
- create_dsa = false;
- System.out.println("No implementation for DSA! DSA certificates are not created!\n");
- }
- }
-
- if (create_esdh) {
- try {
- System.out.println("generate ESDH KeyPair for a test certificate [512 bits]...");
- esdh512 = generateKeyPair("ESDH", 512);
- System.out.println("generate ESDH KeyPair for a test certificate [1024 bits]...");
- esdh1024 = generateKeyPair("ESDH", 1024);
- System.out.println("generate ESDH KeyPair for a test certificate [1024 bits]...");
- esdh1024_ = generateKeyPair("ESDH", 1024);
- System.out.println("generate ESDH KeyPair for a test certificate [2048 bits]...");
- esdh2048 = generateKeyPair("ESDH", 2048);
- } catch (NoSuchAlgorithmException ex) {
- create_esdh = false;
- System.out.println("No implementation for ESDH! ESDH certificates are not created!\n");
- }
- }
- } catch (Exception ex) {
- System.out.println("Exception: "+ex);
- }
- }
-
- public void generateCertificates() {
-
- try {
-
- // Now create the certificates
- Name issuer = new Name();
- issuer.addRDN(ObjectID.country, "AT");
- issuer.addRDN(ObjectID.organization ,"IAIK");
- issuer.addRDN(ObjectID.organizationalUnit ,"JavaSecurity");
-
- Name subject = new Name();
- subject.addRDN(ObjectID.country, "AT");
- subject.addRDN(ObjectID.organization ,"IAIK");
- subject.addRDN(ObjectID.organizationalUnit ,"JavaSecurity");
-
- //
- // create self signed CA certs
- //
- X509Certificate caRSA = null;
- X509Certificate caDSA = null;
- X509Certificate[] chain = new X509Certificate[1];
- // for verifying the created certificates
- SimpleChainVerifier verifier = new SimpleChainVerifier();
-
- if (create_rsa) {
- issuer.addRDN(ObjectID.commonName ,"IAIK RSA Test CA");
- System.out.println("create self signed RSA CA certificate...");
- caRSA = createCertificate(issuer, ca_rsa.getPublic(),
- issuer, ca_rsa.getPrivate(), AlgorithmID.sha1WithRSAEncryption, null, true);
- // verify the self signed certificate
- caRSA.verify();
- // set the CA cert as trusted root
- verifier.addTrustedCertificate(caRSA);
- chain[0] = caRSA;
- addToKeyStore(ca_rsa, chain, CA_RSA);
- issuer.removeRDN(ObjectID.commonName);
- }
-
- if (create_dsa) {
- issuer.addRDN(ObjectID.commonName ,"IAIK DSA Test CA");
- System.out.println("create self signed DSA CA certificate...");
- caDSA = createCertificate(issuer, ca_dsa.getPublic(),
- issuer, ca_dsa.getPrivate(), AlgorithmID.dsaWithSHA, null, true);
- // verify the self signed certificate
- caDSA.verify();
- // set the CA cert as trusted root
- verifier.addTrustedCertificate(caDSA);
- chain[0] = caDSA;
- addToKeyStore(ca_dsa, chain, CA_DSA);
- issuer.removeRDN(ObjectID.commonName);
- }
-
- //
- // create certificates
- //
- chain = new X509Certificate[2];
-
- // create a RSA certificate
- if (create_rsa) {
- issuer.addRDN(ObjectID.commonName ,"IAIK RSA Test CA");
- SubjectKeyIdentifier subjectKeyID = (SubjectKeyIdentifier)caRSA.getExtension(SubjectKeyIdentifier.oid);
- // 512
- // for signing
- System.out.println("Create RSA demo certificates to be used for signing...");
-
- // 512
- subject.addRDN(ObjectID.commonName, "RSA 512 bit Demo Signing Certificate");
- System.out.println("create 512 bit RSA demo certificate...");
- chain[0] = createCertificate(subject, rsa512_sign.getPublic(),
- issuer, ca_rsa.getPrivate(), AlgorithmID.sha1WithRSAEncryption, subjectKeyID.get(), true);
- chain[1] = caRSA;
- // and verify the chain
- verifier.verifyChain(chain);
- addToKeyStore(rsa512_sign, chain, RSA_512_SIGN);
- subject.removeRDN(ObjectID.commonName);
-
- // 1024
-
- subject.addRDN(ObjectID.commonName ,"RSA 1024 bit Demo Signing Certificate");
- System.out.println("create 1024 bit RSA demo certificate...");
- chain[0] = createCertificate(subject, rsa1024_sign.getPublic(),
- issuer, ca_rsa.getPrivate(), AlgorithmID.sha1WithRSAEncryption, subjectKeyID.get(), true);
- chain[1] = caRSA;
- verifier.verifyChain(chain);
- addToKeyStore(rsa1024_sign, chain, RSA_1024_SIGN);
- subject.removeRDN(ObjectID.commonName);
-
- // 2048
-
- subject.addRDN(ObjectID.commonName ,"RSA 2048 bit Demo Signing Certificate");
- System.out.println("create 2048 bit RSA demo certificate...");
- chain[0] = createCertificate(subject, rsa2048_sign.getPublic(),
- issuer, ca_rsa.getPrivate(), AlgorithmID.sha1WithRSAEncryption, subjectKeyID.get(), true);
- chain[1] = caRSA;
- verifier.verifyChain(chain);
-
- addToKeyStore(rsa2048_sign, chain, RSA_2048_SIGN);
- subject.removeRDN(ObjectID.commonName);
-
- // for encrypting
- System.out.println("Create RSA demo certificates to be used for encryption...");
- // 512
- subject.addRDN(ObjectID.commonName, "RSA 512 bit Demo Encryption Certificate");
- System.out.println("create 512 bit RSA demo certificate...");
- chain[0] = createCertificate(subject, rsa512_crypt.getPublic(),
- issuer, ca_rsa.getPrivate(), AlgorithmID.sha1WithRSAEncryption, subjectKeyID.get(), false);
- chain[1] = caRSA;
- // and verify the chain
- verifier.verifyChain(chain);
- addToKeyStore(rsa512_crypt, chain, RSA_512_CRYPT);
- subject.removeRDN(ObjectID.commonName);
-
- // 1024
-
- subject.addRDN(ObjectID.commonName ,"RSA 1024 bit Demo Encryption Certificate");
- System.out.println("create 1024 bit RSA demo certificate...");
- chain[0] = createCertificate(subject, rsa1024_crypt.getPublic(),
- issuer, ca_rsa.getPrivate(), AlgorithmID.sha1WithRSAEncryption, subjectKeyID.get(), false);
- chain[1] = caRSA;
- verifier.verifyChain(chain);
- addToKeyStore(rsa1024_crypt, chain, RSA_1024_CRYPT);
-
- System.out.println("create second 1024 bit RSA demo Encryption certificate...");
- chain[0] = createCertificate(subject, rsa1024_crypt_.getPublic(),
- issuer, ca_rsa.getPrivate(), AlgorithmID.sha1WithRSAEncryption, subjectKeyID.get(), false);
- chain[1] = caRSA;
- verifier.verifyChain(chain);
- addToKeyStore(rsa1024_crypt_, chain, RSA_1024_CRYPT_);
- subject.removeRDN(ObjectID.commonName);
-
- // 2048
-
- subject.addRDN(ObjectID.commonName ,"RSA 2048 bit Demo Encryption Certificate");
- System.out.println("create 2048 bit RSA demo certificate...");
- chain[0] = createCertificate(subject, rsa2048_crypt.getPublic(),
- issuer, ca_rsa.getPrivate(), AlgorithmID.sha1WithRSAEncryption, subjectKeyID.get(), false);
- chain[1] = caRSA;
- verifier.verifyChain(chain);
- addToKeyStore(rsa2048_crypt, chain, RSA_2048_CRYPT);
- subject.removeRDN(ObjectID.commonName);
- issuer.removeRDN(ObjectID.commonName);
- }
-
- // create a DSA test certificate
- if (create_dsa) {
- issuer.addRDN(ObjectID.commonName ,"IAIK DSA Test CA");
- // 512
- subject.addRDN(ObjectID.commonName ,"DSA 512 bit Demo Certificate");
- System.out.println("create 512 bit DSA demo certificate...");
- SubjectKeyIdentifier subjectKeyID = (SubjectKeyIdentifier)caDSA.getExtension(SubjectKeyIdentifier.oid);
- chain[0] = createCertificate(subject, dsa512.getPublic(),
- issuer, ca_dsa.getPrivate(), AlgorithmID.dsaWithSHA, subjectKeyID.get(), true);
- subject.removeRDN(ObjectID.commonName);
- chain[1] = caDSA;
- verifier.verifyChain(chain);
-
- addToKeyStore(dsa512, chain, DSA_512);
- // 1024
- subject.addRDN(ObjectID.commonName ,"DSA 1024 bit Demo Certificate");
- System.out.println("create 1024 bit DSA demo certificate...");
- chain[0] = createCertificate(subject, dsa1024.getPublic(),
- issuer, ca_dsa.getPrivate(), AlgorithmID.dsaWithSHA, subjectKeyID.get(), true);
- subject.removeRDN(ObjectID.commonName);
- chain[1] = caDSA;
- verifier.verifyChain(chain);
- addToKeyStore(dsa1024, chain, DSA_1024);
- issuer.removeRDN(ObjectID.commonName);
- }
-
- // create a ESDH test certificate
- if (create_esdh) {
- issuer.addRDN(ObjectID.commonName ,"IAIK DSA Test CA");
- // 512
- subject.addRDN(ObjectID.commonName ,"ESDH 512 bit Demo Certificate");
- System.out.println("create 512 bit ESDH demo certificate...");
- SubjectKeyIdentifier subjectKeyID = (SubjectKeyIdentifier)caDSA.getExtension(SubjectKeyIdentifier.oid);
- chain[0] = createCertificate(subject, esdh512.getPublic(),
- issuer, ca_dsa.getPrivate(), AlgorithmID.dsaWithSHA, subjectKeyID.get(), false);
- subject.removeRDN(ObjectID.commonName);
- chain[1] = caDSA;
- verifier.verifyChain(chain);
- addToKeyStore(esdh512, chain, ESDH_512);
- // 1024
- subject.addRDN(ObjectID.commonName ,"ESDH 1024 bit Demo Certificate 1");
- System.out.println("create 1024 bit ESDH demo certificate...");
- chain[0] = createCertificate(subject, esdh1024.getPublic(),
- issuer, ca_dsa.getPrivate(), AlgorithmID.dsaWithSHA, subjectKeyID.get(), false);
- subject.removeRDN(ObjectID.commonName);
- chain[1] = caDSA;
- verifier.verifyChain(chain);
- addToKeyStore(esdh1024, chain, ESDH_1024);
- // 1024
- subject.addRDN(ObjectID.commonName ,"ESDH 1024 bit Demo Certificate 2");
- System.out.println("create second 1024 bit ESDH demo certificate...");
- chain[0] = createCertificate(subject, esdh1024_.getPublic(),
- issuer, ca_dsa.getPrivate(), AlgorithmID.dsaWithSHA, subjectKeyID.get(), false);
- subject.removeRDN(ObjectID.commonName);
- chain[1] = caDSA;
- verifier.verifyChain(chain);
- addToKeyStore(esdh1024_, chain, ESDH_1024_);
- // 2048
- subject.addRDN(ObjectID.commonName ,"ESDH 2048 bit Demo Certificate");
- System.out.println("create 2048 bit ESDH demo certificate...");
- chain[0] = createCertificate(subject, esdh2048.getPublic(),
- issuer, ca_dsa.getPrivate(), AlgorithmID.dsaWithSHA, subjectKeyID.get(), false);
- subject.removeRDN(ObjectID.commonName);
- chain[1] = caDSA;
- verifier.verifyChain(chain);
- addToKeyStore(esdh2048, chain, ESDH_2048);
- issuer.removeRDN(ObjectID.commonName);
- }
-
- System.out.println("\nCertificates created!");
-
- } catch (Exception ex) {
- System.out.println("Exception: "+ex);
- }
- }
-
- public static void start() {
- SetupCMSKeyStore suks = new SetupCMSKeyStore();
- suks.initializeKeyStore();
- if (suks.create_only_certificates) {
- suks.getPrivateKeys();
- }
- else {
- suks.generatePrivateKeys();
- }
- suks.generateCertificates();
- suks.saveKeyStore();
- }
-
- /**
- * Creates the test certificates.
- */
- public static void main(String arg[]) throws IOException {
-
- IAIK.addAsProvider(true);
- start();
- System.in.read();
- }
-} \ No newline at end of file
diff --git a/spss.test/src/testgenerator/SignatureManifestCheckParams.java b/spss.test/src/testgenerator/SignatureManifestCheckParams.java
deleted file mode 100644
index b1505418d..000000000
--- a/spss.test/src/testgenerator/SignatureManifestCheckParams.java
+++ /dev/null
@@ -1,176 +0,0 @@
-package testgenerator;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import org.apache.xml.serialize.DOMWriterImpl;
-import org.w3c.dom.DOMImplementation;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-
-/**
- * @author knirschs
- *
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates.
- * To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class SignatureManifestCheckParams {
-/* So solls mal aussehen :-)
-
- <SignatureManifestCheckParams ReturnReferenceInputData="true">
- <ReferenceInfo>
- <VerifyTransformsInfoProfile>
- <dsig:Transforms>
- <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116">
- <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"/>
- </dsig:Transform>
- </dsig:Transforms>
- <TransformParameter URI="validURI">
- <Base64Content>validBase64Data</Base64Content>
- </TransformParameter>
- </VerifyTransformsInfoProfile>
- <VerifyTransformsInfoProfileID>validID</VerifyTransformsInfoProfileID>
- </ReferenceInfo>
- </SignatureManifestCheckParams>
-*/
- private Document document;
- private Element refInfo;
- private Element verifyTrans;
- private Element transPara;
- private Element dsigTrans;
-
- public SignatureManifestCheckParams(String returnReferenceInputData) throws Exception{
-
- // Find the implementation
- DocumentBuilderFactory factory
- = DocumentBuilderFactory.newInstance();
- factory.setNamespaceAware(true);
- DocumentBuilder builder = factory.newDocumentBuilder();
- DOMImplementation impl = builder.getDOMImplementation();
-
- // Create the document
- document = impl.createDocument(null, "SignatureManifestCheckParams", null);
-
- //document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); // Create from whole cloth
- Element root = document.getDocumentElement();
- if (returnReferenceInputData!=null)
- root.setAttribute("ReturnReferenceInputData",returnReferenceInputData);
-
- refInfo = (Element) document.createElement("ReferenceInfo");
- root.appendChild(refInfo);
-
- verifyTrans = (Element) document.createElement("VerifyTransformsInfoProfile");
-
-
- }
-
- public void addTransPara(String URI)
- {
- transPara = document.createElement("TransformParameter");
- transPara.setAttribute("URI",URI);
- verifyTrans.appendChild(transPara);
-
- }
-
-
- /**
- * Method addDsigTransform: To add an dsig:Tranform element with a special algorithm
- * @param algName
- */
- public void addDsigTransform(String algName, Element el)
- {
- if (dsigTrans==null)
- {
- dsigTrans = (Element) document.createElementNS("http://www.w3.org/2000/09/xmldsig#","Transforms");
- dsigTrans.setPrefix("dsig");
- verifyTrans.appendChild(dsigTrans);
-
- refInfo.appendChild(verifyTrans);
- }
-
-
- Element trans = document.createElementNS("http://www.w3.org/2000/09/xmldsig#","Transform");
- trans.setPrefix("dsig");
- trans.setAttribute("Algorithm",algName);
- if (el!=null) trans.appendChild(el);
- dsigTrans.appendChild(trans);
- }
-
- public void addDisgTransform(Element transformElement)
- {
- if (dsigTrans==null)
- {
- dsigTrans = (Element) document.createElementNS("http://www.w3.org/2000/09/xmldsig#","Transforms");
- dsigTrans.setPrefix("dsig");
- verifyTrans.appendChild(dsigTrans);
-
- refInfo.appendChild(verifyTrans);
- }
-
- dsigTrans.appendChild(transformElement);
- }
-
- /**
- * Method addTransformsProfileID.
- * @param id
- */
- public void addTransformsProfileID(String id)
- {
- Element profID = (Element) document.createElement("VerifyTransformsInfoProfileID");
- profID.appendChild(document.createTextNode(id));
- refInfo.appendChild(profID);
- }
-
- public void addTransParaElement(String elemName, String content)
- {
- if (elemName!="Hash") {
-
- Element eleName = document.createElement(elemName);
- eleName.appendChild(document.createTextNode(content));
- transPara.appendChild(eleName);
-
- } else {
-
- Element eleName = document.createElement(elemName);
- Element digMethod = document.createElementNS("http://www.w3.org/2000/09/xmldsig#","DigestMethod");
- digMethod.setPrefix("dsig");
- digMethod.setAttribute("Algorithm","http://www.w3.org/2000/09/xmldsig#sha1");
- eleName.appendChild(digMethod);
- Element hash = document.createElementNS("http://www.w3.org/2000/09/xmldsig#","DigestValue");
- hash.setPrefix("dsig");
- hash.appendChild(document.createTextNode(content));
- eleName.appendChild(hash);
-
- transPara.appendChild(eleName);
-
-
- }
-
- }
-
-public String returnDoc() throws Exception
- {
- String result =(new DOMWriterImpl(true)).writeToString(document.getDocumentElement());
-
- TestCases tc = new TestCases();
-
- result = TestCases.replaceString(result,"<?xml version=\"1.0\"?>","");
- try {
- result = TestCases.replaceString(result," xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"","");
- result = TestCases.replaceString(result," xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"","");
- result = TestCases.replaceString(result," xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"","");
- } catch (Exception e) {
- }
-
-
- return result;
- }
-
- public Document getDoc() throws Exception
- {
- return document;
- }
-}
diff --git a/spss.test/src/testgenerator/Supplement.java b/spss.test/src/testgenerator/Supplement.java
deleted file mode 100644
index 41edd4118..000000000
--- a/spss.test/src/testgenerator/Supplement.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package testgenerator;
-
-/**
- * @author Stevie (Admin)
- *
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates.
- * To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class Supplement {
-
- private String supplement;
- /**
- * Constructor for Supplement.
- */
- public Supplement() {
- supplement = " <SupplementProfile>\n";
-
- }
-
- public void addMetaInfo(String mimeType, String description)
- {
- supplement += " <MetaInfo>\n" +
- " <MimeType>" + mimeType + "</MimeType>";
- if (!(description==null))
- {
- supplement+= " <Description>" + description + "</Description>";
- }
-
- supplement+= " </MetaInfo>";
- }
-
- public void addBase64Content(String fileName, String data)
- {
- supplement+= " <Content Reference=\"" + fileName + "\">\n"+
- " <Base64Content>"+data+"</Base64Content>\n" +
- " </Content>\n";
-
- }
-
- public void addXMLContent(String fileName, String data)
- {
- supplement+= " <Content Reference=\"" + fileName + "\">\n"+
- " <XMLContent xml:space=\"preserve\">"+data+"</XMLContent>\n" +
- " </Content>\n";
-
- }
-
-
- public void closeSupplement()
- {
- supplement+= " </SupplementProfile>\n";
- }
-
- public String getSupplement()
- {
- return supplement;
- }
-
-
-}
diff --git a/spss.test/src/testgenerator/TestCMS.java b/spss.test/src/testgenerator/TestCMS.java
deleted file mode 100644
index e4d022383..000000000
--- a/spss.test/src/testgenerator/TestCMS.java
+++ /dev/null
@@ -1,118 +0,0 @@
-package testgenerator;
-
-import iaik.asn1.CodingException;
-import iaik.asn1.ObjectID;
-import iaik.asn1.structures.AlgorithmID;
-import iaik.asn1.structures.Attribute;
-import iaik.asn1.structures.ChoiceOfTime;
-import iaik.cms.CMSException;
-import iaik.cms.ContentInfoStream;
-import iaik.cms.SignedDataStream;
-import iaik.cms.SignerInfo;
-import iaik.utils.StreamCopier;
-import iaik.x509.X509Certificate;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.security.KeyStore;
-import java.security.Provider;
-import java.security.Security;
-import java.security.SignatureException;
-
-
-/**
- * @author Administrator
- *
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates.
- * To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class TestCMS {
-
- public static void main(String[] args)
- {
- try {
- iaik.security.provider.IAIK.addAsProvider(true);
-
- Provider [] list = Security.getProviders();
- for(int counter=0;counter<list.length;counter++)
- {
- System.out.println(list[counter].getName());
- }
-
- KeyStore.getInstance("IAIKKeyStore");
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
- }
-
- public static String getSignedDataStream(byte[] signedData, byte[] message,boolean two_users) throws CMSException, IOException {
-
- // we are testing the stream interface
- ByteArrayInputStream is = new ByteArrayInputStream(signedData);
- // create the ContentInfo object
- ContentInfoStream cis = new ContentInfoStream(is);
- System.out.println("This ContentInfo holds content of type " + cis.getContentType().getName());
- SignedDataStream signed_data = null;
-
- if (message == null) {
- // implicitly signed; get the content
- signed_data = (SignedDataStream)cis.getContent();
- }
- else {
- // explicitly signed; set the data stream for digesting the message
- AlgorithmID[] algIDs = { AlgorithmID.sha1, AlgorithmID.md5 };
- signed_data = new SignedDataStream(new ByteArrayInputStream(message), algIDs);
-
- }
-
- // get an InputStream for reading the signed content
- InputStream data = signed_data.getInputStream();
- ByteArrayOutputStream os = new ByteArrayOutputStream();
- StreamCopier sc = new StreamCopier(data, os);
- sc.copyStream();
-
-
- if (message != null) {
- // if explicitly signed read now the DER encoded object
- // an explicit S/MIME signed message also consits of message|signature
- signed_data.decode(cis.getContentInputStream());
- }
-
- System.out.println("SignedData contains the following signer information:");
- SignerInfo[] signer_infos = signed_data.getSignerInfos();
-
- for (int i=0; i<signer_infos.length; i++) {
- try {
- // verify the signed data using the SignerInfo at index i
- X509Certificate signer_cert = signed_data.verify(i);
- // if the signature is OK the certificate of the signer is returned
- System.out.println("Signature OK from signer: "+signer_cert.getSubjectDN());
- Attribute signingTime = signer_infos[i].getSignedAttribute(ObjectID.signingTime);
- if (signingTime != null) {
- ChoiceOfTime cot = new ChoiceOfTime(signingTime.getValue()[0]);
- System.out.println("This message has been signed at " + cot.getDate());
- }
- Attribute contentType = signer_infos[i].getSignedAttribute(ObjectID.contentType);
- if (contentType != null) {
- System.out.println("The content has CMS content type " + contentType.getValue()[0]);
- }
-
- } catch (SignatureException ex) {
- // if the signature is not OK a SignatureException is thrown
- System.out.println("Signature ERROR from signer: "+signed_data.getCertificate((signer_infos[i].getSignerIdentifier())).getSubjectDN());
- ex.printStackTrace();
- } catch (CodingException ex) {
- System.out.println("Attribute decoding error: " + ex.getMessage());
- ex.printStackTrace();
- }
- }
-
- return os.toString();
- }
-
-}
diff --git a/spss.test/src/testgenerator/TestCases.java b/spss.test/src/testgenerator/TestCases.java
deleted file mode 100644
index db61af297..000000000
--- a/spss.test/src/testgenerator/TestCases.java
+++ /dev/null
@@ -1,611 +0,0 @@
-package testgenerator;
-import iaik.ixsil.init.IXSILInit;
-import iaik.ixsil.util.DOMUtilsImpl;
-import iaik.ixsil.util.URI;
-
-import iaik.asn1.ASN1Object;
-import iaik.asn1.ObjectID;
-import iaik.asn1.structures.AlgorithmID;
-import iaik.asn1.structures.Attribute;
-import iaik.asn1.structures.ChoiceOfTime;
-import iaik.asn1.structures.Name;
-import iaik.cms.CMSException;
-import iaik.cms.ContentInfo;
-import iaik.cms.IssuerAndSerialNumber;
-import iaik.cms.SignedData;
-import iaik.cms.SignerInfo;
-import iaik.pkcs.pkcs12.CertificateBag;
-import iaik.pkcs.pkcs12.KeyBag;
-import iaik.pkcs.pkcs12.PKCS12;
-import iaik.security.ecc.interfaces.ECDSAPrivateKey;
-import iaik.security.provider.IAIK;
-import iaik.utils.Base64OutputStream;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.io.BufferedWriter;
-import java.io.ByteArrayOutputStream;
-import java.io.CharArrayWriter;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.RandomAccessFile;
-import java.math.BigInteger;
-import java.security.NoSuchAlgorithmException;
-import java.security.cert.X509Certificate;
-import java.security.interfaces.RSAPrivateKey;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Properties;
-
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.TransformerFactoryConfigurationError;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * Base class for all tutorial units.
- * Provides some basic functionality, such as properties and signature
- * serialization.
- */
-public class TestCases
-{
- public String Node2String(Node outputNode)
- throws
- TransformerFactoryConfigurationError,
- TransformerConfigurationException,
- TransformerException {
- CharArrayWriter caw = new CharArrayWriter();
- TransformerFactory transformerFactory =
- TransformerFactory.newInstance();
- Transformer transformer = transformerFactory.newTransformer();
- transformer.setOutputProperty(OutputKeys.METHOD, "xml");
- transformer.setOutputProperty(OutputKeys.ENCODING, "utf-8");
- transformer.transform(new DOMSource(outputNode), new StreamResult(caw));
-
- String erg = caw.toString();
- return erg;
- }
-
- public void findNode(Node base,String name,ArrayList foundNodes)
- {
- findNode(base,name,foundNodes,-1);
- }
-
-
- public void findNode(Node base,String name,ArrayList foundNodes, int max_level)
- {
- findNode(base,name,foundNodes,max_level,0);
- }
-
-
- public void findNode(Node base,String name,ArrayList foundNodes, int max_level, int level)
- {
- if(max_level!=-1 && max_level<=level) return;
- //System.out.println("FINDNODE "+name);
- //System.out.println("CHECKING "+base.getNodeName());
- if(base.getNodeName().equals(name))
- {
- //System.out.println("ADD BASE !"+name);
- foundNodes.add(base);
- }
-
- NodeList children = base.getChildNodes();
- int size = children.getLength();
- for(int counter=0;counter<size;counter++)
- {
- findNode(children.item(counter),name,foundNodes,max_level,level+1);
- }
- }
-
- Properties configuration_;
- boolean[] variations_;
-
- /* ==================================================================================================== */
-
- public TestCases() throws Exception
- {
- // Set some basic configuration properties
- configuration_ = new Properties();
-
- String baseDir = "e:/cio/projekte/basismodule/wartung/projekt/spss.test/";
- String webBaseDir = "http://localhost:8080/moa-spss-testdata/";
-
- configuration_.setProperty("baseDir", baseDir);
- configuration_.setProperty("webbaseDir", webBaseDir);
-
- configuration_.setProperty("PKCS12file", (baseDir + "/resources/test-ee2003_normal(buergerkarte).p12"));
- configuration_.setProperty("PKCS12password", "buergerkarte");
-
- configuration_.setProperty("ECDSPKCS12file", baseDir + "/resources/ecc(ego).p12");
- configuration_.setProperty("ECDSPKCS12password", "ego");
-
- configuration_.setProperty("IXSILInitPropertiesURI", "file:/" + baseDir + "resources/init.properties");
-
- configuration_.setProperty("CERT", baseDir + "resources/test-ee2003_normal_extract.cer");
-
- // Initialize IXSIL
- IXSILInit.init(new URI(configuration_.getProperty("IXSILInitPropertiesURI")));
-
- // Switch on debug information
- IXSILInit.setPrintDebugLog(true);
-
- // Add IAIK JCE provider
- IAIK.addAsProvider();
- }
-
- public String X509name = null;
- public BigInteger X509number = null;
- public String X509hash = null;
- public String X509sub = null;
- public iaik.x509.X509Certificate user1_sign = null;
-
- public void getX509Content() throws Exception
- {
- BufferedInputStream bis = new BufferedInputStream(new FileInputStream(configuration_.getProperty("CERT")));
- iaik.x509.X509Certificate cert = new iaik.x509.X509Certificate(bis);
- X509name = ((Name)(cert.getIssuerDN())).getRFC2253String();
- X509number = cert.getSerialNumber();
- X509hash = new String(cert.getFingerprintSHA());
- X509sub = ((Name)(cert.getSubjectDN())).getRFC2253String();
- }
-
- /* ==================================================================================================== */
-
- public void serialize2File(Document signature, String fileName) throws Exception
- {
- FileOutputStream signatureFIS = new FileOutputStream(fileName);
- DOMUtilsImpl.serializeDocument(signature, signatureFIS);
- }
-
- /* ==================================================================================================== */
-
- public static HashMap pkcs12cache = new HashMap();
-
- public PKCS12 decryptPKCS12( String pkcs12file, String password ) throws Exception
- {
- if(pkcs12cache.containsKey(pkcs12file)) return (PKCS12) pkcs12cache.get(pkcs12file);
- PKCS12 pkcs12 = new PKCS12(new FileInputStream(pkcs12file));
-
-// if (!pkcs12.verify(password.toCharArray())) {
-// System.out.println("could not verify pkcs12 " + pkcs12.toString() + " with password " + password);
-// } else {
-// System.out.println("verified pkcs12 " + pkcs12.toString() + " with password " + password);
-// }
-
- pkcs12.decrypt(password.toCharArray());
- System.out.println("decrypted pkcs12 " + pkcs12.toString() + " with password " + password);
- pkcs12cache.put(pkcs12file,pkcs12);
- return pkcs12;
- }
-
- /* ==================================================================================================== */
-
- public static HashMap privkeycache = new HashMap();
-
- public RSAPrivateKey getPrivateKey( PKCS12 pkcs12 ) throws Exception
- {
- if(privkeycache.containsKey(pkcs12)) return (RSAPrivateKey)privkeycache.get(pkcs12);
- KeyBag[] keyBags = pkcs12.getKeyBags();
- System.out.println("PKCS12.getKeyBags(): " + keyBags.length + " KeyBags found");
- privkeycache.put(pkcs12,keyBags[0].getPrivateKey());
- return (RSAPrivateKey) keyBags[0].getPrivateKey();
- }
-
- public static HashMap ecdsaprivkeycache = new HashMap();
-
- public ECDSAPrivateKey getPrivateKeyECDS( PKCS12 pkcs12 ) throws Exception
- {
- if(ecdsaprivkeycache.containsKey(pkcs12)) return (ECDSAPrivateKey)ecdsaprivkeycache.get(pkcs12);
- KeyBag[] keyBags = pkcs12.getKeyBags();
- System.out.println("PKCS12.getKeyBags(): " + keyBags.length + " KeyBags found");
- ecdsaprivkeycache.put(pkcs12,keyBags[0].getPrivateKey());
- return (ECDSAPrivateKey) keyBags[0].getPrivateKey();
- }
-
- /* ==================================================================================================== */
-
- public static HashMap x509cache = new HashMap();
-
- public X509Certificate[] getCertificates( PKCS12 pkcs12 ) throws Exception
- {
- if(x509cache.containsKey(pkcs12)) return (X509Certificate[])x509cache.get(pkcs12);
- X509Certificate[] ret = CertificateBag.getCertificates(pkcs12.getCertificateBags());
- x509cache.put(pkcs12,ret);
- return ret;
- }
-
- /* ==================================================================================================== */
- /* ==================Created and or changed Methods by Stefan Knirsch================================== */
- /* ==================================================================================================== */
-
- public String vxReqFile(String testNumber)
- {
- return configuration_.getProperty("baseDir") +
- "/data/VX0/"+
- configuration_.getProperty("TestClass") +
- "." +
- testNumber +
- ".Req.xml";
- }
-
- public String vxResFile(String testNumber)
- {
- return configuration_.getProperty("baseDir") +
- "/data/VX0/"+
- configuration_.getProperty("TestClass") +
- "." +
- testNumber +
- ".Res.xml";
- }
-
- public String vxReqFileL(String testNumber,String filename)
- {
- return configuration_.getProperty("baseDir") +
- "/data/LVX"+filename+"/"+
- configuration_.getProperty("TestClass") +
- "." +
- testNumber +
- ".Req.xml";
- }
-
- public String vxResFileL(String testNumber,String filename)
- {
- return configuration_.getProperty("baseDir") +
- "/data/LVX"+filename+"/"+
- configuration_.getProperty("TestClass") +
- "." +
- testNumber +
- ".Res.xml";
- }
-
- public void createVXConfig() throws Exception {
-
- String file =
- configuration_.getProperty("baseDir")
- + "resources/"
- + configuration_.getProperty("TestClass")
- + ".Config.xml";
- String config =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"+
- "<MOAConfiguration xmlns=\"http://reference.e-government.gv.at/namespace/moaconfig/20021122#\">"
- + "<TrustProfile id=\"TrustProfile1\" uri=\"file://SERVER_WORKING_DIRECTORY/TrustProfile1\"/>"
- + "<SupplementProfile id=\"SupplementProfile1\" uri=\"file://SERVER_WORKING_DIRECTORY/SupplementProfile1\"/>"
- + "<SupplementProfile id=\"SupplementProfile2\" uri=\"file://SERVER_WORKING_DIRECTORY/SupplementProfile2\"/>"
- + "</MOAConfiguration>";
-
- FileOutputStream fos = new FileOutputStream(file);
- fos.write(config.getBytes());
- }
-
- /**
- * Method replaceString.
- * @param input: String to be changed
- * @param oldPart: subString in input to be changed
- * @param newPart: new subString instead of the oldPart
- * @return String
- * @throws Exception
- */
- public static String replaceString(
- String input,
- String oldPart,
- String newPart)
- throws Exception {
- String erg = null;
-
- //First Part
- erg = input.substring(0, input.indexOf(oldPart));
- //Insert new Part
- erg += newPart;
-
- //insert REST
- erg
- += input.substring(
- input.indexOf(oldPart) + oldPart.length(),
- input.length());
-
- return erg;
- }
-
- public static String replaceStringAll(
- String input,
- String oldPart,
- String newPart)
- throws Exception {
-
- String erg = input;
-
- while(true)
- {
-
- //First Part
- int pos = input.indexOf(oldPart);
- if(pos==-1) break;
- erg = input.substring(0, pos);
-
- //Insert new Part
- erg += newPart;
-
- //insert REST
- erg
- += input.substring(
- input.indexOf(oldPart) + oldPart.length(),
- input.length());
-
- input = erg;
- }
- return erg;
- }
-
- /**
- * Method readFile.
- * @param filename
- * @return String
- * @throws Exception
- */
-
- public String readFile(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");
- }
- */
- RandomAccessFile raf = new RandomAccessFile(filename, "r");
- if (raf.length() > Integer.MAX_VALUE)
- throw new IOException("file too big to fit in byte array.");
-
- byte[] result = new byte[(int) raf.length()];
-
- raf.read(result);
-
- return new String(result);
-
- }
- /**
- * Method readBinaryFileAsBase64.
- * @param filename
- * @return Stringrepresentation as Base64 of the inputfile and saves that file
- * @throws Exception
- */
- public String readBinaryFileAsBase64_new(String filename) throws Exception {
-
- RandomAccessFile raf = new RandomAccessFile(filename, "r");
- if (raf.length() > Integer.MAX_VALUE)
- throw new IOException("file too big to fit in byte array.");
- byte[] result = new byte[(int) raf.length()];
- //READ the original binary Data
- raf.read(result);
-
- //Convert the data to bas64 and store it in a new file
-
- ByteArrayOutputStream fos = new ByteArrayOutputStream();
- Base64OutputStream base64os = new Base64OutputStream(fos);
- base64os.write(result);
- base64os.flush();
-
- return fos.toString();
-
- }
- public String readBinaryFileAsBase64(String filename) throws Exception {
-
- RandomAccessFile raf = new RandomAccessFile(filename, "r");
- if (raf.length() > Integer.MAX_VALUE)
- throw new IOException("file too big to fit in byte array.");
- byte[] result = new byte[(int) raf.length()];
- //READ the original binary Data
- raf.read(result);
-
- //Convert the data to bas64 and store it in a new file
- FileOutputStream fos = new FileOutputStream(filename + "base64.enc");
- Base64OutputStream base64os = new Base64OutputStream(fos);
- base64os.write(result);
- base64os.flush();
- base64os.close();
-
- //read the converted data und return it
- raf = new RandomAccessFile(filename + "base64.enc", "r");
- if (raf.length() > Integer.MAX_VALUE)
- throw new IOException("Converted base64 file too big to fit in byte array.");
- result = new byte[(int) raf.length()];
- //READ the original binary Data
- raf.read(result);
-
- return new String(result);
-
- }
-
- /**
- * Method writeFile.
- * @param filename
- * @param data
- * @throws Exception
- */
- public void writeFile(String filename, String data) throws Exception {
- BufferedWriter bw = new BufferedWriter(new FileWriter(filename));
- bw.write(data);
- bw.close();
- }
-
- /**
- * Method writeFileBinary
- * @param filename
- * @param data
- * @throws Exception
- */
- public void writeFileBinary(String filename, byte[] data) throws Exception {
- BufferedOutputStream bw = new BufferedOutputStream(new FileOutputStream(filename));
- bw.write(data);
- bw.close();
- }
- /**
- * Method getDate.
- * @param changeHours to change the time into the past or future
- * @return String
- */
-
- public String getDate(long changeHours) {
-
- //Use the XML-Format for the Time
- SimpleDateFormat formatter =
- new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'+01:00");
- //get the current Time
- Date currentTime = new Date();
- //add or substract a few hours
- currentTime.setTime(
- (currentTime.getTime() + changeHours * 1000 * 60 * 60));
-
- return formatter.format(currentTime);
- }
-
- public ASN1Object createSignedCMSData(byte[] message, int mode,boolean two_users) throws Exception {
-
- System.out.println("Create a new message signed by user 1:");
-
- // create a new SignedData object which includes the data
- SignedData signed_data = new SignedData(message, mode);
- // SignedData shall include the certificate chain for verifying
-
- PKCS12 pkcs12 = decryptPKCS12(
- configuration_.getProperty("PKCS12file"),
- configuration_.getProperty("PKCS12password"));
-
- BufferedInputStream bis = new BufferedInputStream(new FileInputStream(configuration_.getProperty("CERT")));
- iaik.x509.X509Certificate cert = new iaik.x509.X509Certificate(bis);
- user1_sign = cert;
- X509name = ((Name)(cert.getIssuerDN())).getRFC2253String();
- X509number = cert.getSerialNumber();
- X509hash = new String(cert.getFingerprintSHA());
- X509sub = ((Name)cert.getSubjectDN()).getRFC2253String();
-
- iaik.x509.X509Certificate[] certarray = new iaik.x509.X509Certificate[1];
- certarray[0] = cert;
-
- signed_data.setCertificates(certarray);
-
-
- RSAPrivateKey privateKey = getPrivateKey( pkcs12 );
-
- // cert at index 0 is the user certificate
- IssuerAndSerialNumber issuer = new IssuerAndSerialNumber((Name)cert.getIssuerDN(),X509number);
-
- // create a new SignerInfo
- SignerInfo signer_info = new SignerInfo(issuer, AlgorithmID.sha1, privateKey);
- // create some authenticated attributes
- // the message digest attribute is automatically added
- Attribute[] attributes = new Attribute[2];
- // content type is data
- attributes[0] = new Attribute(ObjectID.contentType, new ASN1Object[] {ObjectID.cms_data});
- // signing time is now
- attributes[1] = new Attribute(ObjectID.signingTime, new ASN1Object[] {new ChoiceOfTime().toASN1Object()});
- // set the attributes
- signer_info.setSignedAttributes(attributes);
- // finish the creation of SignerInfo by calling method addSigner
- try {
- signed_data.addSignerInfo(signer_info);
-
- if(two_users)
- {
- // another SignerInfo without authenticated attributes and MD5 as hash algorithm
- signer_info = new SignerInfo(new IssuerAndSerialNumber((Name)cert.getIssuerDN(),X509number),
- AlgorithmID.md5, privateKey);
- // the message digest itself is protected
- signed_data.addSignerInfo(signer_info);
- }
-
- } catch (NoSuchAlgorithmException ex) {
- ex.printStackTrace();
- throw new CMSException("No implementation for signature algorithm: "+ex.getMessage());
- }
-
- ContentInfo ci = new ContentInfo(signed_data);
- return ci.toASN1Object();
- }
-
- public ASN1Object createSignedCMSData(byte[] message, int mode,boolean two_users,String pkcs12file,String pkcs12password,String certname) throws Exception {
-
- System.out.println("Create a new message signed by user 1:");
-
- // create a new SignedData object which includes the data
- SignedData signed_data = new SignedData(message, mode);
- // SignedData shall include the certificate chain for verifying
-
- PKCS12 pkcs12 = decryptPKCS12(
- configuration_.getProperty(pkcs12file),
- configuration_.getProperty(pkcs12password));
-
- BufferedInputStream bis = new BufferedInputStream(new FileInputStream(configuration_.getProperty(certname)));
- iaik.x509.X509Certificate cert = new iaik.x509.X509Certificate(bis);
- X509name = ((Name)(cert.getIssuerDN())).getRFC2253String();
- X509number = cert.getSerialNumber();
- X509hash = new String(cert.getFingerprintSHA());
- X509sub = ((Name)cert.getSubjectDN()).getRFC2253String();
-
- iaik.x509.X509Certificate[] certarray = new iaik.x509.X509Certificate[1];
- certarray[0] = cert;
-
- signed_data.setCertificates(certarray);
-
-
- RSAPrivateKey privateKey = getPrivateKey( pkcs12 );
-
- // cert at index 0 is the user certificate
- IssuerAndSerialNumber issuer = new IssuerAndSerialNumber((Name)cert.getIssuerDN(),X509number);
-
- // create a new SignerInfo
- SignerInfo signer_info = new SignerInfo(issuer, AlgorithmID.sha1, privateKey);
- // create some authenticated attributes
- // the message digest attribute is automatically added
- Attribute[] attributes = new Attribute[2];
- // content type is data
- attributes[0] = new Attribute(ObjectID.contentType, new ASN1Object[] {ObjectID.cms_data});
- // signing time is now
- attributes[1] = new Attribute(ObjectID.signingTime, new ASN1Object[] {new ChoiceOfTime().toASN1Object()});
- // set the attributes
- signer_info.setSignedAttributes(attributes);
- // finish the creation of SignerInfo by calling method addSigner
- try {
- signed_data.addSignerInfo(signer_info);
-
- if(two_users)
- {
- // another SignerInfo without authenticated attributes and MD5 as hash algorithm
- signer_info = new SignerInfo(new IssuerAndSerialNumber((Name)cert.getIssuerDN(),X509number),
- AlgorithmID.md5, privateKey);
- // the message digest itself is protected
- signed_data.addSignerInfo(signer_info);
- }
-
- } catch (NoSuchAlgorithmException ex) {
- throw new CMSException("No implementation for signature algorithm: "+ex.getMessage());
- }
-
- ContentInfo ci = new ContentInfo(signed_data);
- return ci.toASN1Object();
- }
-
-public String cutXML(String input)
- {
- int pos = input.indexOf(">");
- if(pos!=-1)
- return input.substring(pos+1);
- else
- return input;
- }
-
-
-}
diff --git a/spss.test/src/testgenerator/TestGeneratorCX0.java b/spss.test/src/testgenerator/TestGeneratorCX0.java
deleted file mode 100644
index 31778c6a2..000000000
--- a/spss.test/src/testgenerator/TestGeneratorCX0.java
+++ /dev/null
@@ -1,2940 +0,0 @@
-
-package testgenerator;
-import iaik.apps.util.passphrase.PassphrasePrompt;
-import iaik.asn1.structures.Name;
-import iaik.ixsil.algorithms.CanonicalizationAlgorithmImplCanonicalXML;
-import iaik.ixsil.algorithms.DigestAlgorithmImplSHA1;
-import iaik.ixsil.algorithms.SignatureAlgorithmImplECDSA;
-import iaik.ixsil.algorithms.SignatureAlgorithmImplRSA;
-import iaik.ixsil.algorithms.TransformImplBase64Decode;
-import iaik.ixsil.core.Signer;
-import iaik.ixsil.core.SignerManifest;
-import iaik.ixsil.core.SignerReference;
-import iaik.ixsil.core.SignerSignature;
-import iaik.ixsil.core.SignerSignedInfo;
-import iaik.ixsil.init.IXSILConstants;
-import iaik.ixsil.init.IXSILInit;
-import iaik.ixsil.keyinfo.KeyManagerImpl;
-import iaik.ixsil.keyinfo.x509.KeyProviderImplX509Data;
-import iaik.ixsil.keyinfo.x509.X509Data;
-import iaik.ixsil.util.URI;
-import iaik.pkcs.pkcs11.objects.Certificate;
-import iaik.pkcs.pkcs11.objects.PrivateKey;
-import iaik.pkcs.pkcs11.objects.PublicKey;
-import iaik.pkcs.pkcs11.provider.IAIKPkcs11;
-import iaik.pkcs.pkcs11.provider.keys.IAIKPKCS11RsaPrivateKey;
-import iaik.pkcs.pkcs11.provider.keys.IAIKPKCS11RsaPublicKey;
-import iaik.pkcs.pkcs12.CertificateBag;
-import iaik.pkcs.pkcs12.PKCS12;
-import iaik.security.ecc.interfaces.ECDSAPrivateKey;
-import iaik.security.provider.IAIK;
-import iaik.utils.Base64OutputStream;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.FileOutputStream;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.RandomAccessFile;
-import java.net.URL;
-import java.security.Key;
-import java.security.KeyStore;
-import java.security.Security;
-import java.security.Signature;
-import java.security.cert.X509Certificate;
-import java.security.interfaces.RSAPrivateKey;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.Properties;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import org.apache.xerces.dom.DocumentFragmentImpl;
-import org.w3c.dom.Document;
-import org.w3c.dom.DocumentFragment;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-import at.gv.egovernment.moa.util.Base64Utils;
-import at.gv.egovernment.moa.util.DOMUtils;
-
-import sun.misc.BASE64Encoder;
-
-/**
- * @author stephan
- */
-public class TestGeneratorCX0 extends TestCases {
-
- String datadirectory = "data/CX0/";
- String datadirectory_3 = "data/CX3/";
- String datadirectory_4 = "data/CX4/";
- String datadirectory_l = "data/LCX";
-
- public String defaultblock = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>" +
- "<CreateXMLSignatureRequest\n" +
- " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
- " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">\n"+
- " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
- " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
- " <DataObjectInfo Structure=\"detached\" ChildOfManifest=\"false\">\n"+
- " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testDaten.txt\">\n"+
- " <!-- Hint -->\n"+
- " </DataObject>\n"+
- " <CreateTransformsInfoProfile>\n"+
- " <CreateTransformsInfo>\n"+
- " <FinalDataMetaInfo>\n"+
- " <MimeType>text/plain</MimeType>\n"+
- " </FinalDataMetaInfo>\n"+
- " </CreateTransformsInfo>\n"+
- " </CreateTransformsInfoProfile>\n"+
- " </DataObjectInfo>\n"+
- " </SingleSignatureInfo>\n"+
- "</CreateXMLSignatureRequest>";
-
- public static void main(String[] args) throws Exception {
- TestGeneratorCX0 testcase = new TestGeneratorCX0();
-
- testcase.createConfig();
- testcase.create001();
- testcase.create002();
- testcase.create003();
- //testcase.create004();
- testcase.create005();
- //testcase.create006();
- testcase.create007();
- testcase.create008();
- testcase.create009();
- testcase.create010();
- testcase.create011();
- testcase.create012();
- testcase.create013();
- testcase.create014();
- testcase.create015();
- testcase.create016();
- testcase.create017();
- testcase.create018();
- testcase.create019();
-
- testcase.create051();
- testcase.create052();
- testcase.create053();
- testcase.create054();
- testcase.create055();
- testcase.create056();
- testcase.create057();
- testcase.create058();
- testcase.create059();
- testcase.create060();
- //testcase.create061();
- testcase.create062();
- //testcase.create063();
- testcase.create064();
- testcase.create065();
-
- //testcase.createL00();*/
-
- }
-
- /* ==================================================================================================== */
-
- public TestGeneratorCX0() throws Exception {
-
- super();
-
- // Set config properties
- configuration_.setProperty("TestClass", "TestGeneratorCX0");
-// 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.provider.IAIK.addAsJDK14Provider();
- iaik.security.ecc.provider.ECCProvider.addAsProvider();
- //iaik.security.ecc.provider.ECCProvider.addAsProvider();
- }
-
- /* ==================================================================================================== */
-
- public Document createECDSPKCS12Sig(String tn,String fileref) throws Exception
- {
- String TestNumber = tn;
-
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Res.xml";
-
- // String res = "emtpy";
- // FileOutputStream resFOS = new FileOutputStream(resFile);
- // resFOS.write(res.getBytes());
-
- PKCS12 pkcs12 = decryptPKCS12(
- configuration_.getProperty("ECDSPKCS12file"),
- configuration_.getProperty("ECDSPKCS12password" ) );
-
- // Create signature generator
- URI baseURI = new URI(IXSILConstants.DUMMY_ABSURI_);
- Signer signer = new Signer(baseURI);
-
- // Configure signed information
-
- // Get interface for signed information
- SignerSignedInfo signedInfo = signer.getSignature().getSignerSignedInfo();
-
- // Set canonicalization algorithm
- CanonicalizationAlgorithmImplCanonicalXML c14nAlg =
- new CanonicalizationAlgorithmImplCanonicalXML();
- signedInfo.setCanonicalizationAlgorithm(c14nAlg);
-
- CertificateBag cb[] = pkcs12.getCertificateBags();
- System.out.println("LEN:"+cb.length);
- iaik.x509.X509Certificate cert[] = cb[0].getCertificates(cb);
- System.out.println("LEN2:"+cert.length);
- System.out.println("CERT:"+(((Name)(cert[0].getIssuerDN())).getRFC2253String()));
-
-
- // Set signature algorithm
- /* TODO: Change to ECDS Impl */
- SignatureAlgorithmImplECDSA signatureAlg = new SignatureAlgorithmImplECDSA();
- ECDSAPrivateKey privateKey = getPrivateKeyECDS( pkcs12 );
- signatureAlg.setSignerKey(privateKey);
- signedInfo.setSignatureAlgorithm(signatureAlg);
-
- // Create and configure reference
- URI refURI = null;
- String baseDir = configuration_.getProperty("baseDir");
- refURI = new URI(fileref);
-
- SignerReference reference = signedInfo.createReference();
- reference.setURI(refURI);
- reference.setId("reference-1-1");
- DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
- reference.setDigestAlgorithm(digestAlg);
-
- // Add reference to signature
- signedInfo.addReference(reference);
-
- // Create key information
- KeyManagerImpl keyManager = new KeyManagerImpl(signer.toDocument());
-
- X509Certificate[] certs = getCertificates(pkcs12);
- X509Data x509Data = new X509Data();
- for (int i = 0; i < certs.length; i++)
- {
- x509Data.insertHintAt(certs[i], i);
- }
-
- KeyProviderImplX509Data x509DataKeyProvider = new KeyProviderImplX509Data(signer.toDocument());
- x509DataKeyProvider.insertX509DataAt(x509Data, 0);
-
- // X509Data key information (certificate chain)
- keyManager.addKeyProvider(x509DataKeyProvider);
-
- signer.getSignature().setKeyManager(keyManager);
- signer.getSignature().setId("signature-1-1");
- // Compute signature value
- signer.getSignature().sign();
- Document doc = signer.toDocument();
- System.out.println(doc.getDocumentElement().getNodeName());
-
- return doc;
- }
-
- public Document createPKCS12Sig(String tn,String fileref) throws Exception
- {
- return createPKCS12Sig(tn,fileref,false,false,null,false);
- }
-
- public Document createPKCS12Sig(String tn,String fileref,String id1,String id2) throws Exception
- {
- return createPKCS12Sig(tn,fileref,false,false,null,false,id1,id2);
- }
-
- public Document createPKCS12SigWithEnveloping(String TestNumber,String data) throws Exception
- {
- return createPKCS12Sig(TestNumber,data,true,false,null,false);
- }
-
- public Document createPKCS12Sig(String TestNumber,String data,boolean env,boolean mani) throws Exception
- {
- return createPKCS12Sig(TestNumber,data,env,mani,null,false);
- }
-
- public Document createPKCS12Sig(String TestNumber,String data,boolean env,boolean mani,String data2,boolean env2) throws Exception
- {
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Res.xml";
-
- PKCS12 pkcs12 = decryptPKCS12(
- configuration_.getProperty("PKCS12file"),
- configuration_.getProperty("PKCS12password" ) );
-
- // Create signature generator
- URI baseURI = new URI(IXSILConstants.DUMMY_ABSURI_);
- Signer signer = new Signer(baseURI);
-
- // Configure signed information
-
- // Get interface for signed information
- SignerSignature signature = signer.getSignature();
- SignerSignedInfo signedInfo = signer.getSignature().getSignerSignedInfo();
-
- // Set canonicalization algorithm
- CanonicalizationAlgorithmImplCanonicalXML c14nAlg =
- new CanonicalizationAlgorithmImplCanonicalXML();
- signedInfo.setCanonicalizationAlgorithm(c14nAlg);
-
- // Set signature algorithm
- SignatureAlgorithmImplRSA signatureAlg = new SignatureAlgorithmImplRSA();
- RSAPrivateKey privateKey = getPrivateKey( pkcs12 );
- signatureAlg.setSignerKey(privateKey);
- signedInfo.setSignatureAlgorithm(signatureAlg);
-
- if(!mani)
- {
- SignerReference reference = signedInfo.createReference();
- if(env)
- {
- iaik.ixsil.core.Object object = null;
- //object = signature.createObject(data);
- if(data.startsWith("<xml"))
- {
- DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
- Document doc = db.parse(new ByteArrayInputStream(data.getBytes()));
-
- object = signature.createObject(doc.getDocumentElement());
- }
- else if(data.startsWith("<Testdaten"))
- {
-
- DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
- Document doc = db.parse(new ByteArrayInputStream(("<?xml version=\"1.0\" encoding=\"utf-8\"?>"+data).getBytes()));
-
- object = signature.createObject(doc.getDocumentElement());
- }
- else if(data.startsWith("b64:"))
- {
- data = data.substring(4);
- DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
- Document doc = db.newDocument();
- Element root = doc.createElement("root");
- doc.appendChild(root);
- //String encoded = Base64Utils.encode(data.getBytes());
- String encoded = Base64Utils.encode(data.getBytes());
- /*encoded = replaceStringAll(encoded,"\n","");
- encoded = replaceStringAll(encoded,"\r","");*/
- Text textnode = doc.createTextNode(encoded);
-
- System.out.println("Encoded:"+encoded);
- //root.appendChild(textnode);
-
- DocumentFragment df = doc.createDocumentFragment();
-
- df.appendChild(textnode);
-
- object = signature.createObject(df);
-
- TransformImplBase64Decode trans = new TransformImplBase64Decode();
- InputStream s = new ByteArrayInputStream(encoded.getBytes());
- trans.setInput(s,null);
-
- reference.insertTransformAt(trans,0);
- }
- else
- {
- object = signature.createObject(data);
- }
-
- object.setId("signed-data-1-1-1");
- signature.addObject(object);
-
- DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
- reference.setDigestAlgorithm(digestAlg);
-
- reference.setURI(new URI("#xpointer(id('signed-data-1-1-1')/node())"));
-
-
- }
- else
- {
- // Create and configure reference
- URI refURI = null;
- String baseDir = configuration_.getProperty("baseDir");
- refURI = new URI(data);
-
-
- reference.setURI(refURI);
- DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
- reference.setDigestAlgorithm(digestAlg);
- }
- reference.setId("reference-1-1");
- signedInfo.addReference(reference);
- }
-
- if(data2!=null)
- {
- SignerReference reference = signedInfo.createReference();
- reference = signedInfo.createReference();
- if(env2)
- {
- iaik.ixsil.core.Object object = null;
- if(data2.startsWith("<xml"))
- {
- DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
- Document doc = db.parse(new ByteArrayInputStream(data.getBytes()));
-
- object = signature.createObject(doc.getDocumentElement());
- }
- else if(data2.startsWith("<Testdaten"))
- {
-
- DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
- Document doc = db.parse(new ByteArrayInputStream(("<?xml version=\"1.0\" encoding=\"utf-8\"?>"+data).getBytes()));
-
- object = signature.createObject(doc.getDocumentElement());
- }
- else
- object = signature.createObject(data2);
-
- if(!env)
- object.setId("signed-data-1-2-1");
- else
- object.setId("signed-data-1-2-1");
- signature.addObject(object);
-
- DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
- reference.setDigestAlgorithm(digestAlg);
-
- if(!env)
- reference.setURI(new URI("#xpointer(id('signed-data-1-2-1')/node())"));
- else
- reference.setURI(new URI("#xpointer(id('signed-data-1-2-1')/node())"));
- }
- else
- {
- // Create and configure reference
- URI refURI = null;
- String baseDir = configuration_.getProperty("baseDir");
- refURI = new URI(data2);
-
-
- reference.setURI(refURI);
- DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
- reference.setDigestAlgorithm(digestAlg);
- }
- reference.setId("reference-1-2");
- signedInfo.addReference(reference);
- }
-
- // Add reference to signature
-
-
-
- if(mani)
- {
-
- /*iaik.ixsil.core.Object object = null;
- if(env)
- object = signature.createObject(readFile(data));
- else
- object = signature.createObject(data);
-
- object.setId("envelopedData");
- signature.addObject(object);*/
- SignerReference reference = signedInfo.createReference();
- SignerManifest manifest = signer.createManifest();
- SignerReference manifestRef = manifest.createReference();
-
- DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
- manifestRef.setDigestAlgorithm(digestAlg);
-
- manifestRef.setURI(new URI(data));
- manifestRef.setId("reference-1-1");
-
- manifest.addReference(manifestRef);
- manifest.setId("dsig-manifest-1-1");
- iaik.ixsil.core.Object manifestObject = signature.createObject(manifest);
- signature.addObject(manifestObject);
- manifest.computeDigestValues();
-
- reference = signedInfo.createReference();
- reference.setURI(
- new URI("#dsig-manifest-1-1"));
- reference.setType(new URI(IXSILConstants.REFERENCETYPE_ATTR_VALUE_MANIFEST_));
- reference.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
-
- // Add reference to signature
- signedInfo.addReference(reference);
-
-
- /*Element envelopedDataElem =
- signer.toDocument().createElement("EnvelopedDataElement");
-
- if(env)
- {
- envelopedDataElem.appendChild(
- signer.toDocument().createTextNode(readFile(data)));
- }
- else
- {
- envelopedDataElem.appendChild(
- signer.toDocument().createTextNode(data));
- }
-
- iaik.ixsil.core.Object object = signature.createObject(envelopedDataElem);
- signature.addObject(object);
-
- // Create Manifest with a single reference pointing to the enveloped data
- SignerManifest manifest = signer.createManifest();
- SignerReference manifestRef = manifest.createReference();
- manifestRef.setURI(
- new URI(
- null,
- null,
- null,
- null,
- "xmlns(dsig="
- + IXSILConstants.NAMESPACE_URI_XMLSIGNATURE_ELEM_
- + ") "
- + "xpointer(here()/ancestor::dsig:Signature[1]/dsig:Object[1]/descendant::node())"));
- manifestRef.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
- manifest.addReference(manifestRef);
-
- // Add Manifest to signature structure (use an Object) and compute digest values for manifest reference
- iaik.ixsil.core.Object manifestObject = signature.createObject(manifest);
- signature.addObject(manifestObject);
- manifest.computeDigestValues();
-
- // Create and configure reference to manifest
- reference = signedInfo.createReference();
- reference.setURI(
- new URI(
- null,
- null,
- null,
- null,
- "xmlns(dsig="
- + IXSILConstants.NAMESPACE_URI_XMLSIGNATURE_ELEM_
- + ") "
- + "xpointer(here()/ancestor::dsig:Signature[1]/dsig:Object[2]/dsig:Manifest)"));
- reference.setType(new URI(IXSILConstants.REFERENCETYPE_ATTR_VALUE_MANIFEST_));
- reference.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
-
- // Add reference to signature
- signedInfo.addReference(reference);*/
- }
-
- // Create key information
- KeyManagerImpl keyManager = new KeyManagerImpl(signer.toDocument());
-
- X509Certificate[] certs = getCertificates(pkcs12);
- X509Data x509Data = new X509Data();
- x509Data.insertHintAt(certs[1], 0);
- /*for (int i = 0; i < certs.length; i++)
- {
-
- }*/
-
- KeyProviderImplX509Data x509DataKeyProvider = new KeyProviderImplX509Data(signer.toDocument());
- x509DataKeyProvider.insertX509DataAt(x509Data, 0);
-
- // X509Data key information (certificate chain)
- keyManager.addKeyProvider(x509DataKeyProvider);
-
- signer.getSignature().setKeyManager(keyManager);
- signer.getSignature().setId("signature-1-1");
- // Compute signature value
- signer.getSignature().sign();
-
- return signer.toDocument();
- }
-
- public Document createPKCS12Sig(String TestNumber,String data,boolean env,boolean mani,String data2,boolean env2,String id1,String id2) throws Exception
- {
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Res.xml";
-
- PKCS12 pkcs12 = decryptPKCS12(
- configuration_.getProperty("PKCS12file"),
- configuration_.getProperty("PKCS12password" ) );
-
- // Create signature generator
- URI baseURI = new URI(IXSILConstants.DUMMY_ABSURI_);
- Signer signer = new Signer(baseURI);
-
- // Configure signed information
-
- // Get interface for signed information
- SignerSignature signature = signer.getSignature();
- SignerSignedInfo signedInfo = signer.getSignature().getSignerSignedInfo();
-
- // Set canonicalization algorithm
- CanonicalizationAlgorithmImplCanonicalXML c14nAlg =
- new CanonicalizationAlgorithmImplCanonicalXML();
- signedInfo.setCanonicalizationAlgorithm(c14nAlg);
-
- // Set signature algorithm
- SignatureAlgorithmImplRSA signatureAlg = new SignatureAlgorithmImplRSA();
- RSAPrivateKey privateKey = getPrivateKey( pkcs12 );
- signatureAlg.setSignerKey(privateKey);
- signedInfo.setSignatureAlgorithm(signatureAlg);
-
- if(!mani)
- {
- SignerReference reference = signedInfo.createReference();
- if(env)
- {
- iaik.ixsil.core.Object object = null;
- //object = signature.createObject(data);
- if(data.startsWith("<xml"))
- {
- DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
- Document doc = db.parse(new ByteArrayInputStream(data.getBytes()));
-
- object = signature.createObject(doc.getDocumentElement());
- }
- else if(data.startsWith("<Testdaten"))
- {
-
- DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
- Document doc = db.parse(new ByteArrayInputStream(("<?xml version=\"1.0\" encoding=\"utf-8\"?>"+data).getBytes()));
-
- object = signature.createObject(doc.getDocumentElement());
- }
- else if(data.startsWith("b64:"))
- {
- data = data.substring(4);
- DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
- Document doc = db.newDocument();
- Element root = doc.createElement("root");
- doc.appendChild(root);
- //String encoded = Base64Utils.encode(data.getBytes());
- String encoded = Base64Utils.encode(data.getBytes());
- /*encoded = replaceStringAll(encoded,"\n","");
- encoded = replaceStringAll(encoded,"\r","");*/
- Text textnode = doc.createTextNode(encoded);
-
- System.out.println("Encoded:"+encoded);
- //root.appendChild(textnode);
-
- DocumentFragment df = doc.createDocumentFragment();
-
- df.appendChild(textnode);
-
- object = signature.createObject(df);
-
- TransformImplBase64Decode trans = new TransformImplBase64Decode();
- InputStream s = new ByteArrayInputStream(encoded.getBytes());
- trans.setInput(s,null);
-
- reference.insertTransformAt(trans,0);
- }
- else
- {
- object = signature.createObject(data);
- }
-
- object.setId("signed-data-1-1-1");
- signature.addObject(object);
-
- DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
- reference.setDigestAlgorithm(digestAlg);
-
- reference.setURI(new URI("#xpointer(id('signed-data-1-1-1')/node())"));
-
-
- }
- else
- {
- // Create and configure reference
- URI refURI = null;
- String baseDir = configuration_.getProperty("baseDir");
- refURI = new URI(data);
-
-
- reference.setURI(refURI);
- DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
- reference.setDigestAlgorithm(digestAlg);
- }
- reference.setId("reference-2-1");
- signedInfo.addReference(reference);
- }
-
- if(data2!=null)
- {
- SignerReference reference = signedInfo.createReference();
- reference = signedInfo.createReference();
- if(env2)
- {
- iaik.ixsil.core.Object object = null;
- if(data2.startsWith("<xml"))
- {
- DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
- Document doc = db.parse(new ByteArrayInputStream(data.getBytes()));
-
- object = signature.createObject(doc.getDocumentElement());
- }
- else if(data2.startsWith("<Testdaten"))
- {
-
- DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
- Document doc = db.parse(new ByteArrayInputStream(("<?xml version=\"1.0\" encoding=\"utf-8\"?>"+data).getBytes()));
-
- object = signature.createObject(doc.getDocumentElement());
- }
- else
- object = signature.createObject(data2);
-
- if(!env)
- object.setId("signed-data-1-2-1");
- else
- object.setId("signed-data-1-2-1");
- signature.addObject(object);
-
- DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
- reference.setDigestAlgorithm(digestAlg);
-
- if(!env)
- reference.setURI(new URI("#xpointer(id('signed-data-1-2-1')/node())"));
- else
- reference.setURI(new URI("#xpointer(id('signed-data-1-2-1')/node())"));
- }
- else
- {
- // Create and configure reference
- URI refURI = null;
- String baseDir = configuration_.getProperty("baseDir");
- refURI = new URI(data2);
-
-
- reference.setURI(refURI);
- DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
- reference.setDigestAlgorithm(digestAlg);
- }
- reference.setId("reference-1-2");
- signedInfo.addReference(reference);
- }
-
- // Add reference to signature
-
-
-
- if(mani)
- {
-
- /*iaik.ixsil.core.Object object = null;
- if(env)
- object = signature.createObject(readFile(data));
- else
- object = signature.createObject(data);
-
- object.setId("envelopedData");
- signature.addObject(object);*/
- SignerReference reference = signedInfo.createReference();
- SignerManifest manifest = signer.createManifest();
- SignerReference manifestRef = manifest.createReference();
-
- DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
- manifestRef.setDigestAlgorithm(digestAlg);
-
- manifestRef.setURI(new URI(data));
- manifestRef.setId("reference-1-1");
-
- manifest.addReference(manifestRef);
- manifest.setId("dsig-manifest-1-1");
- iaik.ixsil.core.Object manifestObject = signature.createObject(manifest);
- signature.addObject(manifestObject);
- manifest.computeDigestValues();
-
- reference = signedInfo.createReference();
- reference.setURI(
- new URI("#dsig-manifest-1-1"));
- reference.setType(new URI(IXSILConstants.REFERENCETYPE_ATTR_VALUE_MANIFEST_));
- reference.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
-
- // Add reference to signature
- signedInfo.addReference(reference);
-
-
- /*Element envelopedDataElem =
- signer.toDocument().createElement("EnvelopedDataElement");
-
- if(env)
- {
- envelopedDataElem.appendChild(
- signer.toDocument().createTextNode(readFile(data)));
- }
- else
- {
- envelopedDataElem.appendChild(
- signer.toDocument().createTextNode(data));
- }
-
- iaik.ixsil.core.Object object = signature.createObject(envelopedDataElem);
- signature.addObject(object);
-
- // Create Manifest with a single reference pointing to the enveloped data
- SignerManifest manifest = signer.createManifest();
- SignerReference manifestRef = manifest.createReference();
- manifestRef.setURI(
- new URI(
- null,
- null,
- null,
- null,
- "xmlns(dsig="
- + IXSILConstants.NAMESPACE_URI_XMLSIGNATURE_ELEM_
- + ") "
- + "xpointer(here()/ancestor::dsig:Signature[1]/dsig:Object[1]/descendant::node())"));
- manifestRef.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
- manifest.addReference(manifestRef);
-
- // Add Manifest to signature structure (use an Object) and compute digest values for manifest reference
- iaik.ixsil.core.Object manifestObject = signature.createObject(manifest);
- signature.addObject(manifestObject);
- manifest.computeDigestValues();
-
- // Create and configure reference to manifest
- reference = signedInfo.createReference();
- reference.setURI(
- new URI(
- null,
- null,
- null,
- null,
- "xmlns(dsig="
- + IXSILConstants.NAMESPACE_URI_XMLSIGNATURE_ELEM_
- + ") "
- + "xpointer(here()/ancestor::dsig:Signature[1]/dsig:Object[2]/dsig:Manifest)"));
- reference.setType(new URI(IXSILConstants.REFERENCETYPE_ATTR_VALUE_MANIFEST_));
- reference.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
-
- // Add reference to signature
- signedInfo.addReference(reference);*/
- }
-
- // Create key information
- KeyManagerImpl keyManager = new KeyManagerImpl(signer.toDocument());
-
- X509Certificate[] certs = getCertificates(pkcs12);
- X509Data x509Data = new X509Data();
- x509Data.insertHintAt(certs[1], 0);
- /*for (int i = 0; i < certs.length; i++)
- {
-
- }*/
-
- KeyProviderImplX509Data x509DataKeyProvider = new KeyProviderImplX509Data(signer.toDocument());
- x509DataKeyProvider.insertX509DataAt(x509Data, 0);
-
- // X509Data key information (certificate chain)
- keyManager.addKeyProvider(x509DataKeyProvider);
-
- signer.getSignature().setKeyManager(keyManager);
- signer.getSignature().setId("signature-2-1");
- // Compute signature value
- signer.getSignature().sign();
-
- return signer.toDocument();
- }
-
- public Document createHSMSig(String TestNumber,String data,boolean env,boolean mani,String data2,boolean env2) throws Exception
- {
- String keyId = null;
- String certId = null;
-
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Res.xml";
-
- // Create signature generator
- URI baseURI = new URI(IXSILConstants.DUMMY_ABSURI_);
- Signer signer = new Signer(baseURI);
-
- // Configure signed information
-
- // Get interface for signed information
- SignerSignature signature = signer.getSignature();
- SignerSignedInfo signedInfo = signer.getSignature().getSignerSignedInfo();
-
- // Set canonicalization algorithm
- CanonicalizationAlgorithmImplCanonicalXML c14nAlg =
- new CanonicalizationAlgorithmImplCanonicalXML();
- signedInfo.setCanonicalizationAlgorithm(c14nAlg);
-
- Properties config = new Properties();
- config.put("PKCS11_NATIVE_MODULE","cryptoki.dll");
- config.put("SLOT_ID","0");
- config.put("DEFAULT_PROMPT_DIALOG","testgenerator.Pass");
-
- Security.addProvider(new IAIK());
- IAIKPkcs11 pkcs11Provider_ = new IAIKPkcs11(config);
- Security.addProvider(pkcs11Provider_);
-
- // Set signature algorithm
- SignatureAlgorithmImplRSA signatureAlg = new SignatureAlgorithmImplRSA();
- signatureAlg.setJCEProviderName(pkcs11Provider_.getName());
-
- // HSM Action start
-
- // load the keystore of the PKCS#11 provider given via input stream
- KeyStore tokenKeyStore = pkcs11Provider_.getTokenManager().getKeyStore();
- tokenKeyStore.load(null,"1111".toCharArray());
-
- Enumeration enum = tokenKeyStore.aliases();
-
- String ali = null;
- while(enum.hasMoreElements())
- {
- //enum.nextElement();
- ali = (String)enum.nextElement();
- //ali = (String)enum.nextElement();
- System.out.println("Alias:"+ali);
- if(tokenKeyStore.containsAlias(ali)) System.out.println("ALIAS vorhanden");
- if(tokenKeyStore.isKeyEntry(ali)) System.out.println("KEYENTRY vorhanden");
- }
-
- Enumeration enum2 = tokenKeyStore.aliases();
-
- while (enum2.hasMoreElements()) {
- String alias = enum2.nextElement().toString();
-
- if (tokenKeyStore.isKeyEntry(alias)) {
- System.out.println("________________________________________________________________________________");
- System.out.println("Key entry with alias: " + alias);
- Key key = tokenKeyStore.getKey(alias, null);
- System.out.println(key);
- java.security.cert.Certificate[] certificateChain2 = tokenKeyStore.getCertificateChain(alias);
- if (certificateChain2 != null) {
- System.out.println("Certificate chain of length: " + certificateChain2.length);
- for (int i = 0; i < certificateChain2.length; i++) {
- System.out.println("--------------------------------------------------------------------------------");
- System.out.println(certificateChain2[i]);
- }
- } else {
- System.out.println("Certificate chain is null!");
- }
- System.out.println("________________________________________________________________________________");
- } else if (tokenKeyStore.isCertificateEntry(alias)) {
- System.out.println("________________________________________________________________________________");
- System.out.println("Certificate entry with alias: " + alias);
- java.security.cert.Certificate certificate = tokenKeyStore.getCertificate(alias);
- System.out.println(certificate);
- System.out.println("________________________________________________________________________________");
- } else {
- System.out.println("________________________________________________________________________________");
- System.out.println("ERROR! Unknown entry type with alias: " + alias);
- System.out.println("________________________________________________________________________________");
- }
- }
-
-
- IAIKPKCS11RsaPrivateKey privateKey = (IAIKPKCS11RsaPrivateKey)tokenKeyStore.getKey("MOAHSMRSAKEY_cert", null);
- keyId = new String(privateKey.getKeyID());
-
- System.out.println(new String(privateKey.getKeyID()));
- //System.out.println("got:"+signatureKey+" : "+signatureKey.getClass().getName());
-
- Signature signatureEngine = Signature.getInstance("ExternalSHA1WithRSA", pkcs11Provider_.getName());
- signatureEngine.initSign(privateKey);
- /*signatureEngine.update("This is some data to be signed.".getBytes());
- byte[] bytesig = signatureEngine.sign();
- System.out.println("SIG:"+new String(bytesig));
-
- System.out.println("KEY:\n"+privateKey);*/
- signatureAlg.setSignerKey(privateKey);
- signedInfo.setSignatureAlgorithm(signatureAlg);
-
- SignerReference reference = signedInfo.createReference();
-
- if(!mani)
- {
- if(env)
- {
- iaik.ixsil.core.Object object = null;
- object = signature.createObject(data);
- object.setId("signed-data-0-1");
- signature.addObject(object);
-
- DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
- reference.setDigestAlgorithm(digestAlg);
-
- reference.setURI(new URI("#xpointer(id('signed-data-0-1')/node())"));
- }
- else
- {
- // Create and configure reference
- URI refURI = null;
- String baseDir = configuration_.getProperty("baseDir");
- refURI = new URI(data);
-
-
- reference.setURI(refURI);
- DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
- reference.setDigestAlgorithm(digestAlg);
- }
- reference.setId("reference-1-1");
- signedInfo.addReference(reference);
- }
-
- if(data2!=null)
- {
- reference = signedInfo.createReference();
- if(env2)
- {
- iaik.ixsil.core.Object object = null;
- object = signature.createObject(data2);
- object.setId("signed-data-0-2");
- signature.addObject(object);
-
- DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
- reference.setDigestAlgorithm(digestAlg);
-
- reference.setURI(new URI("#xpointer(id('signed-data-0-2')/node())"));
- }
- else
- {
- // Create and configure reference
- URI refURI = null;
- String baseDir = configuration_.getProperty("baseDir");
- refURI = new URI(data2);
-
-
- reference.setURI(refURI);
- DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
- reference.setDigestAlgorithm(digestAlg);
- }
- signedInfo.addReference(reference);
- }
-
- // Add reference to signature
-
-
-
- if(mani)
- {
-
- /*iaik.ixsil.core.Object object = null;
- if(env)
- object = signature.createObject(readFile(data));
- else
- object = signature.createObject(data);
-
- object.setId("envelopedData");
- signature.addObject(object);*/
-
- SignerManifest manifest = signer.createManifest();
- SignerReference manifestRef = manifest.createReference();
-
- DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
- manifestRef.setDigestAlgorithm(digestAlg);
-
- manifestRef.setURI(new URI(data));
-
- manifest.addReference(manifestRef);
- manifest.setId("manifest-1");
- iaik.ixsil.core.Object manifestObject = signature.createObject(manifest);
- signature.addObject(manifestObject);
- manifest.computeDigestValues();
-
- reference = signedInfo.createReference();
- reference.setURI(
- new URI("#xpointer(id('manifest-1'))"));
- reference.setType(new URI(IXSILConstants.REFERENCETYPE_ATTR_VALUE_MANIFEST_));
- reference.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
-
- // Add reference to signature
- signedInfo.addReference(reference);
-
-
- /*Element envelopedDataElem =
- signer.toDocument().createElement("EnvelopedDataElement");
-
- if(env)
- {
- envelopedDataElem.appendChild(
- signer.toDocument().createTextNode(readFile(data)));
- }
- else
- {
- envelopedDataElem.appendChild(
- signer.toDocument().createTextNode(data));
- }
-
- iaik.ixsil.core.Object object = signature.createObject(envelopedDataElem);
- signature.addObject(object);
-
- // Create Manifest with a single reference pointing to the enveloped data
- SignerManifest manifest = signer.createManifest();
- SignerReference manifestRef = manifest.createReference();
- manifestRef.setURI(
- new URI(
- null,
- null,
- null,
- null,
- "xmlns(dsig="
- + IXSILConstants.NAMESPACE_URI_XMLSIGNATURE_ELEM_
- + ") "
- + "xpointer(here()/ancestor::dsig:Signature[1]/dsig:Object[1]/descendant::node())"));
- manifestRef.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
- manifest.addReference(manifestRef);
-
- // Add Manifest to signature structure (use an Object) and compute digest values for manifest reference
- iaik.ixsil.core.Object manifestObject = signature.createObject(manifest);
- signature.addObject(manifestObject);
- manifest.computeDigestValues();
-
- // Create and configure reference to manifest
- reference = signedInfo.createReference();
- reference.setURI(
- new URI(
- null,
- null,
- null,
- null,
- "xmlns(dsig="
- + IXSILConstants.NAMESPACE_URI_XMLSIGNATURE_ELEM_
- + ") "
- + "xpointer(here()/ancestor::dsig:Signature[1]/dsig:Object[2]/dsig:Manifest)"));
- reference.setType(new URI(IXSILConstants.REFERENCETYPE_ATTR_VALUE_MANIFEST_));
- reference.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
-
- // Add reference to signature
- signedInfo.addReference(reference);*/
- }
-
- enum2 = tokenKeyStore.aliases();
-
- while(enum2.hasMoreElements())
- {
- System.out.println(enum2.nextElement());
- }
-
- enum2 = tokenKeyStore.aliases();
-
- while (enum2.hasMoreElements()) {
- String alias = enum2.nextElement().toString();
-
- if (tokenKeyStore.isKeyEntry(alias)) {
- System.out.println("________________________________________________________________________________");
- System.out.println("Key entry with alias: " + alias);
- Key key = tokenKeyStore.getKey(alias, null);
- System.out.println(key);
- java.security.cert.Certificate[] certificateChain2 = tokenKeyStore.getCertificateChain(alias);
- if (certificateChain2 != null) {
- System.out.println("Certificate chain of length: " + certificateChain2.length);
- for (int i = 0; i < certificateChain2.length; i++) {
- System.out.println("--------------------------------------------------------------------------------");
- System.out.println(certificateChain2[i]);
- }
- } else {
- System.out.println("Certificate chain is null!");
- }
- System.out.println("________________________________________________________________________________");
- } else if (tokenKeyStore.isCertificateEntry(alias)) {
- System.out.println("________________________________________________________________________________");
- System.out.println("Certificate entry with alias: " + alias);
- java.security.cert.Certificate certificate = tokenKeyStore.getCertificate(alias);
- System.out.println(certificate);
- System.out.println("________________________________________________________________________________");
- } else {
- System.out.println("________________________________________________________________________________");
- System.out.println("ERROR! Unknown entry type with alias: " + alias);
- System.out.println("________________________________________________________________________________");
- }
- }
-
- // Create key information
- KeyManagerImpl keyManager = new KeyManagerImpl(signer.toDocument());
-
- //DOMUtils.serializeNode(keyManager.getKeyInfo());
-
- java.security.cert.Certificate[] certificateChain = tokenKeyStore.getCertificateChain("MOAHSMRSAKEY_cert");
-
- System.out.println("CERTLEN:"+certificateChain.length);
-
- X509Data x509Data = new X509Data();
- for (int i = 0; i < certificateChain.length; i++)
- {
- System.out.println("CERT:"+((Name)(((X509Certificate)certificateChain[i]).getIssuerDN())).getRFC2253String());
- x509Data.insertHintAt((X509Certificate)certificateChain[i], i);
- }
-
- KeyProviderImplX509Data x509DataKeyProvider = new KeyProviderImplX509Data(signer.toDocument());
- x509DataKeyProvider.insertX509DataAt(x509Data, 0);
-
- // X509Data key information (certificate chain)
- keyManager.addKeyProvider(x509DataKeyProvider);
-
- signer.getSignature().setKeyManager(keyManager);
- signer.getSignature().setId("signature-1-1");
-
- // Compute signature value
- signer.getSignature().sign();
-
- return signer.toDocument();
- }
-
- public Document createPKCS12SigSL(String TestNumber,String data) throws Exception
- {
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Res.xml";
-
- PKCS12 pkcs12 = decryptPKCS12(
- configuration_.getProperty("PKCS12file"),
- configuration_.getProperty("PKCS12password" ) );
-
- // Create signature generator
- URI baseURI = new URI(IXSILConstants.DUMMY_ABSURI_);
- Signer signer = new Signer(baseURI);
-
- // Configure signed information
-
- // Get interface for signed information
- SignerSignature signature = signer.getSignature();
- SignerSignedInfo signedInfo = signer.getSignature().getSignerSignedInfo();
-
- // Set canonicalization algorithm
- CanonicalizationAlgorithmImplCanonicalXML c14nAlg =
- new CanonicalizationAlgorithmImplCanonicalXML();
- signedInfo.setCanonicalizationAlgorithm(c14nAlg);
-
- // Set signature algorithm
- SignatureAlgorithmImplRSA signatureAlg = new SignatureAlgorithmImplRSA();
- RSAPrivateKey privateKey = getPrivateKey( pkcs12 );
- signatureAlg.setSignerKey(privateKey);
- signedInfo.setSignatureAlgorithm(signatureAlg);
-
- SignerReference reference = signedInfo.createReference();
-
- // env
- /*iaik.ixsil.core.Object object = null;
- object = signature.createObject(data);
- object.setId("envelopedData");
- signature.addObject(object);
-
- DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
- reference.setDigestAlgorithm(digestAlg);
-
- reference.setURI(new URI("#xpointer(id('envelopedData')/node())"));*/
-
- // detached
- // Create and configure reference
- URI refURI = null;
- refURI = new URI(data);
-
- reference.setURI(refURI);
- reference.setId("reference-1-1");
- DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
- reference.setDigestAlgorithm(digestAlg);
-
- signedInfo.addReference(reference);
-
- reference = signedInfo.createReference();
-
- refURI = null;
- refURI = new URI(data);
-
- //reference.setURI(new URI("#xpointer(id('ETSIProperties'))/*/*"));
- reference.setURI(new URI("#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('etsi-signed-1-1')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"));
- reference.setType(new URI("http://uri.etsi.org/01903/v1.1.1#SignedProperties"));
- digestAlg = new DigestAlgorithmImplSHA1();
- reference.setDigestAlgorithm(digestAlg);
-
- signedInfo.addReference(reference);
-
- /*iaik.ixsil.core.Object object = null;
- object = signature.createObject(data);
- object.setId("SLManifestObject");
-
- signature.addObject(object);*/
-
-
- /*SignerManifest manifest = signer.createManifest();
- SignerReference manifestRef = manifest.createReference();
-
- digestAlg = new DigestAlgorithmImplSHA1();
- manifestRef.setDigestAlgorithm(digestAlg);
-
- manifestRef.setURI(new URI(data));
-
- manifest.addReference(manifestRef);
- manifest.setId("SLManifestObject");
- iaik.ixsil.core.Object manifestObject = signature.createObject(manifest);
- signature.addObject(manifestObject);
- manifest.computeDigestValues();
-
- reference = manifest.createReference();
- reference.setType(new URI("http://www.buergerkarte.at/specifications/Security-Layer/20020225#SignatureManifest"));
- reference.setURI(new URI("#SLManifestObject"));
- reference.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
-
- // Add reference to signature
- signedInfo.addReference(reference);*/
-
- iaik.ixsil.core.Object object = null;
- object = signature.createObject(getElement("TEST"));
- object.setId("etsi-signed-1-1");
- signature.addObject(object);
-
-
-
- /*if(mani)
- {
-
- SignerManifest manifest = signer.createManifest();
- SignerReference manifestRef = manifest.createReference();
-
- DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
- manifestRef.setDigestAlgorithm(digestAlg);
-
- manifestRef.setURI(new URI(data));
-
- manifest.addReference(manifestRef);
- manifest.setId("manifestObject");
- iaik.ixsil.core.Object manifestObject = signature.createObject(manifest);
- signature.addObject(manifestObject);
- manifest.computeDigestValues();
-
- reference = signedInfo.createReference();
- reference.setURI(
- new URI("#xpointer(id('manifestObject'))"));
- reference.setType(new URI(IXSILConstants.REFERENCETYPE_ATTR_VALUE_MANIFEST_));
- reference.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
-
- // Add reference to signature
- signedInfo.addReference(reference);
-
- }*/
-
- signature.setId("signature-1-1");
-
- // Create key information
- KeyManagerImpl keyManager = new KeyManagerImpl(signer.toDocument());
-
- X509Certificate[] certs = getCertificates(pkcs12);
- X509Data x509Data = new X509Data();
- x509Data.insertHintAt(certs[1], 0);
-
- KeyProviderImplX509Data x509DataKeyProvider = new KeyProviderImplX509Data(signer.toDocument());
- x509DataKeyProvider.insertX509DataAt(x509Data, 0);
-
- // X509Data key information (certificate chain)
- keyManager.addKeyProvider(x509DataKeyProvider);
-
- signer.getSignature().setKeyManager(keyManager);
-
- // Compute signature value
- signer.getSignature().sign();
-
- return signer.toDocument();
- }
-
- public Element getElement(String data) throws Exception
- {
- String etsinamespace = "http://uri.etsi.org/01903/v1.1.1#";
-
- getX509Content();
-
- DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
- //dbf.setNamespaceAware(true);
- //dbf.setValidating(true);
-
- Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
-
-
- Element qualprop = doc.createElementNS(etsinamespace,"etsi:QualifyingProperties");
- qualprop.setAttributeNS(null,"Target","#signature-1-1");
- qualprop.setAttributeNS(IXSILConstants.NAMESPACE_URI_NAMESPACES_,"xmlns:etsi",etsinamespace);
- //qualprop.setPrefix("etsi");*/
- //qualprop.setAttributeNodeNS(doc.createAttributeNS(etsinamespace,"etsi"));
- Element signprop = doc.createElementNS(etsinamespace,"etsi:SignedProperties");
- Element signsigprop = doc.createElementNS(etsinamespace,"etsi:SignedSignatureProperties");
- Element signdataobjectprop = doc.createElementNS(etsinamespace,"etsi:SignedDataObjectProperties");
- Element signdate = doc.createElementNS(etsinamespace,"etsi:SigningTime");
- Text datevalue = doc.createTextNode("2003-05-10T00:01:01");
- Element signcert = doc.createElementNS(etsinamespace,"etsi:SigningCertificate");
- Element cert = doc.createElementNS(etsinamespace,"etsi:Cert");
- Element signpolyident = doc.createElementNS(etsinamespace,"etsi:SignaturePolicyIdentifier");
- Element signpolyimp = doc.createElementNS(etsinamespace,"etsi:SignaturePolicyImplied");
- Element certdig = doc.createElementNS(etsinamespace,"etsi:CertDigest");
- Element digmeth = doc.createElementNS(etsinamespace,"etsi:DigestMethod");
- digmeth.setAttribute("Algorithm","http://www.w3.org/2000/09/xmldsig#sha1");
- Element digvalue = doc.createElementNS(etsinamespace,"etsi:DigestValue");
-
- ByteArrayOutputStream fos = new ByteArrayOutputStream();
- Base64OutputStream base64os = new Base64OutputStream(fos);
- base64os.write(this.X509hash.getBytes());
- base64os.flush();
-
- Text dig_value = doc.createTextNode(fos.toString());
- Element is = doc.createElementNS(etsinamespace,"etsi:IssuerSerial");
- Element i = doc.createElement("dsig:X509IssuerName");
- Text i_value = doc.createTextNode(this.X509name);
- Element s = doc.createElement("dsig:X509SerialNumber");
- Text s_value = doc.createTextNode(this.X509number.toString());
- Element dataobjformat = doc.createElementNS(etsinamespace,"etsi:DataObjectFormat");
- dataobjformat.setAttribute("ObjectReference","#reference-1-1");
- Element mimetype = doc.createElementNS(etsinamespace,"etsi:MimeType");
- //mimetype.setNodeValue("text/plain");
- Text mimevalue = doc.createTextNode("text/plain");
-
- qualprop.appendChild(signprop);
- signprop.appendChild(signsigprop);
- signsigprop.appendChild(signdate);
- signdate.appendChild(datevalue);
- signsigprop.appendChild(signcert);
- signcert.appendChild(cert);
- cert.appendChild(certdig);
- certdig.appendChild(digmeth);
- certdig.appendChild(digvalue);
- digvalue.appendChild(dig_value);
- cert.appendChild(is);
- is.appendChild(i);
- i.appendChild(i_value);
- is.appendChild(s);
- s.appendChild(s_value);
- signsigprop.appendChild(signpolyident);
- signpolyident.appendChild(signpolyimp);
- signprop.appendChild(signdataobjectprop);
- signdataobjectprop.appendChild(dataobjformat);
- dataobjformat.appendChild(mimetype);
- mimetype.appendChild(mimevalue);
-
-
-
- return qualprop;
- }
-
-
- public void createConfig() throws Exception {
-
- String file = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- ".Config.xml";
- String config =
-
-"<MOAConfiguration xmlns=\"http://reference.e-government.gv.at/namespace/moaconfig/20021122#\">"+
-" <KeyGroup id=\"PKCS12RSAKey1\"> <Key id=\"resources/test-ee2003_normal(buergerkarte).p12\"/> </KeyGroup>"+
-" <KeyGroup id=\"PKCS12RSAKeyExpired\"> <Key id=\"sicher-demo(buergerkarte).p12\"/> </KeyGroup>"+
-" <KeyGroup id=\"PKCS12ECDSAKey1\"> <Key id=\"ecc.p12\"/> </KeyGroup> "+
-" <KeyGroup id=\"DSAinPKCS12\"> <Key id=\"DSA.512.p12\"/> </KeyGroup> "+
-" <KeyGroup id=\"HSMRSAKey1\"> <Key id=\"???\"/> </KeyGroup>"+
-" <KeyGroup id=\"HSMECDSAKey1\"> <Key id=\"???\"/> </KeyGroup>"+
-" <DigestMethodAlgorithm name=\"http://www.w3.org/2000/09/xmldsig#sha1\"/>"+
-" <SignatureAlgorithm name=\"http://www.w3.org/2000/09/xmldsig#rsa-sha1\"/>"+
-" <CanonicalizationAlgorithm name=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"/>"+
-"</MOAConfiguration>";
-
-
- /*"<MOAConfiguration>\n"+
- " <KeyGroup id=\"PKCS12RSAKey1\"/> <!-- mapped auf \"test(1234).p12\" -->\n"+
- "</MOAConfiguration>\n"+
- "<!-- CanonicalizationMethod = http://www.w3.org/TR/2001/REC-xml-c14n-20010315 -->" +
- "<!-- SignatureMethod = http://www.w3.org/2000/09/xmldsig#rsa-sha1 -->";*/
-
- FileOutputStream fos = new FileOutputStream(file);
- fos.write(config.getBytes());
- fos.flush();
- fos.close();
-
- String file_3 = configuration_.getProperty("baseDir") + datadirectory_3 +
- "TestGeneratorCX3" +
- ".Config.xml";
-
- fos = new FileOutputStream(file_3);
- fos.write(config.getBytes());
- fos.flush();
- fos.close();
-
- String file_4 = configuration_.getProperty("baseDir") + datadirectory_4 +
- "TestGeneratorCX4" +
- ".Config.xml";
-
- fos = new FileOutputStream(file_4);
- fos.write(config.getBytes());
- fos.flush();
- fos.close();
-
- }
-
- 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";
- String reqFile = configuration_.getProperty("baseDir") + datadirectory_l+filename+"/" +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Req.xml";
- String req =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
- "<CreateXMLSignatureRequest\n" +
- " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
- " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">\n"+
- " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
- " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
- " <DataObjectInfo Structure=\"detached\" ChildOfManifest=\"false\">\n"+
- " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/"+filename+".txt\"/>\n"+
- " <CreateTransformsInfoProfile>\n"+
- " <CreateTransformsInfo>\n"+
- " <FinalDataMetaInfo>\n"+
- " <MimeType>text/plain</MimeType>\n"+
- " </FinalDataMetaInfo>\n"+
- " </CreateTransformsInfo>\n"+
- " </CreateTransformsInfoProfile>\n"+
- " </DataObjectInfo>\n"+
- " </SingleSignatureInfo>\n"+
- "</CreateXMLSignatureRequest>";
-
- writeFile(reqFile,req);
-
-
-
- /* ---------------------------------------------------------------------------------------------------- */
-
- String resFile = configuration_.getProperty("baseDir") + datadirectory_l+filename+"/" +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Res.xml";
-
- Document signatureDoc = createPKCS12Sig(TestNumber,configuration_.getProperty("webbaseDir")+"resources/"+filename+".txt");
-
- String erg = makeOutputFile(signatureDoc);
-
- writeFile(resFile,erg);
- }
-
- /* ==================================================================================================== */
-
- public void create001() throws Exception {
-
- String TestNumber = "001";
- String reqFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Req.xml";
- String req =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
- "<CreateXMLSignatureRequest\n" +
- " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
- " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">\n"+
- " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
- " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
- " <DataObjectInfo Structure=\"detached\" ChildOfManifest=\"false\">\n"+
- " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testDaten.txt\"/>\n"+
- " <CreateTransformsInfoProfile>\n"+
- " <CreateTransformsInfo>\n"+
- " <FinalDataMetaInfo>\n"+
- " <MimeType>text/plain</MimeType>\n"+
- " </FinalDataMetaInfo>\n"+
- " </CreateTransformsInfo>\n"+
- " </CreateTransformsInfoProfile>\n"+
- " </DataObjectInfo>\n"+
- " </SingleSignatureInfo>\n"+
- "</CreateXMLSignatureRequest>";
-
- writeFile(reqFile,req);
-
-
-
- /* ---------------------------------------------------------------------------------------------------- */
-
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Res.xml";
-
- Document signatureDoc = createPKCS12Sig(TestNumber,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
-
- String erg = makeOutputFile(signatureDoc);
-
- writeFile(resFile,erg);
-
-
- // CX3 wird gleich mit generiert
-
- String reqFile_3 = configuration_.getProperty("baseDir") + datadirectory_3 +
- "TestGeneratorCX3" +
- ".";
- String reqFile_4 = configuration_.getProperty("baseDir") + datadirectory_4 +
- "TestGeneratorCX4" +
- ".";
-
- writeFile(reqFile_3+"001" + ".Req.xml",req);
- writeFile(reqFile_4+"051" + ".Req.xml",req);
-
- req = replaceString(req,"PKCS12RSAKey1","PKCS12RSAKeyNotAllowed");
-
- writeFile(reqFile_3+"052" + ".Req.xml",req);
-
- String resFile_3 = configuration_.getProperty("baseDir") + datadirectory_3 +
- "TestGeneratorCX3" +
- "." ;
- String resFile_4 = configuration_.getProperty("baseDir") + datadirectory_4 +
- "TestGeneratorCX4" +
- "." ;
-
- writeFile(resFile_3+ "001" + ".Res.xml",erg);
- writeFile(resFile_4+ "051" + ".ErrRes.xml","0000");
- writeFile(resFile_3+ "052" + ".ErrRes.xml","2231");
-
- }
-
- public void writeFile(String filename,String data) throws Exception
- {
- BufferedWriter bw = new BufferedWriter(new FileWriter(filename));
- bw.write(data);
- bw.close();
- }
-
-
- public void create002() throws Exception {
-
- String TestNumber = "002";
- String reqFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Req.xml";
- String req =
- "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>" +
- "<CreateXMLSignatureRequest\n" +
- " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
- " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
- " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
- " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
- " <DataObjectInfo Structure=\"detached\" ChildOfManifest=\"false\">\n"+
- " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testDaten.txt\"/>\n"+
- " <CreateTransformsInfoProfile>\n"+
- " <CreateTransformsInfo>\n"+
- " <FinalDataMetaInfo>\n"+
- " <MimeType>text/plain</MimeType>\n"+
- " </FinalDataMetaInfo>\n"+
- " </CreateTransformsInfo>\n"+
- " </CreateTransformsInfoProfile>\n"+
- " </DataObjectInfo>\n"+
- " </SingleSignatureInfo>\n"+
- "</CreateXMLSignatureRequest>";
-
- writeFile(reqFile,req);
-
- /* ---------------------------------------------------------------------------------------------------- */
-
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Res.xml";
-
- Document signatureDoc = createPKCS12Sig(TestNumber,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
-
- String erg = makeOutputFile(signatureDoc);
-
- writeFile(resFile,erg);
-
- }
-
- public void create003() throws Exception {
-
- String TestNumber = "003";
- String reqFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Req.xml";
- String req =
- "<?xml version=\"1.0\" ?>" +
- "<CreateXMLSignatureRequest\n" +
- " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
- " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
- " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
- " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
- " <DataObjectInfo Structure=\"detached\" ChildOfManifest=\"false\">\n"+
- " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testDaten.txt\"/>\n"+
- " <CreateTransformsInfoProfile>\n"+
- " <CreateTransformsInfo>\n"+
- " <FinalDataMetaInfo>\n"+
- " <MimeType>text/plain</MimeType>\n"+
- " </FinalDataMetaInfo>\n"+
- " </CreateTransformsInfo>\n"+
- " </CreateTransformsInfoProfile>\n"+
- " </DataObjectInfo>\n"+
- " </SingleSignatureInfo>\n"+
- "</CreateXMLSignatureRequest>";
-
- writeFile(reqFile,req);
-
- /* ---------------------------------------------------------------------------------------------------- */
-
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Res.xml";
-
- Document signatureDoc = createPKCS12Sig(TestNumber,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
-
- String erg = makeOutputFile(signatureDoc);
-
- writeFile(resFile,erg);
-
- }
-
- public void create004() throws Exception {
-
- /*Properties config = new Properties();
- config.put("PKCS11_NATIVE_MODULE","cryptoki.dll");
- config.put("SLOT_ID","0");
-
- Security.addProvider(new IAIK());
- IAIKPkcs11 pkcs11Provider_ = new IAIKPkcs11(config);
- Security.addProvider(pkcs11Provider_);
-
- // load the keystore of the PKCS#11 provider given via input stream
- KeyStore tokenKeyStore = pkcs11Provider_.getTokenManager().getKeyStore();
-
- Object signatureKey = tokenKeyStore.getKey("HSMRSAKEY", null);
- //System.out.println("got:"+signatureKey+" : "+signatureKey.getClass().getName());
- if(signatureKey instanceof IAIKPKCS11RsaPrivateKey)
- {
- System.out.println("GOT PRIVATE KEY:"+(IAIKPKCS11RsaPrivateKey)signatureKey);
- java.security.cert.Certificate[] certificateChain = tokenKeyStore.getCertificateChain("HSMRSAKEY");
- X509Certificate signerCertificate = (X509Certificate) certificateChain[0];
-
- }
- if(signatureKey instanceof IAIKPKCS11RsaPublicKey)
- {
- System.out.println("GOT PUBLIC KEY:"+(IAIKPKCS11RsaPublicKey)signatureKey);
- }*/
-
- String TestNumber = "004";
- String reqFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Req.xml";
- String req =
- "<?xml version=\"1.0\" ?>" +
- "<CreateXMLSignatureRequest\n" +
- " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
- " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
- " <KeyIdentifier>MOAHSMRSAKEY</KeyIdentifier>\n"+
- " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
- " <DataObjectInfo Structure=\"detached\" ChildOfManifest=\"false\">\n"+
- " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testDaten.txt\"/>\n"+
- " <CreateTransformsInfoProfile>\n"+
- " <CreateTransformsInfo>\n"+
- " <FinalDataMetaInfo>\n"+
- " <MimeType>text/plain</MimeType>\n"+
- " </FinalDataMetaInfo>\n"+
- " </CreateTransformsInfo>\n"+
- " </CreateTransformsInfoProfile>\n"+
- " </DataObjectInfo>\n"+
- " </SingleSignatureInfo>\n"+
- "</CreateXMLSignatureRequest>";
-
- writeFile(reqFile,req);
-
-
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Res.xml";
-
- Document signatureDoc = createHSMSig(TestNumber,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt",false,false,null,false);
-
- String erg = makeOutputFile(signatureDoc);
-
- writeFile(resFile,erg);
-
- }
-
- public void create005() throws Exception {
-
- String TestNumber = "005";
- String reqFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Req.xml";
- String req =
- "<?xml version=\"1.0\" ?>" +
- "<CreateXMLSignatureRequest\n" +
- " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
- " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
- " <KeyIdentifier>PKCS12ECDSAKey1</KeyIdentifier>\n"+
- " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
- " <DataObjectInfo Structure=\"detached\" ChildOfManifest=\"false\">\n"+
- " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testSimple.txt\"/>\n"+
- " <CreateTransformsInfoProfile>\n"+
- " <CreateTransformsInfo>\n"+
- " <FinalDataMetaInfo>\n"+
- " <MimeType>text/plain</MimeType>\n"+
- " </FinalDataMetaInfo>\n"+
- " </CreateTransformsInfo>\n"+
- " </CreateTransformsInfoProfile>\n"+
- " </DataObjectInfo>\n"+
- " </SingleSignatureInfo>\n"+
- "</CreateXMLSignatureRequest>";
-
- writeFile(reqFile,req);
-
- /* ---------------------------------------------------------------------------------------------------- */
-
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Res.xml";
-
- Document signatureDoc = createECDSPKCS12Sig(TestNumber,configuration_.getProperty("webbaseDir")+"resources/testSimple.txt");
-
- String erg = makeOutputFile(signatureDoc);
-
- writeFile(resFile,erg);
-
- }
-
-
- public void create006() throws Exception {
-
- String TestNumber = "006";
- String reqFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Req.xml";
-
- writeFile(reqFile,"");
-
- /* ---------------------------------------------------------------------------------------------------- */
-
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Res.xml";
-
- writeFile(resFile,"0000");
- }
-
- public void create007() throws Exception {
-
- String TestNumber = "007";
- String reqFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Req.xml";
- String req =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
- "<CreateXMLSignatureRequest\n" +
- " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
- " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
- " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
- " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
- " <DataObjectInfo Structure=\"detached\" ChildOfManifest=\"false\">\n"+
- " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testSimple.txt\">\n"+
- " <XMLContent xml:space=\"preserve\">Dies sind Testdaten</XMLContent>\n"+
- " </DataObject>\n"+
- " <CreateTransformsInfoProfile>\n"+
- " <CreateTransformsInfo>\n"+
- " <FinalDataMetaInfo>\n"+
- " <MimeType>text/plain</MimeType>\n"+
- " </FinalDataMetaInfo>\n"+
- " </CreateTransformsInfo>\n"+
- " </CreateTransformsInfoProfile>\n"+
- " </DataObjectInfo>\n"+
- " </SingleSignatureInfo>\n"+
- "</CreateXMLSignatureRequest>";
-
- writeFile(reqFile,req);
-
- /* ---------------------------------------------------------------------------------------------------- */
-
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Res.xml";
-
- Document signatureDoc = createPKCS12Sig(TestNumber,configuration_.getProperty("webbaseDir")+"resources/testSimple.txt");
-
- String erg = makeOutputFile(signatureDoc);
-
- writeFile(resFile,erg);
-
- }
-
- public void create008() throws Exception {
-
- String TestNumber = "008";
- String reqFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Req.xml";
- String req =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
- "<CreateXMLSignatureRequest\n" +
- " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
- " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
- " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
- " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
- " <DataObjectInfo Structure=\"detached\" ChildOfManifest=\"false\">\n"+
- " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testSimple.txt\">\n"+
- " <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content>\n"+
- " </DataObject>\n"+
- " <CreateTransformsInfoProfile>\n"+
- " <CreateTransformsInfo>\n"+
- " <FinalDataMetaInfo>\n"+
- " <MimeType>text/plain</MimeType>\n"+
- " </FinalDataMetaInfo>\n"+
- " </CreateTransformsInfo>\n"+
- " </CreateTransformsInfoProfile>\n"+
- " </DataObjectInfo>\n"+
- " </SingleSignatureInfo>\n"+
- "</CreateXMLSignatureRequest>";
-
- writeFile(reqFile,req);
-
- /* ---------------------------------------------------------------------------------------------------- */
-
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Res.xml";
-
- Document signatureDoc = createPKCS12Sig(TestNumber,configuration_.getProperty("webbaseDir")+"resources/testSimple.txt");
-
- String erg = makeOutputFile(signatureDoc);
-
- writeFile(resFile,erg);
-
- }
-
-
- /* ==================================================================================================== */
-
- public void create009() throws Exception {
-
- // based on create000()
-
- String TestNumber = "009";
- String reqFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Req.xml";
- String req =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
- "<CreateXMLSignatureRequest\n" +
- " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
- " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
- " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
- " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
- " <DataObjectInfo Structure=\"enveloping\" ChildOfManifest=\"false\">\n"+
- " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testSimple.txt\"/>\n"+
- " <CreateTransformsInfoProfile>\n"+
- " <CreateTransformsInfo>\n"+
- " <FinalDataMetaInfo>\n"+
- " <MimeType>text/plain</MimeType>\n"+
- " </FinalDataMetaInfo>\n"+
- " </CreateTransformsInfo>\n"+
- " </CreateTransformsInfoProfile>\n"+
- " </DataObjectInfo>\n"+
- " </SingleSignatureInfo>\n"+
- "</CreateXMLSignatureRequest>";
-
- writeFile(reqFile,req);
-
-
- /* ---------------------------------------------------------------------------------------------------- */
-
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Res.xml";
-
- Document signatureDoc = createPKCS12SigWithEnveloping(TestNumber,"b64:Dies sind Testdaten");
-
- String erg = makeOutputFile(signatureDoc);
-
- writeFile(resFile,erg);
-
- }
-
- public void create010() throws Exception {
-
- // based on create000()
-
- String TestNumber = "010";
- String reqFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Req.xml";
- String req =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
- "<CreateXMLSignatureRequest\n" +
- " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
- " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
- " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
- " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
- " <DataObjectInfo Structure=\"enveloping\" ChildOfManifest=\"false\">\n"+
- " <DataObject>\n"+
- " <XMLContent xml:space=\"preserve\"><Testdaten>Dies sind Testdaten</Testdaten></XMLContent>\n"+
- " </DataObject>\n"+
- " <CreateTransformsInfoProfile>\n"+
- " <CreateTransformsInfo>\n"+
- " <FinalDataMetaInfo>\n"+
- " <MimeType>text/plain</MimeType>\n"+
- " </FinalDataMetaInfo>\n"+
- " </CreateTransformsInfo>\n"+
- " </CreateTransformsInfoProfile>\n"+
- " </DataObjectInfo>\n"+
- " </SingleSignatureInfo>\n"+
- "</CreateXMLSignatureRequest>";
-
- writeFile(reqFile,req);
-
-
- /* ---------------------------------------------------------------------------------------------------- */
-
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Res.xml";
-
- Document signatureDoc = createPKCS12SigWithEnveloping(TestNumber,"<Testdaten>Dies sind Testdaten</Testdaten>");
-
- String erg = makeOutputFile(signatureDoc);
-
- writeFile(resFile,erg);
-
- }
-
- public void create011() throws Exception {
-
- // based on create000()
-
- String TestNumber = "011";
- String reqFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Req.xml";
- String req =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
- "<CreateXMLSignatureRequest\n" +
- " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
- " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
- " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
- " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
- " <DataObjectInfo Structure=\"enveloping\" ChildOfManifest=\"false\">\n"+
- " <DataObject>\n"+
- " <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content>\n"+
- " </DataObject>\n"+
- " <CreateTransformsInfoProfile>\n"+
- " <CreateTransformsInfo>\n"+
- " <FinalDataMetaInfo>\n"+
- " <MimeType>text/plain</MimeType>\n"+
- " </FinalDataMetaInfo>\n"+
- " </CreateTransformsInfo>\n"+
- " </CreateTransformsInfoProfile>\n"+
- " </DataObjectInfo>\n"+
- " </SingleSignatureInfo>\n"+
- "</CreateXMLSignatureRequest>";
-
- writeFile(reqFile,req);
-
- /* ---------------------------------------------------------------------------------------------------- */
-
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Res.xml";
-
- Document signatureDoc = createPKCS12SigWithEnveloping(TestNumber,"b64:Dies sind Testdaten");
-
- String erg = makeOutputFile(signatureDoc);
-
- writeFile(resFile,erg);
-
- }
-
- public void create012() throws Exception {
-
- // based on create000()
-
- String TestNumber = "012";
- String reqFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Req.xml";
- String req =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
- "<CreateXMLSignatureRequest\n" +
- " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
- " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
- " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
- " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
- " <DataObjectInfo Structure=\"detached\" >\n"+
- " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testSimple.txt\">\n"+
- " <XMLContent xml:space=\"preserve\">Dies sind Testdaten</XMLContent>\n"+
- " </DataObject>\n"+
- " <CreateTransformsInfoProfile>\n"+
- " <CreateTransformsInfo>\n"+
- " <FinalDataMetaInfo>\n"+
- " <MimeType>text/plain</MimeType>\n"+
- " </FinalDataMetaInfo>\n"+
- " </CreateTransformsInfo>\n"+
- " </CreateTransformsInfoProfile>\n"+
- " </DataObjectInfo>\n"+
- " </SingleSignatureInfo>\n"+
- "</CreateXMLSignatureRequest>";
-
- writeFile(reqFile,req);
-
-
- /* ---------------------------------------------------------------------------------------------------- */
-
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Res.xml";
-
- Document signatureDoc = createPKCS12Sig(TestNumber,configuration_.getProperty("webbaseDir")+"resources/testSimple.txt");
-
- String erg = makeOutputFile(signatureDoc);
-
- writeFile(resFile,erg);
-
- }
-
-
- public void create013() throws Exception {
-
- // based on create000()
-
- String TestNumber = "013";
- String reqFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Req.xml";
- String req =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
- "<CreateXMLSignatureRequest\n" +
- " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
- " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
- " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
- " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
- " <DataObjectInfo Structure=\"detached\" ChildOfManifest=\"true\">\n"+
- " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testDaten.txt\" />\n"+
- " <CreateTransformsInfoProfile>\n"+
- " <CreateTransformsInfo>\n"+
- " <FinalDataMetaInfo>\n"+
- " <MimeType>text/plain</MimeType>\n"+
- " </FinalDataMetaInfo>\n"+
- " </CreateTransformsInfo>\n"+
- " </CreateTransformsInfoProfile>\n"+
- " </DataObjectInfo>\n"+
- " </SingleSignatureInfo>\n"+
- "</CreateXMLSignatureRequest>";
-
- writeFile(reqFile,req);
-
-
- /* ---------------------------------------------------------------------------------------------------- */
-
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Res.xml";
-
- Document signatureDoc = createPKCS12Sig(TestNumber,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt",false,true);
-
- String erg = makeOutputFile(signatureDoc);
-
- writeFile(resFile,erg);
-
- }
-
- public void create014() throws Exception {
-
- // based on create000()
-
- String TestNumber = "014";
- String reqFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Req.xml";
- String req =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
- "<CreateXMLSignatureRequest\n" +
- " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
- " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
- " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
- " <SingleSignatureInfo SecurityLayerConformity=\"true\">\n"+
- " <DataObjectInfo Structure=\"detached\" ChildOfManifest=\"false\">\n"+
- " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testUTF8.txt\" />\n"+
- " <CreateTransformsInfoProfile>\n"+
- " <CreateTransformsInfo>\n"+
- " <FinalDataMetaInfo>\n"+
- " <MimeType>text/plain</MimeType>\n"+
- " </FinalDataMetaInfo>\n"+
- " </CreateTransformsInfo>\n"+
- " </CreateTransformsInfoProfile>\n"+
- " </DataObjectInfo>\n"+
- " </SingleSignatureInfo>\n"+
- "</CreateXMLSignatureRequest>";
-
- writeFile(reqFile,req);
-
-
- /* ---------------------------------------------------------------------------------------------------- */
-
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Res.xml";
-
- Document signatureDoc = createPKCS12SigSL(TestNumber,configuration_.getProperty("webbaseDir")+"resources/testUTF8.txt");
-
- String erg = makeOutputFile(signatureDoc);
-
- writeFile(resFile,erg);
-
- }
-
- public void create015() throws Exception {
-
- // based on create000()
-
- String TestNumber = "015";
- String reqFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Req.xml";
- String req =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
- "<CreateXMLSignatureRequest\n" +
- " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
- " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
- " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
- " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
- " <DataObjectInfo Structure=\"detached\">\n"+
- " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testDaten.txt\"/>\n"+
- " <CreateTransformsInfoProfile>\n"+
- " <CreateTransformsInfo>\n"+
- " <FinalDataMetaInfo>\n"+
- " <MimeType>text/plain</MimeType>\n"+
- " </FinalDataMetaInfo>\n"+
- " </CreateTransformsInfo>\n"+
- " </CreateTransformsInfoProfile>\n"+
- " </DataObjectInfo>\n"+
- " <DataObjectInfo Structure=\"detached\">\n"+
- " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testSimple.txt\"/>\n"+
- " <CreateTransformsInfoProfile>\n"+
- " <CreateTransformsInfo>\n"+
- " <FinalDataMetaInfo>\n"+
- " <MimeType>text/plain</MimeType>\n"+
- " </FinalDataMetaInfo>\n"+
- " </CreateTransformsInfo>\n"+
- " </CreateTransformsInfoProfile>\n"+
- " </DataObjectInfo>\n"+
- " </SingleSignatureInfo>\n"+
- "</CreateXMLSignatureRequest>";
-
- writeFile(reqFile,req);
-
-
- /* ---------------------------------------------------------------------------------------------------- */
-
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Res.xml";
-
- Document signatureDoc = createPKCS12Sig(TestNumber,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt",false,false,configuration_.getProperty("webbaseDir")+"resources/testSimple.txt",false);
-
- String erg = makeOutputFile(signatureDoc);
-
- writeFile(resFile,erg);
-
- }
-
- public void create016() throws Exception {
-
- // based on create000()
-
- String TestNumber = "016";
- String reqFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Req.xml";
- String req =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
- "<CreateXMLSignatureRequest\n" +
- " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
- " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
- " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
- " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
- " <DataObjectInfo Structure=\"enveloping\">\n"+
- " <DataObject>\n"+
- " <XMLContent xml:space=\"preserve\">Dies sind Testdaten</XMLContent>\n"+
- " </DataObject>\n"+
- " <CreateTransformsInfoProfile>\n"+
- " <CreateTransformsInfo>\n"+
- " <FinalDataMetaInfo>\n"+
- " <MimeType>text/plain</MimeType>\n"+
- " </FinalDataMetaInfo>\n"+
- " </CreateTransformsInfo>\n"+
- " </CreateTransformsInfoProfile>\n"+
- " </DataObjectInfo>\n"+
- " <DataObjectInfo Structure=\"enveloping\">\n"+
- " <DataObject>\n"+
- " <XMLContent xml:space=\"preserve\">Dies sind Testdaten</XMLContent>\n"+
- " </DataObject>\n"+
- " <CreateTransformsInfoProfile>\n"+
- " <CreateTransformsInfo>\n"+
- " <FinalDataMetaInfo>\n"+
- " <MimeType>text/plain</MimeType>\n"+
- " </FinalDataMetaInfo>\n"+
- " </CreateTransformsInfo>\n"+
- " </CreateTransformsInfoProfile>\n"+
- " </DataObjectInfo>\n"+
- " </SingleSignatureInfo>\n"+
- "</CreateXMLSignatureRequest>";
-
- writeFile(reqFile,req);
-
-
- /* ---------------------------------------------------------------------------------------------------- */
-
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Res.xml";
-
- Document signatureDoc = createPKCS12Sig(TestNumber,"Dies sind Testdaten",true,false,"Dies sind Testdaten",true);
-
- String erg = makeOutputFile(signatureDoc);
-
- writeFile(resFile,erg);
-
- }
-
- public void create017() throws Exception {
-
- // based on create000()
-
- String TestNumber = "017";
- String reqFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Req.xml";
- String req =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
- "<CreateXMLSignatureRequest\n" +
- " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
- " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
- " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
- " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
- " <DataObjectInfo Structure=\"detached\">\n"+
- " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testDaten.txt\"/>\n"+
- " <CreateTransformsInfoProfile>\n"+
- " <CreateTransformsInfo>\n"+
- " <FinalDataMetaInfo>\n"+
- " <MimeType>text/plain</MimeType>\n"+
- " </FinalDataMetaInfo>\n"+
- " </CreateTransformsInfo>\n"+
- " </CreateTransformsInfoProfile>\n"+
- " </DataObjectInfo>\n"+
- " <DataObjectInfo Structure=\"enveloping\">\n"+
- " <DataObject>\n"+
- " <XMLContent xml:space=\"preserve\">Dies sind Testdaten</XMLContent>\n"+
- " </DataObject>\n"+
- " <CreateTransformsInfoProfile>\n"+
- " <CreateTransformsInfo>\n"+
- " <FinalDataMetaInfo>\n"+
- " <MimeType>text/plain</MimeType>\n"+
- " </FinalDataMetaInfo>\n"+
- " </CreateTransformsInfo>\n"+
- " </CreateTransformsInfoProfile>\n"+
- " </DataObjectInfo>\n"+
- " </SingleSignatureInfo>\n"+
- "</CreateXMLSignatureRequest>";
-
- writeFile(reqFile,req);
-
-
- /* ---------------------------------------------------------------------------------------------------- */
-
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Res.xml";
-
- Document signatureDoc = createPKCS12Sig(TestNumber,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt",false,false,"Dies sind Testdaten",true);
-
- String erg = makeOutputFile(signatureDoc);
-
- writeFile(resFile,erg);
-
- }
-
- public void create018() throws Exception {
-
- // based on create000()
-
- String TestNumber = "018";
- String reqFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Req.xml";
- String req =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
- "<CreateXMLSignatureRequest\n" +
- " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
- " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
- " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
- " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
- " <DataObjectInfo Structure=\"detached\">\n"+
- " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testDaten.txt\"/>\n"+
- " <CreateTransformsInfoProfile>\n"+
- " <CreateTransformsInfo>\n"+
- " <FinalDataMetaInfo>\n"+
- " <MimeType>text/plain</MimeType>\n"+
- " </FinalDataMetaInfo>\n"+
- " </CreateTransformsInfo>\n"+
- " </CreateTransformsInfoProfile>\n"+
- " </DataObjectInfo>\n"+
- " </SingleSignatureInfo>\n"+
- " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
- " <DataObjectInfo Structure=\"detached\">\n"+
- " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testDaten.txt\"/>\n"+
- " <CreateTransformsInfoProfile>\n"+
- " <CreateTransformsInfo>\n"+
- " <FinalDataMetaInfo>\n"+
- " <MimeType>text/plain</MimeType>\n"+
- " </FinalDataMetaInfo>\n"+
- " </CreateTransformsInfo>\n"+
- " </CreateTransformsInfoProfile>\n"+
- " </DataObjectInfo>\n"+
- " </SingleSignatureInfo>\n"+
- "</CreateXMLSignatureRequest>";
-
- writeFile(reqFile,req);
-
-
- /* ---------------------------------------------------------------------------------------------------- */
-
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Res.xml";
-
- Document signatureDoc = createPKCS12Sig(TestNumber,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
- Document signatureDoc2 = createPKCS12Sig(TestNumber,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt","id","id");
-
- String erg = makeOutputFile(signatureDoc,signatureDoc2);
-
- writeFile(resFile,erg);
-
- }
-
- public void create019() throws Exception {
-
- String TestNumber = "019";
- String reqFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Req.xml";
- String req =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
- "<CreateXMLSignatureRequest\n" +
- " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
- " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
- " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
- " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
- " <DataObjectInfo Structure=\"enveloping\" ChildOfManifest=\"false\">\n"+
- " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testXML.txt\"/>\n"+
- " <CreateTransformsInfoProfile>\n"+
- " <CreateTransformsInfo>\n"+
- " <FinalDataMetaInfo>\n"+
- " <MimeType>text/xml</MimeType>\n"+
- " </FinalDataMetaInfo>\n"+
- " </CreateTransformsInfo>\n"+
- " </CreateTransformsInfoProfile>\n"+
- " </DataObjectInfo>\n"+
- " </SingleSignatureInfo>\n"+
- "</CreateXMLSignatureRequest>";
-
- writeFile(reqFile,req);
-
- /* ---------------------------------------------------------------------------------------------------- */
-
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Res.xml";
-
- Document signatureDoc = createPKCS12SigWithEnveloping(TestNumber,"b64:"+readFile(configuration_.getProperty("baseDir")+"resources/testXML.txt"));
-
- String erg = makeOutputFile(signatureDoc);
-
- writeFile(resFile,erg);
- }
-
- public void create064() throws Exception {
-
- // based on create000()
-
- String TestNumber = "064";
- String reqFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Req.xml";
- String req =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
- "<CreateXMLSignatureRequest\n" +
- " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
- " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
- " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
- " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
- " <DataObjectInfo Structure=\"enveloping\" ChildOfManifest=\"false\">\n"+
- " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"testDatenFalsch.txt\">\n"+
- " <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content>\n"+
- " </DataObject>\n"+
- " <CreateTransformsInfoProfile>\n"+
- " <CreateTransformsInfo>\n"+
- " <FinalDataMetaInfo>\n"+
- " <MimeType>text/plain</MimeType>\n"+
- " </FinalDataMetaInfo>\n"+
- " </CreateTransformsInfo>\n"+
- " </CreateTransformsInfoProfile>\n"+
- " </DataObjectInfo>\n"+
- " </SingleSignatureInfo>\n"+
- "</CreateXMLSignatureRequest>";
-
- writeFile(reqFile,req);
-
-
- /* ---------------------------------------------------------------------------------------------------- */
-
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".ErrRes.xml";
-
- //Document signatureDoc = createPKCS12SigWithEnveloping(TestNumber,"Dies sind Testdaten");
-
- //String erg = makeOutputFile(signatureDoc);
-
- writeFile(resFile,"1110");
-
- }
-
-
- public void create051() throws Exception {
-
- String TestNumber = "051";
- String reqFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Req.xml";
- String req =
- "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>" +
- "<CreateXMLSignatureRequest\n" +
- " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
- " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
- " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
- " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
- " <DataObjectInfo Structure=\"detached\" ChildOfManifest=\"false\">\n"+
- " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testDaten.txt\"/>\n"+
- " <CreateTransformsInfoProfile>\n"+
- " <CreateTransformsInfo>\n"+
- " <FinalDataMetaInfo>\n"+
- " <MimeType>text/plain</MimeType>\n"+
- " </FinalDataMetaInfo>\n"+
- " <SuperExtraElementThatShouldNotBeValidWithTheSchema/>\n"+
- " </CreateTransformsInfo>\n"+
- " </CreateTransformsInfoProfile>\n"+
- " </DataObjectInfo>\n"+
- " </SingleSignatureInfo>\n"+
- "</CreateXMLSignatureRequest>";
-
- writeFile(reqFile,req);
-
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".ErrRes.xml";
-
- writeFile(resFile,"1100");
-
- }
-
- public void create052() throws Exception {
-
- String TestNumber = "052";
- String reqFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Req.xml";
- String req = this.replaceString(defaultblock,"version=\"1.0\"","");
-
- writeFile(reqFile,req);
-
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".ErrRes.xml";
-
- writeFile(resFile,"0000");
-
- }
-
- public void create053() throws Exception {
-
- String TestNumber = "053";
- String reqFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Req.xml";
- String req = this.replaceString(defaultblock,"version=\"1.0\"","version=\"5.0alpha3\"");
-
- writeFile(reqFile,req);
-
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".ErrRes.xml";
-
- writeFile(resFile,"0000");
-
- }
-
- public void create054() throws Exception {
-
- String TestNumber = "054";
- String reqFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Req.xml";
- String req = this.replaceString(defaultblock,"ISO-8859-1","SuperSvenEncoding:)");
-
- writeFile(reqFile,req);
-
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".ErrRes.xml";
-
- writeFile(resFile,"0000");
-
- }
-
- public void create055() throws Exception {
-
- String TestNumber = "055";
- String reqFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Req.xml";
- String req = this.replaceString(defaultblock,"xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"","xmlns=\"http://www.w3.org/2000/09/svens_schema#\"");
-
- writeFile(reqFile,req);
-
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".ErrRes.xml";
-
- writeFile(resFile,"1100");
-
- }
-
- public void create056() throws Exception {
-
- String TestNumber = "056";
- String reqFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Req.xml";
- String req = this.replaceString(defaultblock,"PKCS12RSAKey1","wrong_value_KeyIdentifier");
-
- writeFile(reqFile,req);
-
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".ErrRes.xml";
-
- writeFile(resFile,"2231");
-
- }
-
- public void create057() throws Exception {
-
- String TestNumber = "057";
- String reqFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Req.xml";
- String req = this.replaceString(defaultblock,"PKCS12RSAKey1","PKCS12RSAKeyExpired");
-
- writeFile(reqFile,req);
-
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".ErrRes.xml";
-
- writeFile(resFile,"2220");
-
- }
-
- public void create058() throws Exception {
-
- String TestNumber = "058";
- String reqFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Req.xml";
- String req = this.replaceString(defaultblock,"PKCS12RSAKey1","DSAinPKCS12");
-
- writeFile(reqFile,req);
-
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".ErrRes.xml";
-
- writeFile(resFile,"2220");
-
- }
-
- public void create059() throws Exception {
-
- String TestNumber = "059";
- String reqFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Req.xml";
- String req = this.replaceString(defaultblock,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt",configuration_.getProperty("webbaseDir")+"not_here.txt");
-
- writeFile(reqFile,req);
-
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".ErrRes.xml";
-
- writeFile(resFile,"2208");
-
- }
-
- /*
-
- public String defaultblock = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>" +
- "<CreateXMLSignatureRequest\n" +
- " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
- " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
- " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
- " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
- " <DataObjectInfo Structure=\"detached\" ChildOfManifest=\"false\">\n"+
- " <DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testDaten.txt\">\n"+
- " <!-- Hint -->\n"+
- " </DataObject>\n"+
- " <CreateTransformsInfoProfile>\n"+
- " <CreateTransformsInfo>\n"+
- " <FinalDataMetaInfo>\n"+
- " <MimeType>text/plain</MimeType>\n"+
- " </FinalDataMetaInfo>\n"+
- " </CreateTransformsInfo>\n"+
- " </CreateTransformsInfoProfile>\n"+
- " </DataObjectInfo>\n"+
- " </SingleSignatureInfo>\n"+
- "</CreateXMLSignatureRequest>";
-
- */
-
- public void create060() throws Exception {
-
- String TestNumber = "060";
- String reqFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Req.xml";
- String req = this.replaceString(defaultblock,"Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testDaten.txt\"","");
- /*req = this.replaceString(req,"<CreateTransformsInfoProfile>","");
- req = this.replaceString(req,"<CreateTransformsInfo>","");
- req = this.replaceString(req,"<FinalDataMetaInfo>","");
- req = this.replaceString(req,"<MimeType>text/plain</MimeType>","");
- req = this.replaceString(req,"</FinalDataMetaInfo>","");
- req = this.replaceString(req,"</CreateTransformsInfo>","");
- req = this.replaceString(req,"</CreateTransformsInfoProfile>","");*/
-
- writeFile(reqFile,req);
-
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".ErrRes.xml";
-
- writeFile(resFile,"1102");
-
- }
-
- public void create061() throws Exception {
-
- String TestNumber = "061";
- String reqFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Req.xml";
- String req = this.replaceString(defaultblock,"Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testDaten.txt\"","");
- req = this.replaceString(req,"<!-- Hint -->","<XMLContent xml:space=\"preserve\"><DieserTagIstNichtZu></XMLContent>");
-
- writeFile(reqFile,req);
-
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".ErrRes.xml";
-
- writeFile(resFile,"0000");
-
- }
-
- public void create062() throws Exception {
-
- String TestNumber = "062";
- String reqFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Req.xml";
- String req = this.replaceString(defaultblock,"Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testDaten.txt\"","");
- req = this.replaceString(req,"<!-- Hint -->","<Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg=</Base64Content>");
-
- writeFile(reqFile,req);
-
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".ErrRes.xml";
-
- writeFile(resFile,"1100");
-
- }
-
- public void create063() throws Exception {
-
- String TestNumber = "063";
- String reqFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Req.xml";
- String req = this.replaceString(defaultblock,"<MimeType>text/plain</MimeType>","<MimeType>something/some thing/something</MimeType>");
-
- writeFile(reqFile,req);
-
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".ErrRes.xml";
-
- writeFile(resFile,"1100");
-
- }
-
- public void create065() throws Exception {
-
- String TestNumber = "065";
- String reqFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".Req.xml";
- String req =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
- "<CreateXMLSignatureRequest\n" +
- " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
- " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >\n"+
- " <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>\n"+
- " <SingleSignatureInfo SecurityLayerConformity=\"false\">\n"+
- " <DataObjectInfo Structure=\"detached\" ChildOfManifest=\"false\">\n"+
- " <DataObject>\n"+
- " <XMLContent xml:space=\"preserve\">Dies sind Testdaten</XMLContent>\n"+
- " </DataObject>\n"+
- " <CreateTransformsInfoProfile>\n"+
- " <CreateTransformsInfo>\n"+
- " <FinalDataMetaInfo>\n"+
- " <MimeType>text/plain</MimeType>\n"+
- " </FinalDataMetaInfo>\n"+
- " </CreateTransformsInfo>\n"+
- " </CreateTransformsInfoProfile>\n"+
- " </DataObjectInfo>\n"+
- " </SingleSignatureInfo>\n"+
- "</CreateXMLSignatureRequest>";
-
- writeFile(reqFile,req);
-
- /* ---------------------------------------------------------------------------------------------------- */
-
- String resFile = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- "." + TestNumber + ".ErrRes.xml";
-
- //Document signatureDoc = createPKCS12Sig(TestNumber,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
-
- //String erg = makeOutputFile(signatureDoc);
-
- writeFile(resFile,"1102");
-
- }
-
-
-
-
- public String makeOutputFile(Document signatureDoc) throws Exception
- {
- ArrayList foundNodes = new ArrayList();
- findNode(signatureDoc.getDocumentElement(),"dsig:Signature",foundNodes);
-
- Node outputNode = null;
-
- if(foundNodes.size()>0)
- {
- outputNode = (Node)foundNodes.get(0);
- }
-
- String erg = Node2String(outputNode);
-
- // remove the <?xml ?> Prologue
- int pos = erg.indexOf("<dsig");
- erg = erg.substring(pos);
-
- // insert the dsig:signature element in a MOA Response Message
- erg = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"+
- "<CreateXMLSignatureResponse\n" +
- " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
- " >"+
- //" xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\">\n"+
- "<SignatureEnvironment>" +
- erg + "</SignatureEnvironment></CreateXMLSignatureResponse>";
-
- return erg;
- }
-
- public String makeOutputFile(Document signatureDoc,Document signatureDoc2) throws Exception
- {
- ArrayList foundNodes = new ArrayList();
- findNode(signatureDoc.getDocumentElement(),"dsig:Signature",foundNodes);
-
- Node outputNode = null;
-
- if(foundNodes.size()>0)
- {
- outputNode = (Node)foundNodes.get(0);
- }
-
- String erg = Node2String(outputNode);
-
- // remove the <?xml ?> Prologue
- int pos = erg.indexOf("<dsig");
- erg = erg.substring(pos);
-
- foundNodes.clear();
- findNode(signatureDoc2.getDocumentElement(),"dsig:Signature",foundNodes);
-
- outputNode = null;
-
- if(foundNodes.size()>0)
- {
- outputNode = (Node)foundNodes.get(0);
- }
-
- String erg2 = Node2String(outputNode);
-
- // remove the <?xml ?> Prologue
- pos = erg2.indexOf("<dsig");
- erg2 = erg2.substring(pos);
-
- // insert the dsig:signature element in a MOA Response Message
- erg = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"+
- "<CreateXMLSignatureResponse\n" +
- " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"+
- " >"+
- "<SignatureEnvironment>" +
- erg +"</SignatureEnvironment><SignatureEnvironment>"+erg2+"</SignatureEnvironment> </CreateXMLSignatureResponse>";
-
- //erg = replaceString(erg,"Id=\"signature-1-1\"","Id=\"signature-2-1\"");
- //erg = replaceString(erg,"Id=\"reference-1-1\"","Id=\"reference-2-1\"");
-
-
- return erg;
- }
-
- public String readFile(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");
- }
- return data.toString();*/
-
- RandomAccessFile raf = new RandomAccessFile(filename, "r");
- if (raf.length() > Integer.MAX_VALUE)
- throw new IOException("file too big to fit in byte array.");
-
- byte[] result = new byte[(int) raf.length()];
-
- raf.read(result);
-
- return new String(result);
-
- }
-
-}
-
diff --git a/spss.test/src/testgenerator/TestGeneratorCX1.java b/spss.test/src/testgenerator/TestGeneratorCX1.java
deleted file mode 100644
index 44670742b..000000000
--- a/spss.test/src/testgenerator/TestGeneratorCX1.java
+++ /dev/null
@@ -1,1054 +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.BufferedWriter;
-import java.io.ByteArrayInputStream;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.FileWriter;
-import java.io.InputStream;
-import java.net.URL;
-import java.net.URLConnection;
-import java.util.ArrayList;
-import java.util.HashMap;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-import at.gv.egovernment.moa.util.Base64Utils;
-import at.gv.egovernment.moa.util.DOMUtils;
-
-/**
- * @author Administrator
- *
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates.
- * To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class TestGeneratorCX1 extends TestCases {
-
- String datadirectory = "data/CX1/";
-
- String base64content = "RGllcyBzaW5kIFRlc3RkYXRlbg==";
-
- String defaultblock =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+
- "<CreateXMLSignatureRequest xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >"+
- "<KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>"+
- "<SingleSignatureInfo SecurityLayerConformity=\"false\">"+
- "<DataObjectInfo Structure=\"detached\" ChildOfManifest=\"false\">"+
- "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/BookData.xml"+"\">"+
- "<XMLContent xml:space=\"preserve\">"+
- "<data:book xmlns:data=\"http://uri.data.org\" data:hardback=\"yes\">"+
- "<data:title>Gesundheitliche Auswirkungen elektronischer Signaturen</data:title>"+
- "<data:first-name>Ellipse</data:first-name>"+
- "<data:last-name>Kurvenreich</data:last-name>"+
- "<data:birth-date>1951-04-16</data:birth-date>"+
- "<data:birth-location>Hinterm Berg</data:birth-location>"+
- "<data:register-number>6-930-21512-12</data:register-number>"+
- "</data:book>"+
- "</XMLContent>"+
- "</DataObject>"+
- "<CreateTransformsInfoProfile>"+
- "<CreateTransformsInfo>"+
- "<dsig:Transforms>"+
- "<!-- insert transform -->"+
- "</dsig:Transforms>"+
- "<FinalDataMetaInfo>"+
- "<MimeType>text/html</MimeType>"+
- "<Description>http://www.description.com</Description>"+
- "</FinalDataMetaInfo>"+
- "</CreateTransformsInfo>"+
- "<!-- insert supp -->"+
- "</CreateTransformsInfoProfile>"+
- "</DataObjectInfo>"+
- "<!-- insert data2 -->"+
- "</SingleSignatureInfo>"+
- "</CreateXMLSignatureRequest>";
-
- private static final int canAlgCanXML = 1;
- private static final int canAlgCanXMLwithCom = 2;
- private static final int canAlgExcXML = 3;
- private static final int canAlgExcXMLwithCom = 4;
-
-
- public String fileprefix = null;
- public String filesuffix = null;
-
- public TestGeneratorCX1() throws Exception {
-
- super();
-
- // Set config properties
- configuration_.setProperty("TestClass", "TestGeneratorCX1");
-// configuration_.setProperty("privateKeyFile", baseDir + "additionalFiles/keys/RSAPrivateKey.der");
-// configuration_.setProperty("publicKeyFile", baseDir + "additionalFiles/keys/RSAPublicKey.der");
-// configuration_.setProperty("signatureFile", baseDir + "additionalFiles/signatures/Signature.unit1.xml");
-
- iaik.security.provider.IAIK.addAsProvider();
- iaik.security.ecc.provider.ECCProvider.addAsProvider();
- }
-
- public static void main(String[] args) throws Exception {
- TestGeneratorCX1 testcase = new TestGeneratorCX1();
-
- testcase.createConfig();
- testcase.create001();
- testcase.create002();
- testcase.create003();
- testcase.create004();
- testcase.create005();
- testcase.create006();
- testcase.create007();
- testcase.create008();
- testcase.create009();
- testcase.create010();
- testcase.create011();
- testcase.create012();
- testcase.create013();
- testcase.create014();
-
- testcase.create051();
- testcase.create052();
- testcase.create053();
- testcase.create054();
- testcase.create055();
-
- }
-
- public void createConfig() throws Exception {
-
- String file = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- ".Config.xml";
- String config =
-
- "<MOAConfiguration xmlns=\"http://reference.e-government.gv.at/namespace/moaconfig/20021122#\">"+
- " <KeyGroup id=\"PKCS12RSAKey1\"> <Key id=\"resources/test-ee2003_normal(buergerkarte).p12\"/> </KeyGroup>"+
- " <KeyGroup id=\"PKCS12RSAKeyExpired\"> <Key id=\"sicher-demo(buergerkarte).p12\"/> </KeyGroup>"+
-
- " <KeyGroup id=\"PKCS12ECDSAKey1\"> <Key id=\"ecc.p12\"/> </KeyGroup> "+
- " <KeyGroup id=\"HSMRSAKey1\"> <Key id=\"???\"/> </KeyGroup>"+
- " <KeyGroup id=\"HSMECDSAKey1\"> <Key id=\"???\"/> </KeyGroup>"+
- " <DigestMethodAlgorithm name=\"http://www.w3.org/2000/09/xmldsig#sha1\"/>"+
- " <SignatureAlgorithm name=\"http://www.w3.org/2000/09/xmldsig#rsa-sha1\"/>"+
- " <CanonicalizationAlgorithm name=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"/>"+
- " <CreateTransformsInfoProfile id=\"CreateTransformsInfoProfile1\" filename=\""+"file:/"+configuration_.getProperty("webbaseDir")+"CX1_bookprofile.xsl\"/>"+
- "</MOAConfiguration>";
-
-
- /*"<MOAConfiguration>"+
- " <KeyGroup id=\"PKCS12RSAKey1\"/> <!-- mapped auf \"test(1234).p12\" -->"+
- "</MOAConfiguration>"+
- "<!-- CanonicalizationMethod = http://www.w3.org/TR/2001/REC-xml-c14n-20010315 -->" +
- "<!-- SignatureMethod = http://www.w3.org/2000/09/xmldsig#rsa-sha1 -->";*/
-
- FileOutputStream fos = new FileOutputStream(file);
- fos.write(config.getBytes());
- fos.flush();
- fos.close();
-
- fileprefix = configuration_.getProperty("baseDir")+ datadirectory + configuration_.getProperty("TestClass") + ".";
- filesuffix = ".xml";
- }
-
- public void create001() throws Exception {
-
- String TestNumber = "001";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert transform -->",
- "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xslt-19991116\">"+
- "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\"><xsl:output method=\"html\" indent=\"no\"/><xsl:template match=\"data:book\" xmlns:data=\"http://uri.data.org\"><HTML><BODY><H1>Buch: <xsl:value-of select=\"data:title\"/></H1></BODY></HTML></xsl:template></xsl:stylesheet>"+
- "</dsig:Transform>");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init("signature-1-1");
- cpkcs.setCanoncialization(canAlgCanXML);
- //cpkcs.createReference(true,"Dies sind testdaten");
-
- Transform[] tr = new Transform[1];
- TransformImplXSLT trans = new TransformImplXSLT();
- InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl");
- trans.setInput(s,null);
- trans.setStyleSheet(s,null);
- tr[0] = trans;
-
- cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1");
-
- cpkcs.setKeyInformation(1);
-
- Document doc = cpkcs.returnSig();
-
- String output = makeOutputFile(doc);
-
- writeFile(resFile, output);
-
- }
-
- public void create002() throws Exception {
-
- String TestNumber = "002";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert transform -->",
- "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xslt-19991116\">"+
- "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+
- "<xsl:output method=\"html\" indent=\"no\"/>"+
- "<xsl:template match=\"data:book\" xmlns:data=\"http://uri.data.org\">"+
- "<HTML>"+
- "<BODY>"+
- "<H1>Buch: <xsl:value-of select=\"data:title\"/>"+
- "</H1>"+
- "</BODY>"+
- "</HTML>"+
- "</xsl:template>"+
- "</xsl:stylesheet>"+
- "</dsig:Transform>");
-
- req = replaceString(req,"SecurityLayerConformity=\"false\"","SecurityLayerConformity=\"true\"");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init("signature-1-1");
- cpkcs.setCanoncialization(canAlgCanXML);
- //cpkcs.createReference(true,"Dies sind testdaten");
-
- Transform[] tr = new Transform[1];
- TransformImplXSLT trans = new TransformImplXSLT();
- InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl");
- trans.setInput(s,null);
- trans.setStyleSheet(s,null);
- tr[0] = trans;
-
- cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1");
- //cpkcs.createReferenceWithManifest(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),"manifestObject");
- cpkcs.createETSIObjects("file:/"+configuration_.getProperty("webbaseDir")+"resources/BookData.xml");
- cpkcs.setKeyInformation(1);
-
- cpkcs.signer.getSignature().setId("signature-1-1");
-
- Document doc = cpkcs.returnSig();
-
- String output = makeOutputFile(doc);
-
- writeFile(resFile, output);
-
- }
-
- public void create003() throws Exception {
-
- String TestNumber = "003";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert transform -->",
- "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xpath-19991116\">"+
- "<dsig:XPath xmlns:data=\"http://uri.data.org\">//data:book/data:first-name</dsig:XPath>"+
- "</dsig:Transform>");
-
- req = replaceString(req,"<MimeType>text/html</MimeType>","<MimeType>text/plain</MimeType>");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init("signature-1-1");
- cpkcs.setCanoncialization(canAlgCanXML);
- //cpkcs.createReference(true,"Dies sind testdaten");
-
- Transform[] tr = new Transform[1];
- TransformImplXPath trans = new TransformImplXPath();
- InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/BookData.xml");
- trans.setInput(s,null);
- trans.addNSDeclaration("data",new URI("http://uri.data.org"));
- trans.setXPath("//data:book/data:first-name");
- //trans.setXPath("ancestor-or-self::data:first-name");
-
- tr[0] = trans;
-
- cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1");
- cpkcs.setKeyInformation(1);
-
- Document doc = cpkcs.returnSig();
-
- String output = makeOutputFile(doc);
-
- output = replaceString(output,"<dsig:XPath xmlns:data=\"http://uri.data.org\">","<dsig:XPath>"); // workaround
-
- writeFile(resFile, output);
-
- }
-
- public void create004() throws Exception {
-
- String TestNumber = "004";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert transform -->",
- "<dsig:Transform Algorithm=\"http://www.w3.org/2002/06/xmldsig-filter2\">"+
- "<xf2:XPath Filter=\"subtract\" xmlns:xf2=\"http://www.w3.org/2002/06/xmldsig-filter2\" xmlns:data=\"http://uri.data.org\">//data:book/data:first-name</xf2:XPath>"+
- "</dsig:Transform>");
-
- req = replaceString(req,"<MimeType>text/html</MimeType>","<MimeType>text/xml</MimeType>");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init("signature-1-1");
- cpkcs.setCanoncialization(canAlgCanXML);
- //cpkcs.createReference(true,"Dies sind testdaten");
-
- Transform[] tr = new Transform[1];
- TransformImplXPath2 trans = new TransformImplXPath2();
- InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/BookData.xml");
- trans.setInput(s,null);
- //trans.addNSDeclaration("data",new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"));
- //trans.setXPath("/data:book/data:first-name/node()");
- HashMap temp = new HashMap();
- temp.put("data",new URI("http://uri.data.org"));
- trans.addXPathFilter("//data:book/data:first-name",TransformImplXPath2.FILTER_MODE_SUBTRACT_,temp);
- tr[0] = trans;
-
- cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1");
- cpkcs.setKeyInformation(1);
-
- Document doc = cpkcs.returnSig();
-
- String output = makeOutputFile(doc);
-
- output = replaceString(output,"<xf2:XPath Filter=\"subtract\" xmlns:data=\"http://uri.data.org\"","<xf2:XPath Filter=\"subtract\" ");
-
- writeFile(resFile, output);
-
- }
-
- public void create005() throws Exception {
-
- String TestNumber = "005";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert transform -->",
- "<dsig:Transform Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"/>");
-
- req = replaceString(req,"<MimeType>text/html</MimeType>","<MimeType>text/xml</MimeType>");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init("signature-1-1");
- cpkcs.setCanoncialization(canAlgCanXML);
- //cpkcs.createReference(true,"Dies sind testdaten");
-
- Transform[] tr = new Transform[1];
- TransformImplCanonicalXML trans = new TransformImplCanonicalXML();
- InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl");
- trans.setInput(s,null);
- /*trans.addNSDeclaration("data",new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"));
- trans.setXPath("/data:book/data:first-name/node()");
- trans.*/
- tr[0] = trans;
-
- cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1");
- cpkcs.setKeyInformation(1);
-
- Document doc = cpkcs.returnSig();
-
- String output = makeOutputFile(doc);
-
- writeFile(resFile, output);
-
- }
-
- public void create006() throws Exception {
-
- String TestNumber = "006";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert transform -->",
- "<dsig:Transform Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments\"/>");
-
- req = replaceString(req,"<MimeType>text/html</MimeType>","<MimeType>text/xml</MimeType>");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init("signature-1-1");
- cpkcs.setCanoncialization(canAlgCanXML);
- //cpkcs.createReference(true,"Dies sind testdaten");
-
- Transform[] tr = new Transform[1];
- TransformImplCanonicalXMLWithComments trans = new TransformImplCanonicalXMLWithComments();
- InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl");
- trans.setInput(s,null);
- /*trans.addNSDeclaration("data",new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"));
- trans.setXPath("/data:book/data:first-name/node()");
- trans.*/
- tr[0] = trans;
-
- cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1");
- cpkcs.setKeyInformation(1);
-
- Document doc = cpkcs.returnSig();
-
- String output = makeOutputFile(doc);
-
- writeFile(resFile, output);
-
- }
-
- public void create007() throws Exception {
-
- String TestNumber = "007";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert transform -->",
- "<dsig:Transform Algorithm=\"http://www.w3.org/2001/10/xml-exc-c14n#\"><ec:InclusiveNamespaces PrefixList=\"dsig\" xmlns:ec=\"http://www.w3.org/2001/10/xml-exc-c14n#\"/></dsig:Transform>");
-
- req = replaceString(req,"<MimeType>text/html</MimeType>","<MimeType>text/xml</MimeType>");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init("signature-1-1");
- cpkcs.setCanoncialization(canAlgCanXML);
- //cpkcs.createReference(true,"Dies sind testdaten");
-
- Transform[] tr = new Transform[1];
- TransformImplExclusiveCanonicalXML trans = new TransformImplExclusiveCanonicalXML();
- InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl");
- trans.setInput(s,null);
- trans.setInclusiveNamespacePrefixes("dsig");
- /*trans.addNSDeclaration("data",new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"));
- trans.setXPath("/data:book/data:first-name/node()");
- trans.*/
- tr[0] = trans;
-
- cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1");
- cpkcs.setKeyInformation(1);
-
- Document doc = cpkcs.returnSig();
-
- String output = makeOutputFile(doc);
-
- writeFile(resFile, output);
-
- }
-
- public void create008() throws Exception {
-
- String TestNumber = "008";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert transform -->",
- "<dsig:Transform Algorithm=\"http://www.w3.org/2001/10/xml-exc-c14n#WithComments\"><ec:InclusiveNamespaces PrefixList=\"dsig\" xmlns:ec=\"http://www.w3.org/2001/10/xml-exc-c14n#\"/></dsig:Transform>");
-
- req = replaceString(req,"<MimeType>text/html</MimeType>","<MimeType>text/xml</MimeType>");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init("signature-1-1");
- cpkcs.setCanoncialization(canAlgCanXML);
- //cpkcs.createReference(true,"Dies sind testdaten");
-
- Transform[] tr = new Transform[1];
- TransformImplExclusiveCanonicalXMLWithComments trans = new TransformImplExclusiveCanonicalXMLWithComments();
- InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl");
- trans.setInput(s,null);
- trans.setInclusiveNamespacePrefixes("dsig");
- /*trans.addNSDeclaration("data",new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"));
- trans.setXPath("/data:book/data:first-name/node()");
- trans.*/
- tr[0] = trans;
-
- cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1");
- cpkcs.setKeyInformation(1);
-
- Document doc = cpkcs.returnSig();
-
- String output = makeOutputFile(doc);
-
- writeFile(resFile, output);
-
- }
-
- public void create009() throws Exception {
-
- String TestNumber = "009";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert transform -->",
- "<dsig:Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#enveloped-signature\"/>");
-
- req = replaceString(req,"<XMLContent xml:space=\"preserve\">"+
- "<data:book xmlns:data=\"http://uri.data.org\" data:hardback=\"yes\">"+
- "<data:title>Gesundheitliche Auswirkungen elektronischer Signaturen</data:title>"+
- "<data:first-name>Ellipse</data:first-name>"+
- "<data:last-name>Kurvenreich</data:last-name>"+
- "<data:birth-date>1951-04-16</data:birth-date>"+
- "<data:birth-location>Hinterm Berg</data:birth-location>"+
- "<data:register-number>6-930-21512-12</data:register-number>"+
- "</data:book>"+
- "</XMLContent>","");
-
- req = replaceString(req,
- "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/BookData.xml"+"\">",
- "<DataObject Reference=\"\">");
-
- //req = replaceString(req,"Structure=\"detached\"","Structure=\"enveloping\"");
-
-
- req = replaceString(req,"<!-- insert data2 -->",
- "<CreateSignatureInfo><CreateSignatureEnvironment><XMLContent xml:space=\"preserve\"><env:Document xmlns:env=\"http://uri.env.org\">Text</env:Document></XMLContent></CreateSignatureEnvironment><CreateSignatureEnvironmentProfile><CreateSignatureLocation xmlns:env=\"http://uri.env.org\" Index=\"1\">//env:Document</CreateSignatureLocation></CreateSignatureEnvironmentProfile></CreateSignatureInfo>");
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
-
- InputStream bis = new ByteArrayInputStream(("<env:Document xmlns:env=\"http://uri.env.org\">Text</env:Document>").getBytes());
- //Document-Builder holen
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- factory.setNamespaceAware(true);
- DocumentBuilder builder = factory.newDocumentBuilder();
- //Dokument Parsen
- Document reqDoc = builder.parse(bis);
-
- System.out.println(DOMUtils.serializeNode(reqDoc.getDocumentElement()));
- //Position für die Signatur angeben
- String xPath_Pos = "/node()";
- //XPAth-Prefixe deklarieren
- String xPath_Prefix = "env xmlns:env=\"http://uri.env.org\"";
- Position pos = new Position(xPath_Pos, xPath_Prefix,0);
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init(reqDoc,pos,"signature-1-1");
- cpkcs.setCanoncialization(canAlgCanXML);
- //cpkcs.createReference(true,"Dies sind testdaten");
-
- Transform[] tr = new Transform[1];
- TransformImplEnvelopedSignature trans = new TransformImplEnvelopedSignature();
-
- /*trans.addNSDeclaration("data",new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"));
- trans.setXPath("/data:book/data:first-name/node()");
- trans.*/
- tr[0] = trans;
-
- cpkcs.createReferenceWithTransforms(new URI(""),tr,"reference-1-1");
- cpkcs.setKeyInformation(1);
-
- Document doc = cpkcs.returnSig();
-
- String output = makeOutputFile(doc);
-
- output = replaceString(output,"<dsig:Signature","<env:Document xmlns:env=\"http://uri.env.org\">Text<dsig:Signature");
- output = replaceString(output,"</dsig:Signature>","</dsig:Signature></env:Document>");
-
-
-
- writeFile(resFile, output);
-
- }
-
- public void create010() throws Exception {
-
- String TestNumber = "010";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert transform -->",
- "<dsig:Transform Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"/>"+
- "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xslt-19991116\">"+
- "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+
- "<xsl:output method=\"html\" indent=\"no\"/>"+
- "<xsl:template match=\"data:book\" xmlns:data=\"http://uri.data.org\">"+
- "<HTML>"+
- "<BODY>"+
- "<H1>Buch: <xsl:value-of select=\"data:title\"/>"+
- "</H1>"+
- "</BODY>"+
- "</HTML>"+
- "</xsl:template>"+
- "</xsl:stylesheet>"+
- "</dsig:Transform>");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init("signature-1-1");
- cpkcs.setCanoncialization(canAlgCanXML);
- //cpkcs.createReference(true,"Dies sind testdaten");
-
- Transform[] tr = new Transform[2];
- TransformImplCanonicalXML trans = new TransformImplCanonicalXML();
- InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl");
- trans.setInput(s,null);
- /*trans.addNSDeclaration("data",new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"));
- trans.setXPath("/data:book/data:first-name/node()");
- trans.*/
- tr[0] = trans;
-
- TransformImplXSLT tr2 = new TransformImplXSLT();
- InputStream s2 = new FileInputStream(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl");
- tr2.setInput(s2,null);
- tr2.setStyleSheet(s2,null);
- tr[1] = tr2;
-
- cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1");
- cpkcs.setKeyInformation(1);
-
- Document doc = cpkcs.returnSig();
-
- String output = makeOutputFile(doc);
-
- writeFile(resFile, output);
-
- }
-
- public void create011() throws Exception {
-
- String TestNumber = "011";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert transform -->",
- "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xslt-19991116\">"+
- "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+
- "<xsl:include href=\""+configuration_.getProperty("webbaseDir")+"resources/CX1_book_not_here.xsl"+"\"/>"+
- "</xsl:stylesheet>"+
- "</dsig:Transform>");
-
- req = replaceString(req,"<!-- insert supp -->",
- "<Supplement>"+
- "<Content Reference=\""+configuration_.getProperty("webbaseDir")+"resources/CX1_book_not_here.xsl"+"\">"+
- "<Base64Content>"+
- Base64Utils.encode(("<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+
- "<xsl:output method=\"html\" indent=\"no\"/>"+
- "<xsl:template match=\"data:book\" xmlns:data=\"http://uri.data.org\">"+
- "<HTML>"+
- "<BODY>"+
- "<H1>Buch: <xsl:value-of select=\"data:title\"/>"+
- "</H1>"+
- "</BODY>"+
- "</HTML>"+
- "</xsl:template>"+
- "</xsl:stylesheet>").getBytes())+
- "</Base64Content>"+
- "</Content>"+
- "</Supplement>");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init("signature-1-1");
- cpkcs.setCanoncialization(canAlgCanXML);
- //cpkcs.createReference(true,"Dies sind testdaten");
-
- Transform[] tr = new Transform[1];
- TransformImplXSLT trans = new TransformImplXSLT();
- URL u = new URL(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref_not_here.xsl");
- URLConnection hu = u.openConnection();
- //trans.setInput(s,null);
- trans.setStyleSheet(hu.getInputStream(),new URI(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref_not_here.xsl"));
- tr[0] = trans;
-
- cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1");
- //cpkcs.createReferenceWithManifest(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),"manifestObject");
- cpkcs.setKeyInformation(1);
-
- Document doc = cpkcs.returnSig();
-
- String output = makeOutputFile(doc);
-
- writeFile(resFile, output);
- }
-
- public void create012() throws Exception {
-
- String TestNumber = "012";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert transform -->",
- "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xslt-19991116\">"+
- "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+
- "<xsl:include href=\""+configuration_.getProperty("webbaseDir")+"resources/CX1_book_not_here.xsl"+"\"/>"+
- "</xsl:stylesheet>"+
- "</dsig:Transform>");
-
- req = replaceString(req,"<!-- insert data2 -->",
- "<DataObjectInfo Structure=\"detached\" ChildOfManifest=\"false\">"+
- "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/BookData.xml"+"\">"+
- "<XMLContent xml:space=\"preserve\">"+
- "<data:book xmlns:data=\"http://uri.data.org\" data:hardback=\"yes\">"+
- "<data:title>Gesundheitliche Auswirkungen elektronischer Signaturen</data:title>"+
- "<data:first-name>Ellipse</data:first-name>"+
- "<data:last-name>Kurvenreich</data:last-name>"+
- "<data:birth-date>1951-04-16</data:birth-date>"+
- "<data:birth-location>Hinterm Berg</data:birth-location>"+
- "<data:register-number>6-930-21512-12</data:register-number>"+
- "</data:book>"+
- "</XMLContent>"+
- "</DataObject>"+
- "<CreateTransformsInfoProfile>"+
- "<CreateTransformsInfo>"+
- "<dsig:Transforms>"+
- "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xslt-19991116\">"+
- "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+
- "<xsl:include href=\""+configuration_.getProperty("webbaseDir")+"resources/CX1_book_not_here.xsl\"/>"+
- "</xsl:stylesheet>"+
- "</dsig:Transform>"+
- "</dsig:Transforms>"+
- "<FinalDataMetaInfo>"+
- "<MimeType>text/html</MimeType>"+
- "</FinalDataMetaInfo>"+
- "</CreateTransformsInfo>"+
- "<Supplement>"+
- "<Content Reference=\""+configuration_.getProperty("webbaseDir")+"resources/CX1_book_not_here.xsl"+"\">"+
- "<Base64Content>"+
- Base64Utils.encode(("<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+
- "<xsl:output method=\"html\" indent=\"no\"/>"+
- "<xsl:template match=\"data:book\" xmlns:data=\"http://uri.data.org\">"+
- "<HTML>"+
- "<BODY>"+
- "<H1>Buch: <xsl:value-of select=\"data:title\"/>"+
- "</H1>"+
- "</BODY>"+
- "</HTML>"+
- "</xsl:template>"+
- "</xsl:stylesheet>").getBytes())+
- "</Base64Content>"+
- "</Content>"+
- "</Supplement>"+
- "</CreateTransformsInfoProfile>"+
- "</DataObjectInfo>");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init("signature-1-1");
- cpkcs.setCanoncialization(canAlgCanXML);
- //cpkcs.createReference(true,"Dies sind testdaten");
-
- Transform[] tr = new Transform[1];
- TransformImplXSLT trans = new TransformImplXSLT();
- URL u = new URL(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref_not_here.xsl");
- URLConnection hu = u.openConnection();
- //trans.setInput(s,null);
- trans.setStyleSheet(hu.getInputStream(),new URI(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref_not_here.xsl"));
-
- tr[0] = trans;
-
- cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1");
- cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-2");
- //cpkcs.createReferenceWithManifest(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),"manifestObject");
- cpkcs.setKeyInformation(1);
-
- Document doc = cpkcs.returnSig();
-
- String output = makeOutputFile(doc);
-
- writeFile(resFile, output);
-
- }
-
- public void create013() throws Exception {
-
- String TestNumber = "013";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,
- "<CreateTransformsInfoProfile>"+
- "<CreateTransformsInfo>"+
- "<dsig:Transforms>"+
- "<!-- insert transform -->"+
- "</dsig:Transforms>"+
- "<FinalDataMetaInfo>"+
- "<MimeType>text/html</MimeType>"+
- "<Description>http://www.description.com</Description>"+
- "</FinalDataMetaInfo>"+
- "</CreateTransformsInfo>"+
- "<!-- insert supp -->"+
- "</CreateTransformsInfoProfile>",
- "<CreateTransformsInfoProfileID>CreateTransformsInfoProfile1</CreateTransformsInfoProfileID>");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init("signature-1-1");
- cpkcs.setCanoncialization(canAlgCanXML);
- //cpkcs.createReference(true,"Dies sind testdaten");
-
- Transform[] tr = new Transform[1];
- TransformImplXSLT trans = new TransformImplXSLT();
- InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl");
- trans.setInput(s,null);
- trans.setStyleSheet(s,null);
- tr[0] = trans;
-
- cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1");
- //cpkcs.createReferenceWithManifest(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),"manifestObject");
- cpkcs.setKeyInformation(1);
-
- Document doc = cpkcs.returnSig();
-
- String output = makeOutputFile(doc);
-
- writeFile(resFile, output);
-
- }
-
- public void create014() throws Exception {
-
- String TestNumber = "014";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert transform -->",
- "<dsig:Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#base64\"/>");
-
- req = replaceString(req,
- "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/BookData.xml"+"\">",
- "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testBase64.txt"+"\">");
-
- req = replaceString(req,
- "<XMLContent xml:space=\"preserve\">"+
- "<data:book xmlns:data=\"http://uri.data.org\" data:hardback=\"yes\">"+
- "<data:title>Gesundheitliche Auswirkungen elektronischer Signaturen</data:title>"+
- "<data:first-name>Ellipse</data:first-name>"+
- "<data:last-name>Kurvenreich</data:last-name>"+
- "<data:birth-date>1951-04-16</data:birth-date>"+
- "<data:birth-location>Hinterm Berg</data:birth-location>"+
- "<data:register-number>6-930-21512-12</data:register-number>"+
- "</data:book>"+
- "</XMLContent>",
- /*"<Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content>"*/"");
-
- req = replaceString(req,"<MimeType>text/html</MimeType>","<MimeType>text/plain</MimeType>");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init("signature-1-1");
- cpkcs.setCanoncialization(canAlgCanXML);
- //cpkcs.createReference(true,"Dies sind testdaten");
-
- Transform[] tr = new Transform[1];
- TransformImplBase64Decode trans = new TransformImplBase64Decode();
- InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/testBase64.txt");
- trans.setInput(s,null);
- /*trans.addNSDeclaration("data",new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"));
- trans.setXPath("/data:book/data:first-name/node()");
- trans.*/
- tr[0] = trans;
-
- cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/testBase64.txt"),tr,"reference-1-1");
- cpkcs.setKeyInformation(1);
-
- Document doc = cpkcs.returnSig();
-
- String output = makeOutputFile(doc);
-
- writeFile(resFile, output);
-
- }
-
- public void create051() throws Exception {
-
- String TestNumber = "051";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert transform -->",
- "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xpath-19991116\">"+
- "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+
- "<xsl:output method=\"html\" indent=\"no\"/>"+
- "<xsl:template match=\"data:book\" xmlns:data=\"http://uri.data.org\">"+
- "<HTML>"+
- "<BODY>"+
- "<H1>Buch: <xsl:value-of select=\"data:title\"/>"+
- "</H1>"+
- "</BODY>"+
- "</HTML>"+
- "</xsl:template>"+
- "</xsl:stylesheet>"+
- "</dsig:Transform>");
-
- req = replaceString(req,"SecurityLayerConformity=\"false\"","SecurityLayerConformity=\"true\"");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
-
- writeFile(resFile,"2202");
- }
-
- public void create052() throws Exception {
-
- String TestNumber = "052";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert transform -->",
- "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xslt-19991116\">"+
- "<XPath>/data:book/data:first-name/node()</XPath>"+
- "</dsig:Transform>");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
-
- writeFile(resFile,"2215");
-
-
- }
-
- public void create053() throws Exception {
-
- String TestNumber = "053";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert transform -->",
- " <dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xslt-19991116\">"+
- " <xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+
- " <xsl:include href=\"file:/transform.xsl\"/>"+
- " </xsl:stylesheet>"+
- " </dsig:Transform>");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
-
- writeFile(resFile,"2220");
-
- }
-
- public void create054() throws Exception {
-
- String TestNumber = "054";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,
- "<CreateTransformsInfoProfile>"+
- "<CreateTransformsInfo>"+
- "<dsig:Transforms>"+
- "<!-- insert transform -->"+
- "</dsig:Transforms>"+
- "<FinalDataMetaInfo>"+
- "<MimeType>text/html</MimeType>"+
- "<Description>http://www.description.com</Description>"+
- "</FinalDataMetaInfo>"+
- "</CreateTransformsInfo>"+
- "<!-- insert supp -->"+
- "</CreateTransformsInfoProfile>",
- "<CreateTransformsInfoProfileID>CreateTransformsInfoProfileNonValid</CreateTransformsInfoProfileID>");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
-
- writeFile(resFile,"2234");
-
- }
-
- public void create055() throws Exception {
-
- String TestNumber = "055";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert transform -->",
- "<dsig:Transform Algorithm=\"http://www.w3.org/2002/06/xmldsig-filter2\">"+
- "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+
- "<xsl:output method=\"html\" indent=\"no\"/>"+
- "<xsl:template match=\"data:book\" xmlns:data=\"http://uri.data.org\">"+
- "<HTML>"+
- "<BODY>"+
- "<H1>Buch: <xsl:value-of select=\"data:title\"/>"+
- "</H1>"+
- "</BODY>"+
- "</HTML>"+
- "</xsl:template>"+
- "</xsl:stylesheet>"+
- "</dsig:Transform>");
-
- req = replaceString(req,"SecurityLayerConformity=\"false\"","SecurityLayerConformity=\"true\"");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
-
- writeFile(resFile,"2216");
- }
-
- public void writeFile(String filename,String data) throws Exception
- {
- BufferedWriter bw = new BufferedWriter(new FileWriter(filename));
- bw.write(data);
- bw.close();
- }
-
- public String makeOutputFile(Document signatureDoc) throws Exception
- {
- ArrayList foundNodes = new ArrayList();
- findNode(signatureDoc.getDocumentElement(),"dsig:Signature",foundNodes);
-
- Node outputNode = null;
-
- if(foundNodes.size()>0)
- {
- outputNode = (Node)foundNodes.get(0);
- }
-
- String erg = Node2String(outputNode);
-
- // remove the <?xml ?> Prologue
- int pos = erg.indexOf("<dsig");
- erg = erg.substring(pos);
-
- // insert the dsig:signature element in a MOA Response Message
- erg = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"+
- "<CreateXMLSignatureResponse" +
- " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\""+
- ">"+
- //" xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\">"+
- "<SignatureEnvironment>" +
- erg + "</SignatureEnvironment> </CreateXMLSignatureResponse>";
-
- return erg;
- }
-}
diff --git a/spss.test/src/testgenerator/TestGeneratorCX2.java b/spss.test/src/testgenerator/TestGeneratorCX2.java
deleted file mode 100644
index ed5c5194a..000000000
--- a/spss.test/src/testgenerator/TestGeneratorCX2.java
+++ /dev/null
@@ -1,1050 +0,0 @@
-package testgenerator;
-
-import iaik.ixsil.algorithms.Transform;
-import iaik.ixsil.algorithms.TransformImplEnvelopedSignature;
-import iaik.ixsil.core.Position;
-import iaik.ixsil.util.URI;
-
-import java.io.BufferedWriter;
-import java.io.ByteArrayInputStream;
-import java.io.FileOutputStream;
-import java.io.FileWriter;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-import at.gv.egovernment.moa.util.Base64Utils;
-import at.gv.egovernment.moa.util.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 Administrator
- *
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates.
- * To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class TestGeneratorCX2 extends TestCases {
-
- String datadirectory = "data/CX2/";
-
- String defaultblock =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+
- "<CreateXMLSignatureRequest xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">"+
- "<KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>"+
- "<SingleSignatureInfo SecurityLayerConformity=\"false\">"+
- "<DataObjectInfo Structure=\"detached\" ChildOfManifest=\"false\">"+
- "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testSimple.txt"+"\">"+
- "<XMLContent xml:space=\"preserve\">Dies sind Testdaten</XMLContent>"+
- "</DataObject>"+
- "<CreateTransformsInfoProfile>"+
- "<CreateTransformsInfo>"+
- "<FinalDataMetaInfo>"+
- "<MimeType>text/plain</MimeType>"+
- "</FinalDataMetaInfo>"+
- "</CreateTransformsInfo>"+
- "</CreateTransformsInfoProfile>"+
- "</DataObjectInfo>"+
- "<CreateSignatureInfo xmlns:data=\"http://uri.data.org\">"+
- "<!-- insert create -->"+
- "<CreateSignatureEnvironmentProfile>"+
- "<CreateSignatureLocation Index=\"0\">//data:Document</CreateSignatureLocation>"+
- "<!-- insert supp -->"+
- "</CreateSignatureEnvironmentProfile>"+
- "</CreateSignatureInfo>"+
- "</SingleSignatureInfo>"+
- "</CreateXMLSignatureRequest>";
-
- public String fileprefix = null;
- public String filesuffix = null;
-
- private static final int canAlgCanXML = 1;
- private static final int canAlgCanXMLwithCom = 2;
- private static final int canAlgExcXML = 3;
- private static final int canAlgExcXMLwithCom = 4;
-
- public TestGeneratorCX2() throws Exception {
-
- super();
-
- // Set config properties
- configuration_.setProperty("TestClass", "TestGeneratorCX2");
-// configuration_.setProperty("privateKeyFile", baseDir + "additionalFiles/keys/RSAPrivateKey.der");
-// configuration_.setProperty("publicKeyFile", baseDir + "additionalFiles/keys/RSAPublicKey.der");
-// configuration_.setProperty("signatureFile", baseDir + "additionalFiles/signatures/Signature.unit1.xml");
-
- iaik.security.provider.IAIK.addAsProvider();
- iaik.security.ecc.provider.ECCProvider.addAsProvider();
- }
-
- public static void main(String[] args) throws Exception {
- TestGeneratorCX2 testcase = new TestGeneratorCX2();
-
- testcase.createConfig();
- testcase.create001();
- testcase.create002();
- testcase.create003();
- testcase.create004();
- testcase.create005();
- testcase.create006();
- testcase.create007();
- testcase.create008();
- testcase.create009();
-
- testcase.create051();
- testcase.create052();
- testcase.create053();
- testcase.create054();
- testcase.create055();
- testcase.create056();
- testcase.create057();
-
- }
-
- public void createConfig() throws Exception {
-
- String file = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- ".Config.xml";
- String config =
-
- "<MOAConfiguration xmlns=\"http://reference.e-government.gv.at/namespace/moaconfig/20021122#\">"+
- " <KeyGroup id=\"PKCS12RSAKey1\"> <Key id=\"resources/test-ee2003_normal(buergerkarte).p12\"/> </KeyGroup>"+
- " <KeyGroup id=\"PKCS12RSAKeyExpired\"> <Key id=\"sicher-demo(buergerkarte).p12\"/> </KeyGroup>"+
- " <KeyGroup id=\"PKCS12ECDSAKey1\"> <Key id=\"ecc.p12\"/> </KeyGroup> "+
- " <KeyGroup id=\"HSMRSAKey1\"> <Key id=\"???\"/> </KeyGroup>"+
- " <KeyGroup id=\"HSMECDSAKey1\"> <Key id=\"???\"/> </KeyGroup>"+
- " <DigestMethodAlgorithm name=\"http://www.w3.org/2000/09/xmldsig#sha1\"/>"+
- " <SignatureAlgorithm name=\"http://www.w3.org/2000/09/xmldsig#rsa-sha1\"/>"+
- " <CanonicalizationAlgorithm name=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"/>"+
- " <CreateSignatureEnvironmentProfile id=\"CreateSignatureEnvironmentProfile1\" filename=\""+"file:/"+configuration_.getProperty("webbaseDir")+"resources/CSEP.xml\"/>"+
- "</MOAConfiguration>";
-
- FileOutputStream fos = new FileOutputStream(file);
- fos.write(config.getBytes());
- fos.flush();
- fos.close();
-
- fileprefix = configuration_.getProperty("baseDir")+ datadirectory + configuration_.getProperty("TestClass") + ".";
- filesuffix = ".xml";
- }
-
- public void create001() throws Exception {
-
- String TestNumber = "001";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert create -->",
- "<CreateSignatureEnvironment>"+
- "<XMLContent xml:space=\"preserve\">"+
- "<data:Document xmlns:data=\"http://uri.data.org\">"+readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+"</data:Document>"+
- //readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+
- "</XMLContent>"+
- "</CreateSignatureEnvironment>");
-
- writeFile(reqFile,req);
-
- InputStream bis = new ByteArrayInputStream(("<data:Document xmlns:data=\"http://uri.data.org\">"+readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+"</data:Document>").getBytes());
- //Document-Builder holen
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- factory.setNamespaceAware(true);
- DocumentBuilder builder = factory.newDocumentBuilder();
- //Dokument Parsen
- Document reqDoc = builder.parse(bis);
-
- System.out.println(DOMUtils.serializeNode(reqDoc.getDocumentElement()));
- //Position für die Signatur angeben
- String xPath_Pos = "/node()";
- //XPAth-Prefixe deklarieren
- String xPath_Prefix = "data xmlns:data=\"http://uri.data.org\"";
- Position pos = new Position(xPath_Pos, xPath_Prefix,0);
-
- String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
-
-
- 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,"signature-1-1");
- cpkcs.setCanoncialization(canAlgCanXML);
- cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testSimple.txt","reference-1-1");
- cpkcs.setKeyInformation(1);
-
- Document doc = cpkcs.returnSig();
-
- String output = makeOutputFile(doc,"<data:Document xmlns:data=\"http://uri.data.org\">",readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+"</data:Document>");
-
- writeFile(resFile, output);
-
- }
-
- public void create002() throws Exception {
-
- String TestNumber = "002";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert create -->",
- "<CreateSignatureEnvironment Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testDocument.xml"+"\"/>");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
-
- InputStream bis = new ByteArrayInputStream(("<data:Document xmlns:data=\"http://uri.data.org\">"+readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+"</data:Document>").getBytes());
- //Document-Builder holen
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- factory.setNamespaceAware(true);
- DocumentBuilder builder = factory.newDocumentBuilder();
- //Dokument Parsen
- Document reqDoc = builder.parse(bis);
-
- System.out.println(DOMUtils.serializeNode(reqDoc.getDocumentElement()));
- //Position für die Signatur angeben
- String xPath_Pos = "/node()";
- //XPAth-Prefixe deklarieren
- String xPath_Prefix = "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,"signature-1-1");
- cpkcs.setCanoncialization(canAlgCanXML);
- cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testSimple.txt","reference-1-1");
- cpkcs.setKeyInformation(1);
-
- Document doc = cpkcs.returnSig();
-
- String output = makeOutputFile(doc,"<data:Document xmlns:data=\"http://uri.data.org\">",readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+"</data:Document>");
-
- writeFile(resFile, output);
-
- }
-
- public void create003() throws Exception {
-
- String TestNumber = "003";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert create -->",
- "<CreateSignatureEnvironment>"+
- "<Base64Content>"+readBinaryFileAsBase64(configuration_.getProperty("baseDir")+"resources/testDocument.xml")+"</Base64Content>"+
- "</CreateSignatureEnvironment>");
-
- //req = replaceString(req,"Index=\"0\">//data:Document","Index=\"0\">//Hugo");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
-
- InputStream bis = new ByteArrayInputStream(("<data:Document xmlns:data=\"http://uri.data.org\">"+readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+"</data:Document>").getBytes());
- //Document-Builder holen
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- factory.setNamespaceAware(true);
- DocumentBuilder builder = factory.newDocumentBuilder();
- //Dokument Parsen
- Document reqDoc = builder.parse(bis);
-
- System.out.println(DOMUtils.serializeNode(reqDoc.getDocumentElement()));
- //Position für die Signatur angeben
- String xPath_Pos = "/node()";
- //XPAth-Prefixe deklarieren
- String xPath_Prefix = "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,"signature-1-1");
- cpkcs.setCanoncialization(canAlgCanXML);
- cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testSimple.txt","reference-1-1");
- cpkcs.setKeyInformation(1);
-
-
- Document doc = cpkcs.returnSig();
-
- String output = makeOutputFile(doc,"<data:Document xmlns:data=\"http://uri.data.org\">",cutXML(readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt"))+"</data:Document>");
-
- writeFile(resFile, output);
-
- }
-
- public void create004() throws Exception {
-
- String TestNumber = "004";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert create -->",
- "<CreateSignatureEnvironment>"+
- "<XMLContent xml:space=\"preserve\">"+
- "<data:Document xmlns:data=\"http://uri.data.org\">"+readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+"</data:Document>"+
- "</XMLContent>"+
- "</CreateSignatureEnvironment>");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
-
- InputStream bis = new ByteArrayInputStream(("<data:Document xmlns:data=\"http://uri.data.org\">"+readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+"</data:Document>").getBytes());
- //Document-Builder holen
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- factory.setNamespaceAware(true);
- DocumentBuilder builder = factory.newDocumentBuilder();
- //Dokument Parsen
- Document reqDoc = builder.parse(bis);
-
- System.out.println(DOMUtils.serializeNode(reqDoc.getDocumentElement()));
- //Position für die Signatur angeben
- String xPath_Pos = "/node()";
- //XPAth-Prefixe deklarieren
- String xPath_Prefix = "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,"signature-1-1");
- cpkcs.setCanoncialization(canAlgCanXML);
- cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testSimple.txt","reference-1-1");
- cpkcs.setKeyInformation(1);
-
-
- Document doc = cpkcs.returnSig();
-
- String output = makeOutputFile(doc,"<data:Document xmlns:data=\"http://uri.data.org\">",readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+"</data:Document>");
-
- writeFile(resFile, output);
- }
-
- public void create005() throws Exception {
-
- String TestNumber = "005";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert create -->",
- "<CreateSignatureEnvironment>"+
- "<XMLContent xml:space=\"preserve\">"+
- "<data:Document xmlns:data=\"http://uri.data.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" attr=\"document\" xsi:schemaLocation=\"http://uri.data.org http://tollesSchema.org/test.xsd\">Dies sind Testdaten</data:Document>"+
- "</XMLContent>"+
- "</CreateSignatureEnvironment>");
-
- req = replaceString(req,"<!-- insert supp -->",
- "<Supplement>"+
- "<Content Reference=\"http://tollesSchema.org/test.xsd\">"+
- "<XMLContent xml:space=\"preserve\">"+
- "<xsd:schema targetNamespace=\"http://uri.data.org\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://uri.data.org\" elementFormDefault=\"qualified\" attributeFormDefault=\"unqualified\" id=\"tollesSchema\">"+
- "<xsd:element name=\"Document\">"+
- "<xsd:complexType mixed=\"true\">"+
- "<xsd:sequence maxOccurs=\"unbounded\" minOccurs=\"0\">"+
- "<xsd:any namespace=\"##any\" processContents=\"lax\"/>"+
- "</xsd:sequence>"+
- "<xsd:attribute name=\"attr\" type=\"xsd:ID\" use=\"required\"/>"+
- "</xsd:complexType>"+
- "</xsd:element>"+
- "</xsd:schema>"+
- "</XMLContent>"+
- "</Content>"+
- "</Supplement>");
-
- req = replaceString(req,"<FinalDataMetaInfo>",
- "<dsig:Transforms><dsig:Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#enveloped-signature\"/></dsig:Transforms>"+
- "<FinalDataMetaInfo>");
-
-
-
- //req = replaceString(req,"Index=\"0\">//data:Document","Index=\"0\">//data:Document");
- System.out.println("!!!");
- System.out.println(req);
-
- req = replaceString(req,
- "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testSimple.txt"+"\">"+
- "<XMLContent xml:space=\"preserve\">Dies sind Testdaten</XMLContent>"+
- "</DataObject>",
- "<DataObject Reference=\"#document\">"+
- "</DataObject>"
- );
-
- System.out.println(req);
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
-
- //InputStream bis = new ByteArrayInputStream(("<data:Document attr=\"document\" xmlns:data=\"http://uri.data.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://uri.data.org http://tollesSchema.org\">Dies sind Testdaten</data:Document>").getBytes());
- InputStream bis = new ByteArrayInputStream(("<data:Document xmlns:data=\"http://uri.data.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" attr=\"document\" xsi:schemaLocation=\"http://uri.data.org http://tollesSchema.org/test.xsd\">Dies sind Testdaten</data:Document>").getBytes());
- //Document-Builder holen
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- factory.setNamespaceAware(true);
- factory.setValidating(true);
- DocumentBuilder builder = factory.newDocumentBuilder();
-
- Map m = new HashMap();
- m.put("http://tollesSchema.org/test.xsd",new ByteArrayInputStream((
- "<xsd:schema targetNamespace=\"http://uri.data.org\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://uri.data.org\" elementFormDefault=\"qualified\" attributeFormDefault=\"unqualified\" id=\"tollesSchema\">"+
- "<xsd:element name=\"Document\">"+
- "<xsd:complexType mixed=\"true\">"+
- "<xsd:sequence maxOccurs=\"unbounded\" minOccurs=\"0\">"+
- "<xsd:any namespace=\"##any\" processContents=\"lax\"/>"+
- "</xsd:sequence>"+
- "<xsd:attribute name=\"attr\" type=\"xsd:ID\" use=\"required\"/>"+
- "</xsd:complexType>"+
- "</xsd:element></xsd:schema>").getBytes()));
-
- EntityResolverChain chain = new EntityResolverChain();
- chain.addEntityResolver(new StreamEntityResolver(m));
- chain.addEntityResolver(new MOAEntityResolver());
- builder.setEntityResolver(chain);
-
- //Dokument Parsen
- Document reqDoc = DOMUtils.parseDocument(bis,true,Constants.ALL_SCHEMA_LOCATIONS, null,chain,new MOAErrorHandler());
-
- System.out.println(DOMUtils.serializeNode(reqDoc.getDocumentElement()));
- //Position für die Signatur angeben
- //String xPath_Pos = "/node()";
- String xPath_Pos = "//data:Document";
- //XPAth-Prefixe deklarieren
- //String xPath_Prefix = "data xmlns:data=\"http://uri.data.org\"";
- String xPath_Prefix = "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,"signature-1-1");
- cpkcs.setCanoncialization(canAlgCanXML);
- //cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testSimple.txt","reference-1-1");
- Transform[] tr = new Transform[1];
- TransformImplEnvelopedSignature trans = new TransformImplEnvelopedSignature();
- tr[0] = trans;
- //Enveloped Transformation
- cpkcs.createReferenceWithTransforms(new URI("#document"),tr,"reference-1-1");
- cpkcs.setKeyInformation(1);
-
-
- Document doc = cpkcs.returnSig();
-
- String output = makeOutputFile(doc,"<data:Document xmlns:data=\"http://uri.data.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" attr=\"document\" xsi:schemaLocation=\"http://uri.data.org http://tollesSchema.org/test.xsd\">",readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+"</data:Document>");
-
- writeFile(resFile, output);
-
- }
-
- public void create006() throws Exception {
-
- String TestNumber = "006";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert create -->",
- "<CreateSignatureEnvironment>"+
- "<XMLContent xml:space=\"preserve\">"+
- "<data:Document xmlns:data=\"http://uri.data.org\">Dies sind Testdaten</data:Document>"+
- "</XMLContent>"+
- "</CreateSignatureEnvironment>");
-
- req = replaceString(req,
- "<CreateSignatureEnvironmentProfile>"+
- "<CreateSignatureLocation Index=\"0\">//data:Document</CreateSignatureLocation>"+
- "<!-- insert supp -->"+
- "</CreateSignatureEnvironmentProfile>",
- "<CreateSignatureEnvironmentProfileID>CreateSignatureEnvironmentProfile1</CreateSignatureEnvironmentProfileID>");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
-
- InputStream bis = new ByteArrayInputStream(("<data:Document xmlns:data=\"http://uri.data.org\">"+readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+"</data:Document>").getBytes());
- //Document-Builder holen
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- factory.setNamespaceAware(true);
- DocumentBuilder builder = factory.newDocumentBuilder();
- //Dokument Parsen
-
-
- Document reqDoc = builder.parse(bis);
-
- System.out.println(DOMUtils.serializeNode(reqDoc.getDocumentElement()));
- //Position für die Signatur angeben
- String xPath_Pos = "/node()";
- //XPAth-Prefixe deklarieren
- String xPath_Prefix = "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,"signature-1-1");
- cpkcs.setCanoncialization(canAlgCanXML);
- cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testSimple.txt","reference-1-1");
- cpkcs.setKeyInformation(1);
-
- Document doc = cpkcs.returnSig();
-
- String output = makeOutputFile(doc,"<data:Document xmlns:data=\"http://uri.data.org\">",readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+"</data:Document>");
-
- writeFile(resFile, output);
-
- }
-
- public void create007() throws Exception {
-
- String TestNumber = "007";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert create -->",
- "<CreateSignatureEnvironment>"+
- "<Base64Content>"+
- ""+Base64Utils.encode(("<?xml version=\"1.0\" encoding=\"UTF-8\"?><!DOCTYPE Document SYSTEM \"http://dtd.org/tollesDTD.dtd\"><Document attr=\"document\">Dies sind Testdaten</Document>").getBytes())+""+
- "</Base64Content>"+
- "</CreateSignatureEnvironment>");
-
- req = replaceString(req,
- "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testSimple.txt"+"\">"+
- "<XMLContent xml:space=\"preserve\">Dies sind Testdaten</XMLContent>"+
- "</DataObject>",
- "<DataObject Reference=\"#document\">"+
- "</DataObject>"
- );
-
- req = replaceString(req,"<!-- insert supp -->",
- "<Supplement>"+
- "<Content Reference=\"http://dtd.org/tollesDTD.dtd\">"+
- "<Base64Content>"+
- ""+Base64Utils.encode(("<?xml version=\"1.0\" encoding=\"UTF-8\"?><!ELEMENT Document (#PCDATA | ANY)*><!ATTLIST Document attr ID #REQUIRED>").getBytes())+""+
- "</Base64Content>"+
- "</Content>"+
- "</Supplement>");
-
- req = replaceString(req," xmlns:data=\"http://uri.data.org\"","");
- req = replaceString(req,"//data:Document","//Document");
-
-
- req = replaceString(req,"<FinalDataMetaInfo>",
- "<dsig:Transforms><dsig:Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#enveloped-signature\"/></dsig:Transforms>"+
- "<FinalDataMetaInfo>");
-
- //req = replaceString(req,"Index=\"0\">//data:Document","Index=\"0\">//Hugo");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
-
- InputStream bis = new ByteArrayInputStream(("<!DOCTYPE Document SYSTEM \"http://dtd.org/tollesDTD.dtd\"><Document attr=\"document\">"+readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+"</Document>").getBytes());
- //Document-Builder holen
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- factory.setNamespaceAware(true);
- factory.setValidating(true);
- DocumentBuilder builder = factory.newDocumentBuilder();
- //Dokument Parsen
- Map m = new HashMap();
- m.put("http://dtd.org/tollesDTD.dtd",new ByteArrayInputStream((
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?><!ELEMENT Document (#PCDATA | ANY)*><!ATTLIST Document attr ID #REQUIRED>").getBytes()));
-
- EntityResolverChain chain = new EntityResolverChain();
- chain.addEntityResolver(new StreamEntityResolver(m));
- chain.addEntityResolver(new MOAEntityResolver());
- builder.setEntityResolver(chain);
-
- Document reqDoc = DOMUtils.parseDocument(bis,true,Constants.ALL_SCHEMA_LOCATIONS, null,chain,new MOAErrorHandler());
-
- System.out.println(DOMUtils.serializeNode(reqDoc.getDocumentElement()));
- //Position für die Signatur angeben
- String xPath_Pos = "/Document";
- //XPAth-Prefixe deklarieren
- String xPath_Prefix = "";
- 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,"signature-1-1");
- cpkcs.setCanoncialization(canAlgCanXML);
- //cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testSimple.txt","reference-1-1");
- Transform[] tr = new Transform[1];
- TransformImplEnvelopedSignature trans = new TransformImplEnvelopedSignature();
- tr[0] = trans;
- //Enveloped Transformation
- cpkcs.createReferenceWithTransforms(new URI("#document"),tr,"reference-1-1");
- cpkcs.setKeyInformation(1);
-
- Document doc = cpkcs.returnSig();
-
- String output = makeOutputFile(doc,"<Document attr=\"document\" xmlns=\"\">",readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+"</Document>");
-
- writeFile(resFile, output);
-
- }
-
- public void create008() throws Exception {
-
- String TestNumber = "008";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert create -->",
- "<CreateSignatureEnvironment>"+
- "<XMLContent xml:space=\"preserve\">"+
- "<data:Document xmlns:data=\"http://uri.data.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" attr=\"document\" xsi:schemaLocation=\"http://uri.data.org http://tollesSchema.org/test.xsd\">Dies sind Testdaten</data:Document>"+
- "</XMLContent>"+
- "</CreateSignatureEnvironment>");
-
- req = replaceString(req,"<!-- insert supp -->",
- "<Supplement>"+
- "<Content Reference=\"http://tollesSchema.org/test.xsd\">"+
- "<Base64Content>"+
-
- Base64Utils.encode(("<xsd:schema targetNamespace=\"http://uri.data.org\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://uri.data.org\" elementFormDefault=\"qualified\" attributeFormDefault=\"unqualified\" id=\"tollesSchema\">"+
- "<xsd:element name=\"Document\">"+
- "<xsd:complexType mixed=\"true\">"+
- "<xsd:sequence maxOccurs=\"unbounded\" minOccurs=\"0\">"+
- "<xsd:any namespace=\"##any\" processContents=\"lax\"/>"+
- "</xsd:sequence>"+
- "<xsd:attribute name=\"attr\" type=\"xsd:ID\" use=\"required\"/>"+
- "</xsd:complexType>"+
- "</xsd:element>"+
- "</xsd:schema>").getBytes())+
-
- "</Base64Content>"+
- "</Content>"+
- "</Supplement>");
-
- req = replaceString(req,"<FinalDataMetaInfo>",
- "<dsig:Transforms><dsig:Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#enveloped-signature\"/></dsig:Transforms>"+
- "<FinalDataMetaInfo>");
-
-
- //req = replaceString(req,"Index=\"0\">//data:Document","Index=\"0\">//data:Document");
- System.out.println("!!!");
- System.out.println(req);
-
- req = replaceString(req,
- "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testSimple.txt"+"\">"+
- "<XMLContent xml:space=\"preserve\">Dies sind Testdaten</XMLContent>"+
- "</DataObject>",
- "<DataObject Reference=\"#document\">"+
- "</DataObject>"
- );
-
- System.out.println(req);
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
-
- InputStream bis = new ByteArrayInputStream(("<data:Document xmlns:data=\"http://uri.data.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" attr=\"document\" xsi:schemaLocation=\"http://uri.data.org http://tollesSchema.org/test.xsd\">Dies sind Testdaten</data:Document>").getBytes());
- //Document-Builder holen
- //Document-Builder holen
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- factory.setNamespaceAware(true);
- factory.setValidating(true);
- DocumentBuilder builder = factory.newDocumentBuilder();
-
- Map m = new HashMap();
- m.put("http://tollesSchema.org/test.xsd",new ByteArrayInputStream((
- "<xsd:schema targetNamespace=\"http://uri.data.org\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://uri.data.org\" elementFormDefault=\"qualified\" attributeFormDefault=\"unqualified\" id=\"tollesSchema\">"+
- "<xsd:element name=\"Document\">"+
- "<xsd:complexType mixed=\"true\">"+
- "<xsd:sequence maxOccurs=\"unbounded\" minOccurs=\"0\">"+
- "<xsd:any namespace=\"##any\" processContents=\"lax\"/>"+
- "</xsd:sequence>"+
- "<xsd:attribute name=\"attr\" type=\"xsd:ID\" use=\"required\"/>"+
- "</xsd:complexType>"+
- "</xsd:element>"+
- "</xsd:schema>").getBytes()));
-
- EntityResolverChain chain = new EntityResolverChain();
- chain.addEntityResolver(new StreamEntityResolver(m));
- chain.addEntityResolver(new MOAEntityResolver());
- builder.setEntityResolver(chain);
-
- //Dokument Parsen
- Document reqDoc = DOMUtils.parseDocument(bis,true,Constants.ALL_SCHEMA_LOCATIONS, null,chain,new MOAErrorHandler());
-
- System.out.println(DOMUtils.serializeNode(reqDoc.getDocumentElement()));
- //Position für die Signatur angeben
- String xPath_Pos = "//data:Document";
- //XPAth-Prefixe deklarieren
- //String xPath_Prefix = "data xmlns:data=\"http://uri.data.org\"";
- String xPath_Prefix = "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,"signature-1-1");
- cpkcs.setCanoncialization(canAlgCanXML);
- //cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testSimple.txt","reference-1-1");
- Transform[] tr = new Transform[1];
- TransformImplEnvelopedSignature trans = new TransformImplEnvelopedSignature();
- tr[0] = trans;
- //Enveloped Transformation
- cpkcs.createReferenceWithTransforms(new URI("#document"),tr,"reference-1-1");
- cpkcs.setKeyInformation(1);
-
-
- Document doc = cpkcs.returnSig();
-
- String output = makeOutputFile(doc,"<data:Document attr=\"document\" xmlns:data=\"http://uri.data.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://uri.data.org http://tollesSchema.org/test.xsd\">",readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+"</data:Document>");
-
- writeFile(resFile, output);
-
- }
-
- public void create009() throws Exception {
-
- String TestNumber = "009";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert create -->",
- "<CreateSignatureEnvironment>"+
- "<XMLContent xml:space=\"preserve\">"+
- "<data:Document xmlns:data=\"http://uri.data.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" attr=\"document\" xsi:schemaLocation=\"http://uri.data.org http://tollesSchema.org/test.xsd\">Dies sind Testdaten</data:Document>"+
- "</XMLContent>"+
- "</CreateSignatureEnvironment>");
-
- req = replaceString(req,"<!-- insert supp -->",
- "<Supplement>"+
- "<Content Reference=\"http://tollesSchema.org/test.xsd\">"+
- "<XMLContent xml:space=\"preserve\">"+
- "<xsd:schema targetNamespace=\"http://uri.data.org\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://uri.data.org\" elementFormDefault=\"qualified\" attributeFormDefault=\"unqualified\" id=\"tollesSchema\">"+
- "<xsd:element name=\"Document\">"+
- "<xsd:complexType mixed=\"true\">"+
- "<xsd:sequence maxOccurs=\"unbounded\" minOccurs=\"0\">"+
- "<xsd:any namespace=\"##any\" processContents=\"lax\"/>"+
- "</xsd:sequence>"+
- "<xsd:attribute name=\"attr\" type=\"xsd:ID\" use=\"required\"/>"+
- "</xsd:complexType>"+
- "</xsd:element>"+
- "</xsd:schema>"+
- "</XMLContent>"+
- "</Content>"+
- "</Supplement>");
-
- req = replaceString(req,"<FinalDataMetaInfo>",
- "<dsig:Transforms><dsig:Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#enveloped-signature\"/></dsig:Transforms>"+
- "<FinalDataMetaInfo>");
-
-
-
- //req = replaceString(req,"Index=\"0\">//data:Document","Index=\"0\">//data:Document");
- System.out.println("!!!");
- System.out.println(req);
-
- req = replaceString(req,
- "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testSimple.txt"+"\">"+
- "<XMLContent xml:space=\"preserve\">Dies sind Testdaten</XMLContent>"+
- "</DataObject>",
- "<DataObject Reference=\"#xpointer(id(document))\">"+
- "</DataObject>"
- );
-
- System.out.println(req);
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
-
- //InputStream bis = new ByteArrayInputStream(("<data:Document attr=\"document\" xmlns:data=\"http://uri.data.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://uri.data.org http://tollesSchema.org\">Dies sind Testdaten</data:Document>").getBytes());
- InputStream bis = new ByteArrayInputStream(("<data:Document xmlns:data=\"http://uri.data.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" attr=\"document\" xsi:schemaLocation=\"http://uri.data.org http://tollesSchema.org/test.xsd\">Dies sind Testdaten</data:Document>").getBytes());
- //Document-Builder holen
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- factory.setNamespaceAware(true);
- factory.setValidating(true);
- DocumentBuilder builder = factory.newDocumentBuilder();
-
- Map m = new HashMap();
- m.put("http://tollesSchema.org/test.xsd",new ByteArrayInputStream((
- "<xsd:schema targetNamespace=\"http://uri.data.org\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://uri.data.org\" elementFormDefault=\"qualified\" attributeFormDefault=\"unqualified\" id=\"tollesSchema\">"+
- "<xsd:element name=\"Document\">"+
- "<xsd:complexType mixed=\"true\">"+
- "<xsd:sequence maxOccurs=\"unbounded\" minOccurs=\"0\">"+
- "<xsd:any namespace=\"##any\" processContents=\"lax\"/>"+
- "</xsd:sequence>"+
- "<xsd:attribute name=\"attr\" type=\"xsd:ID\" use=\"required\"/>"+
- "</xsd:complexType>"+
- "</xsd:element></xsd:schema>").getBytes()));
-
- EntityResolverChain chain = new EntityResolverChain();
- chain.addEntityResolver(new StreamEntityResolver(m));
- chain.addEntityResolver(new MOAEntityResolver());
- builder.setEntityResolver(chain);
-
- //Dokument Parsen
- Document reqDoc = DOMUtils.parseDocument(bis,true,Constants.ALL_SCHEMA_LOCATIONS, null,chain,new MOAErrorHandler());
-
- System.out.println(DOMUtils.serializeNode(reqDoc.getDocumentElement()));
- //Position für die Signatur angeben
- //String xPath_Pos = "/node()";
- String xPath_Pos = "//data:Document";
- //XPAth-Prefixe deklarieren
- //String xPath_Prefix = "data xmlns:data=\"http://uri.data.org\"";
- String xPath_Prefix = "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,"signature-1-1");
- cpkcs.setCanoncialization(canAlgCanXML);
- //cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testSimple.txt","reference-1-1");
- Transform[] tr = new Transform[1];
- TransformImplEnvelopedSignature trans = new TransformImplEnvelopedSignature();
- tr[0] = trans;
- //Enveloped Transformation
- cpkcs.createReferenceWithTransforms(new URI("#xpointer(id(document))"),tr,"reference-1-1");
- cpkcs.setKeyInformation(1);
-
-
- Document doc = cpkcs.returnSig();
-
- String output = makeOutputFile(doc,"<data:Document xmlns:data=\"http://uri.data.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" attr=\"document\" xsi:schemaLocation=\"http://uri.data.org http://tollesSchema.org/test.xsd\">",readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+"</data:Document>");
-
- writeFile(resFile, output);
-
- }
-
- public void create051() throws Exception {
-
- String TestNumber = "051";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<CreateSignatureInfo xmlns:data=\"http://uri.data.org\">","<CreateSignatureInfo>");
-
- req = replaceString(req,"<!-- insert create -->",
- "<CreateSignatureEnvironment>"+
- "<XMLContent xml:space=\"preserve\">"+
- "<data:Document xmlns:data=\"http://uri.data.org\">daten</data:Document><Text>toller Text</Text>"+
- "</XMLContent>"+
- "</CreateSignatureEnvironment>");
-
- req = replaceString(req,"<CreateSignatureLocation Index=\"0\">","<CreateSignatureLocation Index=\"0\" xmlns:data=\"http://uri.data.org\">");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
-
- writeFile(resFile,"1109");
-
- }
-
- public void create052() throws Exception {
-
- String TestNumber = "052";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert create -->",
- "<CreateSignatureEnvironment>"+
- "<Base64Content>PFRhZzE+PC9UYWcxPjxUYWcyPjwvVGFnMj4NCg0K</Base64Content><!-- Inhalt: <Tag1></Tag1><Tag2></Tag2> -->"+
- "</CreateSignatureEnvironment>");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
-
- writeFile(resFile,"2218");
-
- }
-
- public void create053() throws Exception {
-
- String TestNumber = "053";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert create -->",
- "<CreateSignatureEnvironment/>");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
-
- writeFile(resFile,"1110");
-
- }
-
- public void create054() throws Exception {
-
- String TestNumber = "054";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert create -->",
- "<CreateSignatureEnvironment>"+
- "<XMLContent xml:space=\"preserve\"><data:Document xmlns:data=\"http://uri.data.org\">Dies sind Testdaten</data:Document></XMLContent>"+
- "</CreateSignatureEnvironment>");
-
- req = replaceString(req,
- "<CreateTransformsInfo>"+
- "<FinalDataMetaInfo>"+
- "<MimeType>text/plain</MimeType>"+
- "</FinalDataMetaInfo>"+
- "</CreateTransformsInfo>",
- "<CreateTransformsInfo>"+
- "<dsig:Transforms>"+
- "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xpath-19991116\">"+
- "<dsig:XPath>/data:book/data:first-name/node()</dsig:XPath>"+
- "</dsig:Transform>"+
- "</dsig:Transforms>"+
- "<FinalDataMetaInfo>"+
- "<MimeType>text/xml</MimeType>"+
- "</FinalDataMetaInfo>"+
- "</CreateTransformsInfo>");
-
- req = replaceString(req,
- "<CreateSignatureLocation Index=\"0\">//data:Document</CreateSignatureLocation>",
- "<CreateSignatureLocation Index=\"0\">//data:Document1</CreateSignatureLocation>");
-
- req = replaceString(req,
- "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testSimple.txt"+"\">"+
- "<XMLContent xml:space=\"preserve\">"+readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+"</XMLContent>"+
- "</DataObject>",
- "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/BookData.xml"+"\"/>");
-
- //req = replaceString(req,"/data:Document","/data:nonExistingElement");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
-
- writeFile(resFile,"2212");
-
- }
-
- public void create056() throws Exception {
-
- String TestNumber = "056";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert create -->",
- "<CreateSignatureEnvironment>"+
- "<XMLContent xml:space=\"preserve\">"+
- "<data:Document>andereDaten als in "+configuration_.getProperty("webbaseDir")+"resources/CSEP.xml</data:Document>"+
- "</XMLContent>"+
- "</CreateSignatureEnvironment>");
-
- req = replaceString(req,
- "<CreateSignatureEnvironmentProfile>"+
- "<CreateSignatureLocation Index=\"0\">//data:Document</CreateSignatureLocation>"+
- "<!-- insert supp -->"+
- "</CreateSignatureEnvironmentProfile>",
- "<CreateSignatureEnvironmentProfileID>wrongCreateSignatureEnvironmentProfile</CreateSignatureEnvironmentProfileID>");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
-
- writeFile(resFile,"2236");
-
- }
-
- public void create057() throws Exception {
-
- String TestNumber = "057";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert create -->",
- "<CreateSignatureEnvironment>"+
- "<XMLContent xml:space=\"preserve\"><data:Document xmlns:data=\"http://uri.data.org\">Dies sind Testdaten</data:Document></XMLContent>"+
- "</CreateSignatureEnvironment>");
-
- req = replaceString(req,
- "<CreateTransformsInfo>"+
- "<FinalDataMetaInfo>"+
- "<MimeType>text/plain</MimeType>"+
- "</FinalDataMetaInfo>"+
- "</CreateTransformsInfo>",
- "<CreateTransformsInfo>"+
- "<dsig:Transforms>"+
- "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xpath-19991116\">"+
- "<dsig:XPath>/data:book/data:first-name/node()</dsig:XPath>"+
- "</dsig:Transform>"+
- "</dsig:Transforms>"+
- "<FinalDataMetaInfo>"+
- "<MimeType>text/xml</MimeType>"+
- "</FinalDataMetaInfo>"+
- "</CreateTransformsInfo>");
-
- req = replaceString(req,
- "<CreateSignatureLocation Index=\"0\">//data:Document</CreateSignatureLocation>",
- "<CreateSignatureLocation Index=\"0\">]]'_'[[//data:Document</CreateSignatureLocation>");
-
- req = replaceString(req,
- "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testSimple.txt"+"\">"+
- "<XMLContent xml:space=\"preserve\">"+readFile(configuration_.getProperty("baseDir")+"resources/testSimple.txt")+"</XMLContent>"+
- "</DataObject>",
- "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/BookData.xml"+"\"/>");
-
- //req = replaceString(req,"/data:Document","/data:nonExistingElement");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
-
- writeFile(resFile,"2212");
-
- }
-
- public void create055() throws Exception {
-
- String TestNumber = "055";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert create -->",
- "<CreateSignatureEnvironment Reference=\""+configuration_.getProperty("webbaseDir")+"resources/CSEP.xml\">"+
- "<XMLContent xml:space=\"preserve\">"+
- "<data:Document>andereDaten als in "+configuration_.getProperty("webbaseDir")+"resources/CSEP.xml</data:Document>"+
- "</XMLContent>"+
- "</CreateSignatureEnvironment>");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
-
- writeFile(resFile,"1110");
-
- }
-
-
- public void writeFile(String filename,String data) throws Exception
- {
- BufferedWriter bw = new BufferedWriter(new FileWriter(filename));
- bw.write(data);
- bw.close();
- }
-
- public String makeOutputFile(Document signatureDoc,String prefix,String suffix) throws Exception
- {
- ArrayList foundNodes = new ArrayList();
- findNode(signatureDoc.getDocumentElement(),"dsig:Signature",foundNodes);
-
- Node outputNode = null;
-
- if(foundNodes.size()>0)
- {
- outputNode = (Node)foundNodes.get(0);
- }
-
- String erg = Node2String(outputNode);
-
- // remove the <?xml ?> Prologue
- int pos = erg.indexOf("<dsig");
- erg = erg.substring(pos);
-
- // insert the dsig:signature element in a MOA Response Message
- erg = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"+
- "<CreateXMLSignatureResponse" +
- " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\""+
- " >"+
- //" xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\">"+
- "<SignatureEnvironment>" +prefix+
- erg +suffix+ "</SignatureEnvironment> </CreateXMLSignatureResponse>";
-
- return erg;
- }
-
- public String makeOutputFile(Document signatureDoc) throws Exception
- {
- return this.makeOutputFile(signatureDoc,"","");
- }
-}
diff --git a/spss.test/src/testgenerator/TestGeneratorFeature41.java b/spss.test/src/testgenerator/TestGeneratorFeature41.java
deleted file mode 100644
index 7ecb28449..000000000
--- a/spss.test/src/testgenerator/TestGeneratorFeature41.java
+++ /dev/null
@@ -1,1167 +0,0 @@
-package testgenerator;
-
-import iaik.ixsil.algorithms.CanonicalizationAlgorithmImplCanonicalXML;
-import iaik.ixsil.algorithms.DigestAlgorithmImplSHA1;
-import iaik.ixsil.algorithms.SignatureAlgorithmImplRSA;
-import iaik.ixsil.algorithms.Transform;
-import iaik.ixsil.algorithms.TransformImplBase64Decode;
-import iaik.ixsil.algorithms.TransformImplEnvelopedSignature;
-import iaik.ixsil.algorithms.TransformImplXSLT;
-import iaik.ixsil.core.Position;
-import iaik.ixsil.core.Signer;
-import iaik.ixsil.core.SignerManifest;
-import iaik.ixsil.core.SignerReference;
-import iaik.ixsil.core.SignerSignature;
-import iaik.ixsil.core.SignerSignedInfo;
-import iaik.ixsil.init.IXSILConstants;
-import iaik.ixsil.keyinfo.KeyManagerImpl;
-import iaik.ixsil.keyinfo.x509.KeyProviderImplX509Data;
-import iaik.ixsil.keyinfo.x509.X509Data;
-import iaik.ixsil.util.URI;
-
-import iaik.pkcs.pkcs12.PKCS12;
-import iaik.utils.Base64OutputStream;
-
-import java.io.BufferedWriter;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.FileInputStream;
-import java.io.FileWriter;
-import java.io.InputStream;
-import java.net.URL;
-import java.net.URLConnection;
-import java.security.cert.X509Certificate;
-import java.security.interfaces.RSAPrivateKey;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.DocumentFragment;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-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 Gregor Karlinger
- */
-public class TestGeneratorFeature41 extends TestCases
-{
-
- String datadirectory = "data/feature41/";
-
- public static void main(String[] args) throws Exception
- {
- TestGeneratorFeature41 testcase = new TestGeneratorFeature41();
-
- testcase.create001();
- testcase.create002();
- testcase.create003();
- testcase.create004();
- testcase.create005();
- }
-
- /* ==================================================================================================== */
-
- public TestGeneratorFeature41() throws Exception
- {
-
- super();
-
- // Set config properties
- configuration_.setProperty("TestClass", "TestGeneratorFeature41");
-
- iaik.security.provider.IAIK.addAsJDK14Provider();
- iaik.security.ecc.provider.ECCProvider.addAsProvider();
- }
-
- /* ---------------------------------------------------------------------------------------------------- */
-
- public Document createPKCS12Sig(
- String TestNumber,
- String data,
- boolean env,
- boolean mani,
- String data2,
- boolean env2)
- throws Exception
- {
- String resFile =
- configuration_.getProperty("baseDir")
- + datadirectory
- + configuration_.getProperty("TestClass")
- + "."
- + TestNumber
- + ".Res.xml";
-
- PKCS12 pkcs12 =
- decryptPKCS12(configuration_.getProperty("PKCS12file"), configuration_.getProperty("PKCS12password"));
-
- // Create signature generator
- URI baseURI = new URI(IXSILConstants.DUMMY_ABSURI_);
- Signer signer = new Signer(baseURI);
-
- // Configure signed information
-
- // Get interface for signed information
- SignerSignature signature = signer.getSignature();
- SignerSignedInfo signedInfo = signer.getSignature().getSignerSignedInfo();
-
- // Set canonicalization algorithm
- CanonicalizationAlgorithmImplCanonicalXML c14nAlg = new CanonicalizationAlgorithmImplCanonicalXML();
- signedInfo.setCanonicalizationAlgorithm(c14nAlg);
-
- // Set signature algorithm
- SignatureAlgorithmImplRSA signatureAlg = new SignatureAlgorithmImplRSA();
- RSAPrivateKey privateKey = getPrivateKey(pkcs12);
- signatureAlg.setSignerKey(privateKey);
- signedInfo.setSignatureAlgorithm(signatureAlg);
-
- if (!mani)
- {
- SignerReference reference = signedInfo.createReference();
- if (env)
- {
- iaik.ixsil.core.Object object = null;
- //object = signature.createObject(data);
- if (data.startsWith("<xml"))
- {
- DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
- Document doc = db.parse(new ByteArrayInputStream(data.getBytes()));
-
- object = signature.createObject(doc.getDocumentElement());
- }
- else if (data.startsWith("<Testdaten"))
- {
-
- DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
- Document doc =
- db.parse(
- new ByteArrayInputStream(("<?xml version=\"1.0\" encoding=\"utf-8\"?>" + data).getBytes()));
-
- object = signature.createObject(doc.getDocumentElement());
- }
- else if (data.startsWith("b64:"))
- {
- data = data.substring(4);
- DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
- Document doc = db.newDocument();
- Element root = doc.createElement("root");
- doc.appendChild(root);
- //String encoded = Base64Utils.encode(data.getBytes());
- String encoded = Base64Utils.encode(data.getBytes());
- /*encoded = replaceStringAll(encoded,"\n","");
- encoded = replaceStringAll(encoded,"\r","");*/
- Text textnode = doc.createTextNode(encoded);
-
- System.out.println("Encoded:" + encoded);
- //root.appendChild(textnode);
-
- DocumentFragment df = doc.createDocumentFragment();
-
- df.appendChild(textnode);
-
- object = signature.createObject(df);
-
- TransformImplBase64Decode trans = new TransformImplBase64Decode();
- InputStream s = new ByteArrayInputStream(encoded.getBytes());
- trans.setInput(s, null);
-
- reference.insertTransformAt(trans, 0);
- }
- else
- {
- object = signature.createObject(data);
- }
-
- object.setId("signed-data-1-1-1");
- signature.addObject(object);
-
- DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
- reference.setDigestAlgorithm(digestAlg);
-
- reference.setURI(new URI("#xpointer(id('signed-data-1-1-1')/node())"));
-
- }
- else
- {
- // Create and configure reference
- URI refURI = null;
- String baseDir = configuration_.getProperty("baseDir");
- refURI = new URI(data);
-
- reference.setURI(refURI);
- DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
- reference.setDigestAlgorithm(digestAlg);
- }
- reference.setId("reference-1-1");
- signedInfo.addReference(reference);
- }
-
- if (data2 != null)
- {
- SignerReference reference = signedInfo.createReference();
- reference = signedInfo.createReference();
- if (env2)
- {
- iaik.ixsil.core.Object object = null;
- if (data2.startsWith("<xml"))
- {
- DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
- Document doc = db.parse(new ByteArrayInputStream(data.getBytes()));
-
- object = signature.createObject(doc.getDocumentElement());
- }
- else if (data2.startsWith("<Testdaten"))
- {
-
- DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
- Document doc =
- db.parse(
- new ByteArrayInputStream(("<?xml version=\"1.0\" encoding=\"utf-8\"?>" + data).getBytes()));
-
- object = signature.createObject(doc.getDocumentElement());
- }
- else
- object = signature.createObject(data2);
-
- if (!env)
- object.setId("signed-data-1-2-1");
- else
- object.setId("signed-data-1-2-1");
- signature.addObject(object);
-
- DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
- reference.setDigestAlgorithm(digestAlg);
-
- if (!env)
- reference.setURI(new URI("#xpointer(id('signed-data-1-2-1')/node())"));
- else
- reference.setURI(new URI("#xpointer(id('signed-data-1-2-1')/node())"));
- }
- else
- {
- // Create and configure reference
- URI refURI = null;
- String baseDir = configuration_.getProperty("baseDir");
- refURI = new URI(data2);
-
- reference.setURI(refURI);
- DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
- reference.setDigestAlgorithm(digestAlg);
- }
- reference.setId("reference-1-2");
- signedInfo.addReference(reference);
- }
-
- // Add reference to signature
-
- if (mani)
- {
-
- /*iaik.ixsil.core.Object object = null;
- if(env)
- object = signature.createObject(readFile(data));
- else
- object = signature.createObject(data);
-
- object.setId("envelopedData");
- signature.addObject(object);*/
- SignerReference reference = signedInfo.createReference();
- SignerManifest manifest = signer.createManifest();
- SignerReference manifestRef = manifest.createReference();
-
- DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
- manifestRef.setDigestAlgorithm(digestAlg);
-
- manifestRef.setURI(new URI(data));
- manifestRef.setId("reference-1-1");
-
- manifest.addReference(manifestRef);
- manifest.setId("dsig-manifest-1-1");
- iaik.ixsil.core.Object manifestObject = signature.createObject(manifest);
- signature.addObject(manifestObject);
- manifest.computeDigestValues();
-
- reference = signedInfo.createReference();
- reference.setURI(new URI("#dsig-manifest-1-1"));
- reference.setType(new URI(IXSILConstants.REFERENCETYPE_ATTR_VALUE_MANIFEST_));
- reference.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
-
- // Add reference to signature
- signedInfo.addReference(reference);
-
- /*Element envelopedDataElem =
- signer.toDocument().createElement("EnvelopedDataElement");
-
- if(env)
- {
- envelopedDataElem.appendChild(
- signer.toDocument().createTextNode(readFile(data)));
- }
- else
- {
- envelopedDataElem.appendChild(
- signer.toDocument().createTextNode(data));
- }
-
- iaik.ixsil.core.Object object = signature.createObject(envelopedDataElem);
- signature.addObject(object);
-
- // Create Manifest with a single reference pointing to the enveloped data
- SignerManifest manifest = signer.createManifest();
- SignerReference manifestRef = manifest.createReference();
- manifestRef.setURI(
- new URI(
- null,
- null,
- null,
- null,
- "xmlns(dsig="
- + IXSILConstants.NAMESPACE_URI_XMLSIGNATURE_ELEM_
- + ") "
- + "xpointer(here()/ancestor::dsig:Signature[1]/dsig:Object[1]/descendant::node())"));
- manifestRef.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
- manifest.addReference(manifestRef);
-
- // Add Manifest to signature structure (use an Object) and compute digest values for manifest reference
- iaik.ixsil.core.Object manifestObject = signature.createObject(manifest);
- signature.addObject(manifestObject);
- manifest.computeDigestValues();
-
- // Create and configure reference to manifest
- reference = signedInfo.createReference();
- reference.setURI(
- new URI(
- null,
- null,
- null,
- null,
- "xmlns(dsig="
- + IXSILConstants.NAMESPACE_URI_XMLSIGNATURE_ELEM_
- + ") "
- + "xpointer(here()/ancestor::dsig:Signature[1]/dsig:Object[2]/dsig:Manifest)"));
- reference.setType(new URI(IXSILConstants.REFERENCETYPE_ATTR_VALUE_MANIFEST_));
- reference.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
-
- // Add reference to signature
- signedInfo.addReference(reference);*/
- }
-
- // Create key information
- KeyManagerImpl keyManager = new KeyManagerImpl(signer.toDocument());
-
- X509Certificate[] certs = getCertificates(pkcs12);
- X509Data x509Data = new X509Data();
- x509Data.insertHintAt(certs[1], 0);
- /*for (int i = 0; i < certs.length; i++)
- {
-
- }*/
-
- KeyProviderImplX509Data x509DataKeyProvider = new KeyProviderImplX509Data(signer.toDocument());
- x509DataKeyProvider.insertX509DataAt(x509Data, 0);
-
- // X509Data key information (certificate chain)
- keyManager.addKeyProvider(x509DataKeyProvider);
-
- signer.getSignature().setKeyManager(keyManager);
- signer.getSignature().setId("signature-1-1");
- // Compute signature value
- signer.getSignature().sign();
-
- return signer.toDocument();
- }
-
- public Document createPKCS12Sig(
- String TestNumber,
- String data,
- boolean env,
- boolean mani,
- String data2,
- boolean env2,
- String id1,
- String id2)
- throws Exception
- {
- String resFile =
- configuration_.getProperty("baseDir")
- + datadirectory
- + configuration_.getProperty("TestClass")
- + "."
- + TestNumber
- + ".Res.xml";
-
- PKCS12 pkcs12 =
- decryptPKCS12(configuration_.getProperty("PKCS12file"), configuration_.getProperty("PKCS12password"));
-
- // Create signature generator
- URI baseURI = new URI(IXSILConstants.DUMMY_ABSURI_);
- Signer signer = new Signer(baseURI);
-
- // Configure signed information
-
- // Get interface for signed information
- SignerSignature signature = signer.getSignature();
- SignerSignedInfo signedInfo = signer.getSignature().getSignerSignedInfo();
-
- // Set canonicalization algorithm
- CanonicalizationAlgorithmImplCanonicalXML c14nAlg = new CanonicalizationAlgorithmImplCanonicalXML();
- signedInfo.setCanonicalizationAlgorithm(c14nAlg);
-
- // Set signature algorithm
- SignatureAlgorithmImplRSA signatureAlg = new SignatureAlgorithmImplRSA();
- RSAPrivateKey privateKey = getPrivateKey(pkcs12);
- signatureAlg.setSignerKey(privateKey);
- signedInfo.setSignatureAlgorithm(signatureAlg);
-
- if (!mani)
- {
- SignerReference reference = signedInfo.createReference();
- if (env)
- {
- iaik.ixsil.core.Object object = null;
- //object = signature.createObject(data);
- if (data.startsWith("<xml"))
- {
- DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
- Document doc = db.parse(new ByteArrayInputStream(data.getBytes()));
-
- object = signature.createObject(doc.getDocumentElement());
- }
- else if (data.startsWith("<Testdaten"))
- {
-
- DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
- Document doc =
- db.parse(
- new ByteArrayInputStream(("<?xml version=\"1.0\" encoding=\"utf-8\"?>" + data).getBytes()));
-
- object = signature.createObject(doc.getDocumentElement());
- }
- else if (data.startsWith("b64:"))
- {
- data = data.substring(4);
- DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
- Document doc = db.newDocument();
- Element root = doc.createElement("root");
- doc.appendChild(root);
- //String encoded = Base64Utils.encode(data.getBytes());
- String encoded = Base64Utils.encode(data.getBytes());
- /*encoded = replaceStringAll(encoded,"\n","");
- encoded = replaceStringAll(encoded,"\r","");*/
- Text textnode = doc.createTextNode(encoded);
-
- System.out.println("Encoded:" + encoded);
- //root.appendChild(textnode);
-
- DocumentFragment df = doc.createDocumentFragment();
-
- df.appendChild(textnode);
-
- object = signature.createObject(df);
-
- TransformImplBase64Decode trans = new TransformImplBase64Decode();
- InputStream s = new ByteArrayInputStream(encoded.getBytes());
- trans.setInput(s, null);
-
- reference.insertTransformAt(trans, 0);
- }
- else
- {
- object = signature.createObject(data);
- }
-
- object.setId("signed-data-1-1-1");
- signature.addObject(object);
-
- DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
- reference.setDigestAlgorithm(digestAlg);
-
- reference.setURI(new URI("#xpointer(id('signed-data-1-1-1')/node())"));
-
- }
- else
- {
- // Create and configure reference
- URI refURI = null;
- String baseDir = configuration_.getProperty("baseDir");
- refURI = new URI(data);
-
- reference.setURI(refURI);
- DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
- reference.setDigestAlgorithm(digestAlg);
- }
- reference.setId("reference-2-1");
- signedInfo.addReference(reference);
- }
-
- if (data2 != null)
- {
- SignerReference reference = signedInfo.createReference();
- reference = signedInfo.createReference();
- if (env2)
- {
- iaik.ixsil.core.Object object = null;
- if (data2.startsWith("<xml"))
- {
- DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
- Document doc = db.parse(new ByteArrayInputStream(data.getBytes()));
-
- object = signature.createObject(doc.getDocumentElement());
- }
- else if (data2.startsWith("<Testdaten"))
- {
-
- DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
- Document doc =
- db.parse(
- new ByteArrayInputStream(("<?xml version=\"1.0\" encoding=\"utf-8\"?>" + data).getBytes()));
-
- object = signature.createObject(doc.getDocumentElement());
- }
- else
- object = signature.createObject(data2);
-
- if (!env)
- object.setId("signed-data-1-2-1");
- else
- object.setId("signed-data-1-2-1");
- signature.addObject(object);
-
- DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
- reference.setDigestAlgorithm(digestAlg);
-
- if (!env)
- reference.setURI(new URI("#xpointer(id('signed-data-1-2-1')/node())"));
- else
- reference.setURI(new URI("#xpointer(id('signed-data-1-2-1')/node())"));
- }
- else
- {
- // Create and configure reference
- URI refURI = null;
- String baseDir = configuration_.getProperty("baseDir");
- refURI = new URI(data2);
-
- reference.setURI(refURI);
- DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
- reference.setDigestAlgorithm(digestAlg);
- }
- reference.setId("reference-1-2");
- signedInfo.addReference(reference);
- }
-
- // Add reference to signature
-
- if (mani)
- {
-
- /*iaik.ixsil.core.Object object = null;
- if(env)
- object = signature.createObject(readFile(data));
- else
- object = signature.createObject(data);
-
- object.setId("envelopedData");
- signature.addObject(object);*/
- SignerReference reference = signedInfo.createReference();
- SignerManifest manifest = signer.createManifest();
- SignerReference manifestRef = manifest.createReference();
-
- DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
- manifestRef.setDigestAlgorithm(digestAlg);
-
- manifestRef.setURI(new URI(data));
- manifestRef.setId("reference-1-1");
-
- manifest.addReference(manifestRef);
- manifest.setId("dsig-manifest-1-1");
- iaik.ixsil.core.Object manifestObject = signature.createObject(manifest);
- signature.addObject(manifestObject);
- manifest.computeDigestValues();
-
- reference = signedInfo.createReference();
- reference.setURI(new URI("#dsig-manifest-1-1"));
- reference.setType(new URI(IXSILConstants.REFERENCETYPE_ATTR_VALUE_MANIFEST_));
- reference.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
-
- // Add reference to signature
- signedInfo.addReference(reference);
-
- /*Element envelopedDataElem =
- signer.toDocument().createElement("EnvelopedDataElement");
-
- if(env)
- {
- envelopedDataElem.appendChild(
- signer.toDocument().createTextNode(readFile(data)));
- }
- else
- {
- envelopedDataElem.appendChild(
- signer.toDocument().createTextNode(data));
- }
-
- iaik.ixsil.core.Object object = signature.createObject(envelopedDataElem);
- signature.addObject(object);
-
- // Create Manifest with a single reference pointing to the enveloped data
- SignerManifest manifest = signer.createManifest();
- SignerReference manifestRef = manifest.createReference();
- manifestRef.setURI(
- new URI(
- null,
- null,
- null,
- null,
- "xmlns(dsig="
- + IXSILConstants.NAMESPACE_URI_XMLSIGNATURE_ELEM_
- + ") "
- + "xpointer(here()/ancestor::dsig:Signature[1]/dsig:Object[1]/descendant::node())"));
- manifestRef.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
- manifest.addReference(manifestRef);
-
- // Add Manifest to signature structure (use an Object) and compute digest values for manifest reference
- iaik.ixsil.core.Object manifestObject = signature.createObject(manifest);
- signature.addObject(manifestObject);
- manifest.computeDigestValues();
-
- // Create and configure reference to manifest
- reference = signedInfo.createReference();
- reference.setURI(
- new URI(
- null,
- null,
- null,
- null,
- "xmlns(dsig="
- + IXSILConstants.NAMESPACE_URI_XMLSIGNATURE_ELEM_
- + ") "
- + "xpointer(here()/ancestor::dsig:Signature[1]/dsig:Object[2]/dsig:Manifest)"));
- reference.setType(new URI(IXSILConstants.REFERENCETYPE_ATTR_VALUE_MANIFEST_));
- reference.setDigestAlgorithm(new DigestAlgorithmImplSHA1());
-
- // Add reference to signature
- signedInfo.addReference(reference);*/
- }
-
- // Create key information
- KeyManagerImpl keyManager = new KeyManagerImpl(signer.toDocument());
-
- X509Certificate[] certs = getCertificates(pkcs12);
- X509Data x509Data = new X509Data();
- x509Data.insertHintAt(certs[1], 0);
- /*for (int i = 0; i < certs.length; i++)
- {
-
- }*/
-
- KeyProviderImplX509Data x509DataKeyProvider = new KeyProviderImplX509Data(signer.toDocument());
- x509DataKeyProvider.insertX509DataAt(x509Data, 0);
-
- // X509Data key information (certificate chain)
- keyManager.addKeyProvider(x509DataKeyProvider);
-
- signer.getSignature().setKeyManager(keyManager);
- signer.getSignature().setId("signature-2-1");
- // Compute signature value
- signer.getSignature().sign();
-
- return signer.toDocument();
- }
-
- /* ---------------------------------------------------------------------------------------------------- */
-
- public Element getElement(String data) throws Exception
- {
- String etsinamespace = "http://uri.etsi.org/01903/v1.1.1#";
-
- getX509Content();
-
- DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
- //dbf.setNamespaceAware(true);
- //dbf.setValidating(true);
-
- Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
-
- Element qualprop = doc.createElementNS(etsinamespace, "etsi:QualifyingProperties");
- qualprop.setAttributeNS(null, "Target", "#signature-1-1");
- qualprop.setAttributeNS(IXSILConstants.NAMESPACE_URI_NAMESPACES_, "xmlns:etsi", etsinamespace);
- //qualprop.setPrefix("etsi");*/
- //qualprop.setAttributeNodeNS(doc.createAttributeNS(etsinamespace,"etsi"));
- Element signprop = doc.createElementNS(etsinamespace, "etsi:SignedProperties");
- Element signsigprop = doc.createElementNS(etsinamespace, "etsi:SignedSignatureProperties");
- Element signdataobjectprop = doc.createElementNS(etsinamespace, "etsi:SignedDataObjectProperties");
- Element signdate = doc.createElementNS(etsinamespace, "etsi:SigningTime");
- Text datevalue = doc.createTextNode("2003-05-10T00:01:01");
- Element signcert = doc.createElementNS(etsinamespace, "etsi:SigningCertificate");
- Element cert = doc.createElementNS(etsinamespace, "etsi:Cert");
- Element signpolyident = doc.createElementNS(etsinamespace, "etsi:SignaturePolicyIdentifier");
- Element signpolyimp = doc.createElementNS(etsinamespace, "etsi:SignaturePolicyImplied");
- Element certdig = doc.createElementNS(etsinamespace, "etsi:CertDigest");
- Element digmeth = doc.createElementNS(etsinamespace, "etsi:DigestMethod");
- digmeth.setAttribute("Algorithm", "http://www.w3.org/2000/09/xmldsig#sha1");
- Element digvalue = doc.createElementNS(etsinamespace, "etsi:DigestValue");
-
- ByteArrayOutputStream fos = new ByteArrayOutputStream();
- Base64OutputStream base64os = new Base64OutputStream(fos);
- base64os.write(this.X509hash.getBytes());
- base64os.flush();
-
- Text dig_value = doc.createTextNode(fos.toString());
- Element is = doc.createElementNS(etsinamespace, "etsi:IssuerSerial");
- Element i = doc.createElement("dsig:X509IssuerName");
- Text i_value = doc.createTextNode(this.X509name);
- Element s = doc.createElement("dsig:X509SerialNumber");
- Text s_value = doc.createTextNode(this.X509number.toString());
- Element dataobjformat = doc.createElementNS(etsinamespace, "etsi:DataObjectFormat");
- dataobjformat.setAttribute("ObjectReference", "#reference-1-1");
- Element mimetype = doc.createElementNS(etsinamespace, "etsi:MimeType");
- //mimetype.setNodeValue("text/plain");
- Text mimevalue = doc.createTextNode("text/plain");
-
- qualprop.appendChild(signprop);
- signprop.appendChild(signsigprop);
- signsigprop.appendChild(signdate);
- signdate.appendChild(datevalue);
- signsigprop.appendChild(signcert);
- signcert.appendChild(cert);
- cert.appendChild(certdig);
- certdig.appendChild(digmeth);
- certdig.appendChild(digvalue);
- digvalue.appendChild(dig_value);
- cert.appendChild(is);
- is.appendChild(i);
- i.appendChild(i_value);
- is.appendChild(s);
- s.appendChild(s_value);
- signsigprop.appendChild(signpolyident);
- signpolyident.appendChild(signpolyimp);
- signprop.appendChild(signdataobjectprop);
- signdataobjectprop.appendChild(dataobjformat);
- dataobjformat.appendChild(mimetype);
- mimetype.appendChild(mimevalue);
-
- return qualprop;
- }
-
- /* ---------------------------------------------------------------------------------------------------- */
-
- public void create001() throws Exception
- {
-
- String testNumber = "001";
-
- String resFile =
- configuration_.getProperty("baseDir")
- + datadirectory
- + configuration_.getProperty("TestClass")
- + "."
- + testNumber
- + ".Res.xml";
-
- PKCS12 pkcs12 =
- decryptPKCS12(configuration_.getProperty("PKCS12file"), configuration_.getProperty("PKCS12password"));
-
- // Create signature generator
- URI baseURI = new URI(IXSILConstants.DUMMY_ABSURI_);
- Signer signer = new Signer(baseURI);
-
- // Configure signed information
-
- // Get interface for signed information
- SignerSignature signature = signer.getSignature();
- SignerSignedInfo signedInfo = signer.getSignature().getSignerSignedInfo();
-
- // Set canonicalization algorithm
- CanonicalizationAlgorithmImplCanonicalXML c14nAlg = new CanonicalizationAlgorithmImplCanonicalXML();
- signedInfo.setCanonicalizationAlgorithm(c14nAlg);
-
- // Set signature algorithm
- SignatureAlgorithmImplRSA signatureAlg = new SignatureAlgorithmImplRSA();
- RSAPrivateKey privateKey = getPrivateKey(pkcs12);
- signatureAlg.setSignerKey(privateKey);
- signedInfo.setSignatureAlgorithm(signatureAlg);
-
- // Create and configure reference
- String baseDir = configuration_.getProperty("baseDir");
- InputStream dataIS = new FileInputStream(baseDir + "resources/documents/testDaten.txt");
-
- SignerReference reference = signedInfo.createReference();
- reference.setURI(new URI("testDaten.txt"));
- reference.setExplicitData(dataIS, SignerReference.EXPLICITDATATYPE_RAW_);
- DigestAlgorithmImplSHA1 digestAlg = new DigestAlgorithmImplSHA1();
- reference.setDigestAlgorithm(digestAlg);
- reference.setId("reference-1-1");
- signedInfo.addReference(reference);
-
- // Create key information
- KeyManagerImpl keyManager = new KeyManagerImpl(signer.toDocument());
-
- X509Certificate[] certs = getCertificates(pkcs12);
- X509Data x509Data = new X509Data();
- x509Data.insertHintAt(certs[1], 0);
- KeyProviderImplX509Data x509DataKeyProvider = new KeyProviderImplX509Data(signer.toDocument());
- x509DataKeyProvider.insertX509DataAt(x509Data, 0);
-
- // X509Data key information (certificate chain)
- keyManager.addKeyProvider(x509DataKeyProvider);
-
- signer.getSignature().setKeyManager(keyManager);
- signer.getSignature().setId("signature-1-1");
- // Compute signature value
- signer.getSignature().sign();
-
- String erg = makeOutputFile(signer.toDocument());
- writeFile(resFile, erg);
- }
-
- /* ---------------------------------------------------------------------------------------------------- */
-
- public void create002() throws Exception
- {
-
- String testNumber = "002";
-
- String resFile =
- configuration_.getProperty("baseDir")
- + datadirectory
- + configuration_.getProperty("TestClass")
- + "."
- + testNumber
- + ".Res.xml";
-
- Document signatureDoc = createPKCS12Sig(testNumber, "b64:Dies sind Testdaten", true, false, null, false);
- String erg = makeOutputFile(signatureDoc);
- writeFile(resFile, erg);
- }
-
- /* ---------------------------------------------------------------------------------------------------- */
-
- public void create003() throws Exception
- {
-
- String testNumber = "003";
-
- String resFile =
- configuration_.getProperty("baseDir")
- + datadirectory
- + configuration_.getProperty("TestClass")
- + "."
- + testNumber
- + ".Res.xml";
-
- InputStream bis =
- new ByteArrayInputStream(
- ("<data:Document xmlns:data=\"http://uri.data.org\">"
- + readFile(configuration_.getProperty("baseDir") + "resources/documents/testSimple.txt")
- + "</data:Document>")
- .getBytes());
-
- //Document-Builder holen
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- factory.setNamespaceAware(true);
- DocumentBuilder builder = factory.newDocumentBuilder();
- //Dokument Parsen
- Document reqDoc = builder.parse(bis);
-
- System.out.println(DOMUtils.serializeNode(reqDoc.getDocumentElement()));
- //Position für die Signatur angeben
- String xPath_Pos = "/node()";
- //XPAth-Präfixe 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, "signature-1-1");
- cpkcs.setCanoncialization(1);
- cpkcs.createReference(
- false,
- configuration_.getProperty("webbaseDir") + "resources/documents/testSimple.txt",
- "reference-1-1");
- cpkcs.setKeyInformation(1);
-
- Document doc = cpkcs.returnSig();
-
- String output =
- makeOutputFile(
- doc,
- "<data:Document xmlns:data=\"http://uri.data.org\">",
- cutXML(readFile(configuration_.getProperty("baseDir") + "resources/documents/testSimple.txt"))
- + "</data:Document>");
-
- writeFile(resFile, output);
- }
-
- /* ---------------------------------------------------------------------------------------------------- */
-
- public void create004() throws Exception
- {
-
- String testNumber = "004";
-
- String resFile =
- configuration_.getProperty("baseDir")
- + datadirectory
- + configuration_.getProperty("TestClass")
- + "."
- + testNumber
- + ".Res.xml";
-
- InputStream bis =
- new ByteArrayInputStream(
- ("<data:Document xmlns:data=\"http://uri.data.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" attr=\"document\" xsi:schemaLocation=\"http://uri.data.org http://anywhere.org/testDocument.schema.xsd\">Dies sind Testdaten</data:Document>")
- .getBytes());
-
- //Document-Builder holen
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- factory.setNamespaceAware(true);
- factory.setValidating(true);
- DocumentBuilder builder = factory.newDocumentBuilder();
-
- Map m = new HashMap();
- m.put(
- "http://anywhere.org/testDocument.schema.xsd",
- new ByteArrayInputStream(
- ("<xsd:schema targetNamespace=\"http://uri.data.org\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://uri.data.org\" elementFormDefault=\"qualified\" attributeFormDefault=\"unqualified\" id=\"tollesSchema\">"
- + "<xsd:element name=\"Document\">"
- + "<xsd:complexType mixed=\"true\">"
- + "<xsd:sequence maxOccurs=\"unbounded\" minOccurs=\"0\">"
- + "<xsd:any namespace=\"##any\" processContents=\"lax\"/>"
- + "</xsd:sequence>"
- + "<xsd:attribute name=\"attr\" type=\"xsd:ID\" use=\"required\"/>"
- + "</xsd:complexType>"
- + "</xsd:element></xsd:schema>")
- .getBytes()));
-
- EntityResolverChain chain = new EntityResolverChain();
- chain.addEntityResolver(new StreamEntityResolver(m));
- chain.addEntityResolver(new MOAEntityResolver());
- builder.setEntityResolver(chain);
-
- //Dokument Parsen
- Document reqDoc =
- DOMUtils.parseDocument(bis, true, Constants.ALL_SCHEMA_LOCATIONS, null, chain, new MOAErrorHandler());
-
- System.out.println(DOMUtils.serializeNode(reqDoc.getDocumentElement()));
-
- //Position für die Signatur angeben
- String xPath_Pos = "//data:Document";
-
- //XPAth-Prefixe deklarieren
- String xPath_Prefix = "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, "signature-1-1");
- cpkcs.setCanoncialization(1);
-
- //Enveloped Transformation
- Transform[] tr = new Transform[1];
- TransformImplEnvelopedSignature trans = new TransformImplEnvelopedSignature();
- tr[0] = trans;
- cpkcs.createReferenceWithTransforms(new URI("#document"), tr, "reference-1-1");
-
- cpkcs.setKeyInformation(1);
-
- Document doc = cpkcs.returnSig();
-
- String output =
- makeOutputFile(
- doc,
- "<data:Document xmlns:data=\"http://uri.data.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" attr=\"document\" xsi:schemaLocation=\"http://uri.data.org http://anywhere.org/testDocument.schema.xsd\">",
- readFile(configuration_.getProperty("baseDir") + "resources/documents/testSimple.txt")
- + "</data:Document>");
-
- writeFile(resFile, output);
- }
-
- /* ---------------------------------------------------------------------------------------------------- */
-
- public void create005() throws Exception
- {
-
- String testNumber = "005";
- String resFile =
- configuration_.getProperty("baseDir")
- + datadirectory
- + configuration_.getProperty("TestClass")
- + "."
- + testNumber
- + ".Res.xml";
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init("signature-1-1");
- cpkcs.setCanoncialization(1);
-
- Transform[] tr = new Transform[1];
- TransformImplXSLT trans = new TransformImplXSLT();
- URL u = new URL(configuration_.getProperty("webbaseDir") + "resources/stylesheets/ref.book.notavailable.xsl");
- URLConnection hu = u.openConnection();
-
- trans.setStyleSheet(
- hu.getInputStream(),
- new URI(configuration_.getProperty("webbaseDir") + "resources/stylesheets/ref.book.notavailable.xsl"));
- tr[0] = trans;
-
- cpkcs.createReferenceWithTransforms(
- new URI(configuration_.getProperty("webbaseDir") + "resources/documents/bookData.xml"),
- tr,
- "reference-1-1");
-
- cpkcs.setKeyInformation(1);
-
- Document doc = cpkcs.returnSig();
- String output = makeOutputFile(doc);
- writeFile(resFile, output);
- }
-
- /* ---------------------------------------------------------------------------------------------------- */
-
- public void writeFile(String filename, String data) throws Exception
- {
- BufferedWriter bw = new BufferedWriter(new FileWriter(filename));
- bw.write(data);
- bw.close();
- }
-
- /* ---------------------------------------------------------------------------------------------------- */
-
- private String makeOutputFile(Document signatureDoc) throws Exception
- {
- ArrayList foundNodes = new ArrayList();
- findNode(signatureDoc.getDocumentElement(), "dsig:Signature", foundNodes);
-
- Node outputNode = null;
-
- if (foundNodes.size() > 0)
- {
- outputNode = (Node) foundNodes.get(0);
- }
-
- String erg = Node2String(outputNode);
-
- // remove the <?xml ?> Prologue
- int pos = erg.indexOf("<dsig");
- erg = erg.substring(pos);
-
- // insert the dsig:signature element in a MOA Response Message
- erg =
- "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
- + "<CreateXMLSignatureResponse\n"
- + " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"
- + " >"
- +
- //" xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\">\n"+
- "<SignatureEnvironment>" + erg + "</SignatureEnvironment></CreateXMLSignatureResponse>";
-
- return erg;
- }
-
- /* ---------------------------------------------------------------------------------------------------- */
-
- private String makeOutputFile(Document signatureDoc, Document signatureDoc2) throws Exception
- {
- ArrayList foundNodes = new ArrayList();
- findNode(signatureDoc.getDocumentElement(), "dsig:Signature", foundNodes);
-
- Node outputNode = null;
-
- if (foundNodes.size() > 0)
- {
- outputNode = (Node) foundNodes.get(0);
- }
-
- String erg = Node2String(outputNode);
-
- // remove the <?xml ?> Prologue
- int pos = erg.indexOf("<dsig");
- erg = erg.substring(pos);
-
- foundNodes.clear();
- findNode(signatureDoc2.getDocumentElement(), "dsig:Signature", foundNodes);
-
- outputNode = null;
-
- if (foundNodes.size() > 0)
- {
- outputNode = (Node) foundNodes.get(0);
- }
-
- String erg2 = Node2String(outputNode);
-
- // remove the <?xml ?> Prologue
- pos = erg2.indexOf("<dsig");
- erg2 = erg2.substring(pos);
-
- // insert the dsig:signature element in a MOA Response Message
- erg =
- "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
- + "<CreateXMLSignatureResponse\n"
- + " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"
- + " >"
- + "<SignatureEnvironment>"
- + erg
- + "</SignatureEnvironment><SignatureEnvironment>"
- + erg2
- + "</SignatureEnvironment> </CreateXMLSignatureResponse>";
-
- //erg = replaceString(erg,"Id=\"signature-1-1\"","Id=\"signature-2-1\"");
- //erg = replaceString(erg,"Id=\"reference-1-1\"","Id=\"reference-2-1\"");
-
- return erg;
- }
-
- /* ---------------------------------------------------------------------------------------------------- */
-
- public String makeOutputFile(Document signatureDoc, String prefix, String suffix) throws Exception
- {
- ArrayList foundNodes = new ArrayList();
- findNode(signatureDoc.getDocumentElement(), "dsig:Signature", foundNodes);
-
- Node outputNode = null;
-
- if (foundNodes.size() > 0)
- {
- outputNode = (Node) foundNodes.get(0);
- }
-
- String erg = Node2String(outputNode);
-
- // remove the <?xml ?> Prologue
- int pos = erg.indexOf("<dsig");
- erg = erg.substring(pos);
-
- // insert the dsig:signature element in a MOA Response Message
- erg =
- "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
- + "<CreateXMLSignatureResponse"
- + " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\""
- + " >"
- +
- //" xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\">"+
- "<SignatureEnvironment>"
- + prefix
- + erg
- + suffix
- + "</SignatureEnvironment> </CreateXMLSignatureResponse>";
-
- return erg;
- }
-
-}
diff --git a/spss.test/src/testgenerator/TestGeneratorVC0.java b/spss.test/src/testgenerator/TestGeneratorVC0.java
deleted file mode 100644
index f54689875..000000000
--- a/spss.test/src/testgenerator/TestGeneratorVC0.java
+++ /dev/null
@@ -1,1057 +0,0 @@
-package testgenerator;
-
-import iaik.asn1.ASN1Object;
-import iaik.asn1.CodingException;
-import iaik.asn1.DerCoder;
-import iaik.asn1.ObjectID;
-import iaik.asn1.structures.AlgorithmID;
-import iaik.asn1.structures.Attribute;
-import iaik.asn1.structures.ChoiceOfTime;
-import iaik.asn1.structures.Name;
-import iaik.cms.CMSException;
-import iaik.cms.ContentInfoStream;
-import iaik.cms.SignedDataStream;
-import iaik.cms.SignerInfo;
-import iaik.security.random.SecRandom;
-import iaik.utils.StreamCopier;
-import iaik.x509.X509Certificate;
-
-import java.io.BufferedInputStream;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.security.PrivateKey;
-import java.security.Provider;
-import java.security.SecureRandom;
-import java.security.Security;
-import java.security.SignatureException;
-
-import sun.misc.BASE64Encoder;
-
-
-/**
- * @author Administrator
- *
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates.
- * To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class TestGeneratorVC0 extends TestCases {
-
- String datadirectory = "data/VC0/";
- String datadirectory_l = "data/LVC";
-
- public String defaultblock =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+
- "<VerifyCMSSignatureRequest xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" Signatories=\"1\">"+
- "<DateTime>2003-04-04T09:30:47-05:00</DateTime>"+
- "<CMSSignature><!-- insert data --></CMSSignature>"+
- "<DataObject>"+
- "<MetaInfo>"+
- "<MimeType>text/plain</MimeType>"+
- "<Description>anyURI</Description>"+
- "</MetaInfo>"+
- "<Content>"+
- "<Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content>"+
- "</Content>"+
- "</DataObject>"+
- "<TrustProfileID>TrustProfile1</TrustProfileID>"+
- "</VerifyCMSSignatureRequest>";
-
- public String defaultresponse =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+
- "<VerifyCMSSignatureResponse xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\" >"+
- "<SignerInfo>"+
- "<dsig:X509Data xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">"+
- "<dsig:X509SubjectName><!-- subn --></dsig:X509SubjectName>"+
- "<dsig:X509IssuerSerial>"+
- "<dsig:X509IssuerName><!-- in --></dsig:X509IssuerName>"+
- "<dsig:X509SerialNumber><!-- sn --></dsig:X509SerialNumber>"+
- "</dsig:X509IssuerSerial>"+
- "<dsig:X509Certificate><!-- cert --></dsig:X509Certificate>"+
- "<!-- cert2 -->"+
- "</dsig:X509Data>"+
- "</SignerInfo>"+
- "<SignatureCheck>"+
- "<Code><!-- sc_code --></Code>"+
- "</SignatureCheck>"+
- "<CertificateCheck>"+
- "<Code><!-- cc_code --></Code>"+
- "</CertificateCheck>"+
- "</VerifyCMSSignatureResponse>";
-
- public String defaultresponse2 =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+
- "<VerifyCMSSignatureResponse xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\" >"+
- "<SignerInfo>"+
- "<dsig:X509Data xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">"+
- "<dsig:X509SubjectName><!-- subn --></dsig:X509SubjectName>"+
- "<dsig:X509IssuerSerial>"+
- "<dsig:X509IssuerName><!-- in --></dsig:X509IssuerName>"+
- "<dsig:X509SerialNumber><!-- sn --></dsig:X509SerialNumber>"+
- "</dsig:X509IssuerSerial>"+
- "<dsig:X509Certificate><!-- cert --></dsig:X509Certificate>"+
- "</dsig:X509Data>"+
- "</SignerInfo>"+
- "<SignatureCheck>"+
- "<Code><!-- sc_code --></Code>"+
- "</SignatureCheck>"+
- "<CertificateCheck>"+
- "<Code><!-- cc_code --></Code>"+
- "</CertificateCheck>"+
- "<SignerInfo>"+
- "<dsig:X509Data xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">"+
- "<dsig:X509SubjectName><!-- subn --></dsig:X509SubjectName>"+
- "<dsig:X509IssuerSerial>"+
- "<dsig:X509IssuerName><!-- in --></dsig:X509IssuerName>"+
- "<dsig:X509SerialNumber><!-- sn --></dsig:X509SerialNumber>"+
- "</dsig:X509IssuerSerial>"+
- "<dsig:X509Certificate><!-- cert --></dsig:X509Certificate>"+
- "</dsig:X509Data>"+
- "</SignerInfo>"+
- "<SignatureCheck>"+
- "<Code><!-- sc_code --></Code>"+
- "</SignatureCheck>"+
- "<CertificateCheck>"+
- "<Code><!-- cc_code --></Code>"+
- "</CertificateCheck>"+
- "</VerifyCMSSignatureResponse>";
-
- /*
- <!-- in -->
- <!-- sn -->
- <!-- subn -->
- <!-- sc_code -->
- <!-- cc_code -->
- */
-
- public String b64_der_data = null;
- public String b64_der_data_two = null;
- public String b64_der_data_exp = null;
- public String b64_der_data_exp_two = null;
- public String b64_der_data_max = null;
-
- public String b64_der_data_1kb = null;
- public String b64_der_data_10kb = null;
- public String b64_der_data_100kb = null;
- public String b64_der_data_1mb = null;
- public String b64_der_data_10mb = null;
-
- public String cert_file_data = null;
- public String cert_max_file_data = null;
- public String cert_root_file_data = null;
-
-
- public String fileprefix = null;
- public String filesuffix = null;
-
- // signing certificate of user 2
- X509Certificate user2_sign;
- // signing private key of user 2
- PrivateKey user2_sign_pk;
-
- // encryption certificate of user 2
- X509Certificate user2_crypt;
- // encryption private key of user 2
- PrivateKey user2_crypt_pk;
- // a certificate chain containing the user certs + CA
-
- X509Certificate[] certificates;
- // secure random number generator
- SecureRandom random;
-
- public TestGeneratorVC0() throws Exception
- {
- super();
- // Set config properties
- configuration_.setProperty("TestClass", "TestGeneratorVC0");
-
-
- configuration_.setProperty(
- "PKCS12file_maxmustermann",
- (configuration_.getProperty("baseDir") + "/resources/Max_Mustermann (max).p12"));
-
- configuration_.setProperty("PKCS12password_maxmustermann", "max");
-
- configuration_.setProperty(
- "CERT_maxmustermann",
- (configuration_.getProperty("baseDir") + "resources/Max_Mustermann.cer"));
-
- configuration_.setProperty(
- "CERT_ROOT",
- (configuration_.getProperty("baseDir") + "resources/IAIKRootMusterbehoerde.cer"));
-
- Provider [] list = Security.getProviders();
- for(int counter=0;counter<list.length;counter++)
- {
- System.out.println(list[counter].getName());
- }
-
- iaik.security.provider.IAIK.addAsProvider();
- iaik.security.ecc.provider.ECCProvider.addAsProvider();
-
- X509Certificate[] certs = CMSKeyStore.getCertificateChain(CMSKeyStore.RSA, CMSKeyStore.SZ_1024_SIGN);
- user2_sign = CMSKeyStore.getCertificateChain(CMSKeyStore.RSA, CMSKeyStore.SZ_2048_SIGN)[0];
- user2_sign_pk = CMSKeyStore.getPrivateKey(CMSKeyStore.RSA, CMSKeyStore.SZ_2048_SIGN);
- certificates = new X509Certificate[certs.length+1];
- System.arraycopy(certs, 0, certificates, 0, certs.length);
- certificates[certs.length] = user2_sign;
-
- // encryption certs
- user2_crypt = CMSKeyStore.getCertificateChain(CMSKeyStore.RSA, CMSKeyStore.SZ_2048_CRYPT)[0];
- user2_crypt_pk = CMSKeyStore.getPrivateKey(CMSKeyStore.RSA, CMSKeyStore.SZ_2048_CRYPT);
-
- random = SecRandom.getDefault();
-
- byte[] received_message = null;
- ASN1Object obj = null;
-
- String m = readFile(configuration_.getProperty("baseDir")+"resources/testDaten.txt");
- //String m = "This is a message";
- System.out.println("*"+m+"*");
- byte[] message = m.getBytes();
-
- System.out.println("Implicit SignedData demo [create]:");
- obj = createSignedCMSData(message, SignedDataStream.IMPLICIT,false);
- byte[] sig = DerCoder.encode(obj);
- writeFileBinary("testimpl.ber",sig);
- b64_der_data = (new BASE64Encoder()).encode(sig);
-
- obj = createSignedCMSData(message, SignedDataStream.IMPLICIT,true);
- sig = DerCoder.encode(obj);
- writeFileBinary("testimpl2.ber",sig);
- b64_der_data_two = (new BASE64Encoder()).encode(sig);
-
- obj = createSignedCMSData(message, SignedDataStream.EXPLICIT,false);
- sig = DerCoder.encode(obj);
- writeFileBinary("testexp.ber",sig);
- b64_der_data_exp = (new BASE64Encoder()).encode(sig);
-
- String output = getSignedDataStream(sig,message,false);
- System.out.println("Output:"+output);
-
- obj = createSignedCMSData(message, SignedDataStream.EXPLICIT,true);
- sig = DerCoder.encode(obj);
- writeFileBinary("testexp2.ber",sig);
- b64_der_data_exp_two = (new BASE64Encoder()).encode(sig);
-
- cert_file_data = readBinaryFileAsBase64_new(configuration_.getProperty("CERT"));
- cert_max_file_data = readBinaryFileAsBase64_new(configuration_.getProperty("CERT_maxmustermann"));
- cert_root_file_data = readBinaryFileAsBase64_new(configuration_.getProperty("CERT_ROOT"));
-
- // transmit data
- /*System.out.println("Implicit SignedData demo [parse]:");
- received_message = getSignedData(obj, null,true);
- System.out.print("Signed content: ");
- System.out.println(new String(received_message));*/
-
- //readBinaryFileAsBase64(configuration_.getProperty("baseDir")+"resources/testDaten.txt");
- }
-
- public String getCMSData(String filename) throws Exception
- {
- ASN1Object obj = null;
- obj = createSignedCMSData(readFile(configuration_.getProperty("baseDir") + "resources/"+filename+".txt").getBytes(), SignedDataStream.EXPLICIT,true);
- byte[] sig = DerCoder.encode(obj);
- //writeFileBinary("testexp2.ber",sig);
- return (new BASE64Encoder()).encode(sig);
- }
-
- public String getSignedDataStream(byte[] signedData, byte[] message,boolean two_users) throws CMSException, IOException {
-
- // we are testing the stream interface
- ByteArrayInputStream is = new ByteArrayInputStream(signedData);
- // create the ContentInfo object
- ContentInfoStream cis = new ContentInfoStream(is);
- System.out.println("This ContentInfo holds content of type " + cis.getContentType().getName());
- SignedDataStream signed_data = null;
-
- if (message == null) {
- // implicitly signed; get the content
- signed_data = (SignedDataStream)cis.getContent();
- }
- else {
- // explicitly signed; set the data stream for digesting the message
- AlgorithmID[] algIDs = { AlgorithmID.sha1, AlgorithmID.md5 };
- signed_data = new SignedDataStream(new ByteArrayInputStream(message), algIDs);
-
- }
-
- // get an InputStream for reading the signed content
- InputStream data = signed_data.getInputStream();
- ByteArrayOutputStream os = new ByteArrayOutputStream();
- StreamCopier sc = new StreamCopier(data, os);
- sc.copyStream();
-
-
- if (message != null) {
- // if explicitly signed read now the DER encoded object
- // an explicit S/MIME signed message also consits of message|signature
- signed_data.decode(cis.getContentInputStream());
- }
-
- System.out.println("SignedData contains the following signer information:");
- SignerInfo[] signer_infos = signed_data.getSignerInfos();
-
- for (int i=0; i<signer_infos.length; i++) {
- try {
- // verify the signed data using the SignerInfo at index i
- X509Certificate signer_cert = signed_data.verify(i);
- // if the signature is OK the certificate of the signer is returned
- System.out.println("Signature OK from signer: "+signer_cert.getSubjectDN());
- Attribute signingTime = signer_infos[i].getSignedAttribute(ObjectID.signingTime);
- if (signingTime != null) {
- ChoiceOfTime cot = new ChoiceOfTime(signingTime.getValue()[0]);
- System.out.println("This message has been signed at " + cot.getDate());
- }
- Attribute contentType = signer_infos[i].getSignedAttribute(ObjectID.contentType);
- if (contentType != null) {
- System.out.println("The content has CMS content type " + contentType.getValue()[0]);
- }
-
- } catch (SignatureException ex) {
- // if the signature is not OK a SignatureException is thrown
- System.out.println("Signature ERROR from signer: "+signed_data.getCertificate((signer_infos[i].getSignerIdentifier())).getSubjectDN());
- } catch (CodingException ex) {
- System.out.println("Attribute decoding error: " + ex.getMessage());
- }
- }
- // now check alternative signature verification
- System.out.println("Now check the signature assuming that no certs have been included:");
- try {
- SignerInfo signer_info = signed_data.verify(user1_sign);
- // if the signature is OK the certificate of the signer is returned
- System.out.println("Signature OK from signer: "+signed_data.getCertificate(signer_info.getSignerIdentifier()).getSubjectDN());
-
- } catch (SignatureException ex) {
- // if the signature is not OK a SignatureException is thrown
- System.out.println("Signature ERROR from signer: "+user1_sign.getSubjectDN());
- }
-
- if(two_users)
- try {
- SignerInfo signer_info = signed_data.verify(user2_sign);
- // if the signature is OK the certificate of the signer is returned
- System.out.println("Signature OK from signer: "+signed_data.getCertificate(signer_info.getSignerIdentifier()).getSubjectDN());
-
- } catch (SignatureException ex) {
- // if the signature is not OK a SignatureException is thrown
- System.out.println("Signature ERROR from signer: "+user2_sign.getSubjectDN());
- }
-
-
- return os.toString();
- }
-
- public void createConfig() throws Exception {
-
- String file = configuration_.getProperty("baseDir") + datadirectory +
- configuration_.getProperty("TestClass") +
- ".Config.xml";
- String config =
-
- "<MOAConfiguration xmlns=\"http://reference.e-government.gv.at/namespace/moaconfig/20021122#\">"+
- " <KeyGroup id=\"PKCS12RSAKey1\"> <Key id=\"resources/test-ee2003_normal(buergerkarte).p12\"/> </KeyGroup>"+
- " <KeyGroup id=\"PKCS12RSAKeyExpired\"> <Key id=\"sicher-demo(buergerkarte).p12\"/> </KeyGroup>"+
- " <KeyGroup id=\"PKCS12ECDSAKey1\"> <Key id=\"ecc.p12\"/> </KeyGroup> "+
- " <KeyGroup id=\"HSMRSAKey1\"> <Key id=\"???\"/> </KeyGroup>"+
- " <KeyGroup id=\"HSMECDSAKey1\"> <Key id=\"???\"/> </KeyGroup>"+
- " <DigestMethodAlgorithm name=\"http://www.w3.org/2000/09/xmldsig#sha1\"/>"+
- " <SignatureAlgorithm name=\"http://www.w3.org/2000/09/xmldsig#rsa-sha1\"/>"+
- " <CanonicalizationAlgorithm name=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"/>"+
- " <CreateSignatureEnvironmentProfile id=\"CreateSignatureEnvironmentProfile1\" filename=\""+"file:/"+configuration_.getProperty("baseDir")+"resources/csep.xml\"/>"+
- " <TrustProfile id=\"validTrustProfileID1\" uri=\""+"file:/"+configuration_.getProperty("baseDir")+"TrustProfile1/\"/>"+
- "</MOAConfiguration>";
-
- FileOutputStream fos = new FileOutputStream(file);
- fos.write(config.getBytes());
- fos.flush();
- fos.close();
-
- fileprefix = configuration_.getProperty("baseDir")+ datadirectory + configuration_.getProperty("TestClass") + ".";
- filesuffix = ".xml";
-
- }
-
- public static void main(String[] args) throws Exception {
- TestGeneratorVC0 testcase = new TestGeneratorVC0();
-
- testcase.createConfig();
- testcase.create001();
- testcase.create002();
- testcase.create003();
- testcase.create004();
- testcase.create005();
- testcase.create006();
- testcase.create007();
- testcase.create008();
- testcase.create009();
- testcase.create010();
- //testcase.create011();
- testcase.create012();
-
- testcase.create051();
- testcase.create052();
- //testcase.create053();
- testcase.create054();
- testcase.create055();
- testcase.create056();
- testcase.create057();
- testcase.create058();
-
- //testcase.createL00();
-
- }
-
- 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";
-
- String reqFile = configuration_.getProperty("baseDir")+ datadirectory_l+filename+"/" + configuration_.getProperty("TestClass") + "." + TestNumber + ".Req.xml";
-
- String req = replaceString(defaultblock,"<!-- insert data -->",getCMSData(filename));
- req = replaceString(req,"<Content>","<Content Reference=\"anyURI\">");
- req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/"+filename+".txt");
- req = replaceString(req,
- "<Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content>",
- "");
-
- writeFile(reqFile,req);
-
- String resFile = configuration_.getProperty("baseDir")+ datadirectory_l+filename+"/" + configuration_.getProperty("TestClass") + "." + TestNumber + ".Res.xml";
-
- String res = replaceString(defaultresponse,"<!-- in -->",this.X509name);
- res = replaceString(res,"<!-- sn -->",this.X509number.toString());
- res = replaceString(res,"<!-- subn -->",this.X509sub);
- res = replaceString(res,"<!-- sc_code -->","0");
- res = replaceString(res,"<!-- cc_code -->","0");
- res = replaceString(res,"<!-- cert -->",cert_file_data);
- res = replaceString(res,"<!-- cert2 -->","");
- //res = replaceString(res,"<dsig:X509Certificate><!-- cert --></dsig:X509Certificate>","");
-
-
- writeFile(resFile,res);
-
-
- }
-
- public void create001() throws Exception
- {
- String TestNumber = "001";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert data -->",b64_der_data_exp);
- req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
-
- /*CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init();
- cpkcs.setCanoncialization(canAlgCanXML);
- cpkcs.createReference(false,"file:/"+configuration_.getProperty("baseDir")+"resources/testDaten.txt");
- cpkcs.setKeyInformation();
-
- Document doc = cpkcs.returnSig();
-
- String output = makeOutputFile(doc,"<data:Document xmlns:data=\"uri.data.org\">",readFile(configuration_.getProperty("baseDir")+"resources/testDaten.txt")+"</data:Document>");
-
- writeFile(resFile, output);*/
-
- String res = replaceString(defaultresponse,"<!-- in -->",this.X509name);
- res = replaceString(res,"<!-- sn -->",this.X509number.toString());
- res = replaceString(res,"<!-- subn -->",this.X509sub);
- res = replaceString(res,"<!-- sc_code -->","0");
- res = replaceString(res,"<!-- cc_code -->","0");
- res = replaceString(res,"<!-- cert -->",cert_file_data);
- res = replaceString(res,"<!-- cert2 -->","");
- //res = replaceString(res,"<dsig:X509Certificate><!-- cert --></dsig:X509Certificate>","");
-
-
- writeFile(resFile,res);
-
-
- }
-
- public void create002() throws Exception
- {
- String TestNumber = "002";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert data -->",b64_der_data_exp_two);
- req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
- req = replaceString(req,
- "Signatories=\"1\"",
- "Signatories=\"1 2\"");
-
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
-
- String res = replaceStringAll(defaultresponse2,"<!-- in -->",this.X509name);
- res = replaceStringAll(res,"<!-- sn -->",this.X509number.toString());
- res = replaceStringAll(res,"<!-- subn -->",this.X509sub);
- res = replaceStringAll(res,"<!-- sc_code -->","0");
- res = replaceStringAll(res,"<!-- cc_code -->","0");
- res = replaceStringAll(res,"<!-- cert -->",cert_file_data);
- //res = replaceString(res,"<!-- cert2 -->","");
- writeFile(resFile,res);
- }
-
- public void create003() throws Exception
- {
- String TestNumber = "003";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert data -->",b64_der_data_exp);
- req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
- req = replaceString(req,
- "Signatories=\"1\"",
- "Signatories=\"all\"");
-
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
-
- String res = replaceString(defaultresponse,"<!-- in -->",this.X509name);
- res = replaceString(res,"<!-- sn -->",this.X509number.toString());
- res = replaceString(res,"<!-- subn -->",this.X509sub);
- res = replaceString(res,"<!-- sc_code -->","0");
- res = replaceString(res,"<!-- cc_code -->","0");
- res = replaceString(res,"<!-- cert -->",cert_file_data);
- res = replaceString(res,"<!-- cert2 -->","");
- writeFile(resFile,res);
- }
-
- public void create004() throws Exception
- {
- String TestNumber = "004";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert data -->",b64_der_data_exp);
- req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
- req = replaceString(req,
- "<DateTime>2003-04-04T09:30:47-05:00</DateTime>",
- "");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
-
- String res = replaceString(defaultresponse,"<!-- in -->",this.X509name);
- res = replaceString(res,"<!-- sn -->",this.X509number.toString());
- res = replaceString(res,"<!-- subn -->",this.X509sub);
- res = replaceString(res,"<!-- sc_code -->","0");
- res = replaceString(res,"<!-- cc_code -->","0");
- res = replaceString(res,"<!-- cert -->",cert_file_data);
- res = replaceString(res,"<!-- cert2 -->","");
- writeFile(resFile,res);
- }
-
- public void create005() throws Exception
- {
- String TestNumber = "005";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert data -->",b64_der_data_exp);
- req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
- req = replaceString(req,
- "<DateTime>2003-04-04T09:30:47-05:00</DateTime>",
- "<DateTime>2003-04-04T09:30:47-05:00</DateTime>");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
-
- String res = replaceString(defaultresponse,"<!-- in -->",this.X509name);
- res = replaceString(res,"<!-- sn -->",this.X509number.toString());
- res = replaceString(res,"<!-- subn -->",this.X509sub);
- res = replaceString(res,"<!-- sc_code -->","0");
- res = replaceString(res,"<!-- cc_code -->","0");
- res = replaceString(res,"<!-- cert -->",cert_file_data);
- res = replaceString(res,"<!-- cert2 -->","");
- writeFile(resFile,res);
- }
-
- public void create006() throws Exception
- {
- String TestNumber = "006";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert data -->",b64_der_data);
- req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
- req = replaceString(req,
- "<DataObject>"+
- "<MetaInfo>"+
- "<MimeType>text/plain</MimeType>"+
- "<Description>"+configuration_.getProperty("webbaseDir") + "resources/testDaten.txt</Description>"+
- "</MetaInfo>"+
- "<Content>"+
- "<Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content>"+
- "</Content>"+
- "</DataObject>",
- "");
-
- //req = replaceString(defaultblock,
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
-
- String res = replaceString(defaultresponse,"<!-- in -->",this.X509name);
- res = replaceString(res,"<!-- sn -->",this.X509number.toString());
- res = replaceString(res,"<!-- subn -->",this.X509sub);
- res = replaceString(res,"<!-- sc_code -->","0");
- res = replaceString(res,"<!-- cc_code -->","0");
- res = replaceString(res,"<!-- cert -->",cert_file_data);
- res = replaceString(res,"<!-- cert2 -->","");
- writeFile(resFile,res);
- }
-
- public void create007() throws Exception
- {
- String TestNumber = "007";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert data -->",b64_der_data_exp);
- req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
- req = replaceString(req,
- "<MetaInfo>"+
- "<MimeType>text/plain</MimeType>"+
- "<Description>"+configuration_.getProperty("webbaseDir") + "resources/testDaten.txt</Description>"+
- "</MetaInfo>",
- "");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
-
- String res = replaceString(defaultresponse,"<!-- in -->",this.X509name);
- res = replaceString(res,"<!-- sn -->",this.X509number.toString());
- res = replaceString(res,"<!-- subn -->",this.X509sub);
- res = replaceString(res,"<!-- sc_code -->","0");
- res = replaceString(res,"<!-- cc_code -->","0");
- res = replaceString(res,"<!-- cert -->",cert_file_data);
- res = replaceString(res,"<!-- cert2 -->","");
- writeFile(resFile,res);
- }
-
- public void create008() throws Exception
- {
- String TestNumber = "008";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert data -->",b64_der_data_exp);
- req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
-
- String res = replaceString(defaultresponse,"<!-- in -->",this.X509name);
- res = replaceString(res,"<!-- sn -->",this.X509number.toString());
- res = replaceString(res,"<!-- subn -->",this.X509sub);
- res = replaceString(res,"<!-- sc_code -->","0");
- res = replaceString(res,"<!-- cc_code -->","0");
- res = replaceString(res,"<!-- cert -->",cert_file_data);
- res = replaceString(res,"<!-- cert2 -->","");
- writeFile(resFile,res);
- }
-
- public void create009() throws Exception
- {
- String TestNumber = "009";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert data -->",b64_der_data_exp);
- req = replaceString(req,"<Content>","<Content Reference=\"anyURI\">");
- req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
- req = replaceString(req,
- "<Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content>",
- "");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
-
- String res = replaceString(defaultresponse,"<!-- in -->",this.X509name);
- res = replaceString(res,"<!-- sn -->",this.X509number.toString());
- res = replaceString(res,"<!-- subn -->",this.X509sub);
- res = replaceString(res,"<!-- sc_code -->","0");
- res = replaceString(res,"<!-- cc_code -->","0");
- res = replaceString(res,"<!-- cert -->",cert_file_data);
- res = replaceString(res,"<!-- cert2 -->","");
- writeFile(resFile,res);
- }
-
- public void create011() throws Exception
- {
- String TestNumber = "011";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert data -->",readFile(configuration_.getProperty("baseDir") + "resources/VC0.011.cms.ber.b64.txt"));
- req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
- req = replaceString(req,
- "<DataObject>"+
- "<MetaInfo>"+
- "<MimeType>text/plain</MimeType>"+
- "<Description>"+configuration_.getProperty("webbaseDir") + "resources/testDaten.txt</Description>"+
- "</MetaInfo>"+
- "<Content>"+
- "<Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content>"+
- "</Content>"+
- "</DataObject>",
- "");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
-
- String res = replaceString(defaultresponse,"<!-- in -->","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");
- res = replaceString(res,"<!-- sn -->","6455");
- res = replaceString(res,"<!-- subn -->","Seriennummer=790187461633,G=Testperson MOA4,SN=BRZ,CN=Testperson MOA4 BRZ,C=AT");
- res = replaceString(res,"<!-- sc_code -->","0");
- res = replaceString(res,"<!-- cc_code -->","0");
- res = replaceString(res,"<!-- cert -->",cert_file_data);
- res = replaceString(res,"<!-- cert2 -->","");
- res = replaceString(res,
- "</dsig:X509Data>",
- "<sl11:QualifiedCertificate xmlns:sl11=\"http://www.buergerkarte.at/namespaces/securitylayer/20020831#\"/>"+
- "</dsig:X509Data>");
-
-
- writeFile(resFile,res);
- }
-
- public void create012() throws Exception
- {
- String TestNumber = "012";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- BufferedInputStream bis = new BufferedInputStream(new FileInputStream(configuration_.getProperty("CERT_maxmustermann")));
- iaik.x509.X509Certificate cert = new iaik.x509.X509Certificate(bis);
- X509name = ((Name)(cert.getIssuerDN())).getRFC2253String();
- X509number = cert.getSerialNumber();
- X509hash = new String(cert.getFingerprintSHA());
- X509sub = ((Name)(cert.getSubjectDN())).getRFC2253String();
-
- String m = "This is a message";
- System.out.println("*"+m+"*");
- byte[] message = m.getBytes();
-
- ASN1Object obj = null;
- obj = createSignedCMSData(message, SignedDataStream.IMPLICIT,false,"PKCS12file_maxmustermann","PKCS12password_maxmustermann","CERT_maxmustermann");
- byte[] sig = DerCoder.encode(obj);
- writeFileBinary("testimplmax.ber",sig);
- b64_der_data_max = (new BASE64Encoder()).encode(sig);
-
-
- String req = replaceString(defaultblock,"<!-- insert data -->",b64_der_data_max);
-
- req = replaceString(req,
- "<DataObject>"+
- "<MetaInfo>"+
- "<MimeType>text/plain</MimeType>"+
- "<Description>anyURI</Description>"+
- "</MetaInfo>"+
- "<Content>"+
- "<Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content>"+
- "</Content>"+
- "</DataObject>",
- "");
-
- //req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
-
- /*CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init();
- cpkcs.setCanoncialization(canAlgCanXML);
- cpkcs.createReference(false,"file:/"+configuration_.getProperty("baseDir")+"resources/testDaten.txt");
- cpkcs.setKeyInformation();
-
- Document doc = cpkcs.returnSig();
-
- String output = makeOutputFile(doc,"<data:Document xmlns:data=\"uri.data.org\">",readFile(configuration_.getProperty("baseDir")+"resources/testDaten.txt")+"</data:Document>");
-
- writeFile(resFile, output);*/
-
-
- String res = replaceString(defaultresponse,"<!-- in -->",X509name);
- res = replaceString(res,"<!-- sn -->",X509number.toString());
- res = replaceString(res,"<!-- subn -->",X509sub);
- res = replaceString(res,"<!-- sc_code -->","0");
- res = replaceString(res,"<!-- cc_code -->","0");
- res = replaceString(res,"<!-- cert -->",cert_max_file_data);
- res = replaceString(res,"<!-- cert2 -->","");
- res = replaceString(res,
- "</dsig:X509Data>",
- "<PublicAuthority>"+
- "<Code>Musterbehörde</Code>"+
- //"<Code>Musterbehörde</Code>"+
- "</PublicAuthority>"+
- "</dsig:X509Data>");
-
-
- writeFile(resFile,res);
-
-
- }
-
- public void create051() throws Exception
- {
- String TestNumber = "051";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert data -->",b64_der_data_exp);
- req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
- req = replaceString(req,
- "Signatories=\"1\"",
- "Signatories=\"0\"");
-
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
-
- writeFile(resFile,"1100");
- }
-
- public void create052() throws Exception
- {
- String TestNumber = "052";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert data -->",b64_der_data_exp);
- req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
- req = replaceString(req,
- "Signatories=\"1\"",
- "Signatories=\"10\"");
-
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
-
- writeFile(resFile,"2249");
- }
-
- public void create053() throws Exception
- {
- String TestNumber = "053";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert data -->",b64_der_data_exp);
- req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
- req = replaceString(req,
- "<DateTime>2003-04-04T09:30:47-05:00</DateTime>",
- "<DateTime>"+getDate(1*34*24)+"</DateTime>");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
-
- writeFile(resFile,"0000");
- }
-
- public void create054() throws Exception
- {
- String TestNumber = "054";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,
- "<CMSSignature><!-- insert data --></CMSSignature>",
- "<CMSSignature>this is no Base64 Data</CMSSignature>");
- req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
-
- writeFile(resFile,"1100");
-
- }
-
- public void create055() throws Exception
- {
- String TestNumber = "055";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert data -->",b64_der_data_exp);
- req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
- req = replaceString(req,
- "<DataObject>"+
- "<MetaInfo>"+
- "<MimeType>text/plain</MimeType>"+
- "<Description>"+configuration_.getProperty("webbaseDir") + "resources/testDaten.txt</Description>"+
- "</MetaInfo>"+
- "<Content>"+
- "<Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content>"+
- "</Content>"+
- "</DataObject>",
- "");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
-
- writeFile(resFile,"2248");
-
- }
-
-
-
- public void create010() throws Exception
- {
- String TestNumber = "010";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert data -->",b64_der_data_exp);
- req = replaceString(req,"<Content>","<Content Reference=\"anyURI\">");
- req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
- req = replaceString(req,
- "<Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content>",
- "");
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".Res"+filesuffix;
-
- String res = replaceString(defaultresponse,"<!-- in -->",this.X509name);
- res = replaceString(res,"<!-- sn -->",this.X509number.toString());
- res = replaceString(res,"<!-- subn -->",this.X509sub);
- res = replaceString(res,"<!-- sc_code -->","0");
- res = replaceString(res,"<!-- cc_code -->","0");
- res = replaceString(res,"<!-- cert -->",cert_file_data);
- res = replaceString(res,"<!-- cert2 -->","");
-
- writeFile(resFile,res);
-
- }
-
- public void create056() throws Exception
- {
- String TestNumber = "056";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert data -->",b64_der_data_exp);
- req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
- req = replaceString(req,
- "<TrustProfileID>TrustProfile1</TrustProfileID>",
- "<TrustProfileID>notvalidTrustProfileID</TrustProfileID>");
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
-
- writeFile(resFile,"2203");
-
- }
-
-
- public void create057() throws Exception
- {
- String TestNumber = "057";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
-
- configuration_.setProperty(
- "PKCS12file_maxmustermann",
- (configuration_.getProperty("baseDir") + "/resources/Max_Mustermann (max).p12"));
-
- configuration_.setProperty("PKCS12password_maxmustermann", "max");
-
- configuration_.setProperty(
- "CERT_maxmustermann",
- (configuration_.getProperty("baseDir") + "resources/Max_Mustermann.cer"));
-
- BufferedInputStream bis = new BufferedInputStream(new FileInputStream(configuration_.getProperty("CERT_maxmustermann")));
- iaik.x509.X509Certificate cert = new iaik.x509.X509Certificate(bis);
- X509name = ((Name)(cert.getIssuerDN())).getRFC2253String();
- X509number = cert.getSerialNumber();
- X509hash = new String(cert.getFingerprintSHA());
- X509sub = ((Name)(cert.getSubjectDN())).getRFC2253String();
-
- String m = "This is a message";
- System.out.println("*"+m+"*");
- byte[] message = m.getBytes();
-
- ASN1Object obj = null;
- obj = createSignedCMSData(message, SignedDataStream.IMPLICIT,false,"PKCS12file_maxmustermann","PKCS12password_maxmustermann","CERT_maxmustermann");
- byte[] sig = DerCoder.encode(obj);
- writeFileBinary("testimplmax.ber",sig);
- b64_der_data_max = (new BASE64Encoder()).encode(sig);
-
-
- String req = replaceString(defaultblock,"<!-- insert data -->",b64_der_data_max);
-
- /*req = replaceString(req,
- " <DataObject>"+
- " <MetaInfo>"+
- " <MimeType>text/plain</MimeType>"+
- " <Description>anyURI</Description>"+
- " </MetaInfo>"+
- " <Content Reference=\"anyURI\">"+
- " <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content>"+
- " </Content>"+
- " </DataObject>",
- "");*/
-
- //req = replaceString(req,"Reference=\"anyURI\"","");
-
- req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
-
-
-
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
-
- writeFile(resFile,"2248");
-
-
- }
-
- public void create058() throws Exception
- {
- String TestNumber = "058";
- String reqFile = fileprefix + TestNumber + ".Req"+filesuffix;
-
- String req = replaceString(defaultblock,"<!-- insert data -->",b64_der_data_exp);
- req = replaceStringAll(req,"anyURI",configuration_.getProperty("webbaseDir") + "resources/testDaten.txt");
-
- req = replaceString(req,"RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=","RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=()");
- writeFile(reqFile,req);
-
- String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix;
-
- writeFile(resFile,"1100");
-
- }
-
-
-
-
-
-
-
-}
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,"<XMLContent xml:space=\"preserve\">","");
- request = replaceString(request,"</XMLContent>","");
- 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")+
- "</VerifyXMLSignatureResponse>";
-
- 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",
- "<xsd:schema targetNamespace=\"http://uri2.data.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" elementFormDefault=\"qualified\" attributeFormDefault=\"unqualified\"><xsd:element name=\"Document\"><xsd:complexType mixed=\"true\"><xsd:sequence minOccurs=\"0\" maxOccurs=\"unbounded\"><xsd:any namespace=\"##any\" processContents=\"lax\"/></xsd:sequence><xsd:attribute name=\"Id\" type=\"xsd:ID\" use=\"required\"/></xsd:complexType></xsd:element></xsd:schema>");
- supp.closeSupplement();
-
- String requestEnd = createSignatureInfoEnd()+
- supp.getSupplement() + createRequestShortEnd(false);
-
- String requestStart = createRequestStart(testNumber,true,0);
-
-
- String reqDocString =
- "<daten:Document Id=\"myDocument\" " +
- "xmlns:daten=\"http://uri2.data.org\" "+
- "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" "+
- "xsi:schemaLocation=\"http://uri2.data.org http://MyServer.com/resources/something.xsd http://www.w3.org/2000/09/xmldsig# http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd\" >"
- + "daten</daten:Document>" ;
-
- 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(("<xsd:schema targetNamespace=\"http://uri2.data.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" elementFormDefault=\"qualified\" attributeFormDefault=\"unqualified\"><xsd:element name=\"Document\"><xsd:complexType mixed=\"true\"><xsd:sequence minOccurs=\"0\" maxOccurs=\"unbounded\"><xsd:any namespace=\"##any\" processContents=\"lax\"/></xsd:sequence><xsd:attribute name=\"Id\" type=\"xsd:ID\" use=\"required\"/></xsd:complexType></xsd:element></xsd:schema>").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()),"<?xml version=\"1.0\" encoding=\"utf-8\"?>","") + requestEnd;
-
- writeFile(vxReqFile(testNumber),request);
-
- String response = createResponsePart(cpkcs.getX509CertString()) +
- vxBean.createSignatureCheck("0")+
- vxBean.createCertificateCheck("0")+
- "</VerifyXMLSignatureResponse>";
-
- 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,"","<!DOCTYPE data:Document SYSTEM \"http://MyServer.com/resources/VX.006DTD.dtd\">") +
- String reqDocString = /*createRequestStart(testNumber,true,0) +*/
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?><!DOCTYPE Document SYSTEM \"" + dtdLocation + "\"><Document Id=\"myDocument\" " +
-
- "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" "+
- "xsi:schemaLocation=\"http://www.w3.org/2000/09/xmldsig# http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd\" >"
- + "\ndaten\n</Document>" /*+ 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("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
- request = request.substring("<?xml version=\"1.0\" encoding=\"utf-8\"?>".length());
-
- request = "<!DOCTYPE Document SYSTEM \"" + dtdLocation + "\">"+request;
-
- System.out.println("DOC:"+request);
-
- request ="<?xml version=\"1.0\" encoding=\"utf-8\"?><VerifyXMLSignatureRequest xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" xmlns:xml=\"http://www.w3.org/XML/1998/namespace\"><VerifySignatureInfo><VerifySignatureEnvironment><Base64Content>"+Base64Utils.encode(request.getBytes())+"</Base64Content></VerifySignatureEnvironment><VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation></VerifySignatureInfo>"+supp.getSupplement()+"<TrustProfileID>TrustProfile1</TrustProfileID></VerifyXMLSignatureRequest>";
-
-
-
-
- /*int i_pos = request.indexOf("<VerifyXMLSignatureRequest");
- request = request.substring(0,i_pos)+"<!DOCTYPE data:Document SYSTEM \"http://MyServer.com/resources/VX.006DTD.dtd\">\n" +request.substring(i_pos);*/
-
- /*i_pos = request.indexOf("<TrustProfile");
- request = request.substring(0,i_pos)+supp.getSupplement() +request.substring(i_pos);*/
-
- writeFile(vxReqFile(testNumber),request);
-
- writeFile(vxResFile(testNumber), createResponseWithoutHashInputData(cpkcs.getX509CertString(), testNumber,"0",false));
- }
-
-
- public void create008() throws Exception {
-
- String testNumber = "008";
-
- String request =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+
- "<VerifyXMLSignatureRequest xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\" xmlns:xml=\"http://www.w3.org/XML/1998/namespace\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">"+
- "<VerifySignatureInfo>"+
- "<VerifySignatureEnvironment>"+
- "<XMLContent xml:space=\"preserve\">"+
- "<dsig:Signature Id=\"HS_signature\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">"+
- "<dsig:SignedInfo>"+
- "<dsig:CanonicalizationMethod Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"/>"+
- "<dsig:SignatureMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#rsa-sha1\"/>"+
- "<dsig:Reference Id=\"reference-data-1\" URI=\"#signed-data\">"+
- "<dsig:Transforms>"+
- "<dsig:Transform Algorithm=\"http://www.w3.org/2002/06/xmldsig-filter2\">"+
- "<xf2:XPath Filter=\"intersect\" xmlns:xf2=\"http://www.w3.org/2002/06/xmldsig-filter2\">id(&apos;signed-data&apos;)/node()</xf2:XPath>"+
- "</dsig:Transform>"+
- "</dsig:Transforms>"+
- "<dsig:DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\"/>"+
- "<dsig:DigestValue>4lngV1x/OvR8iFWEBenH4fDihwA=</dsig:DigestValue>"+
- "</dsig:Reference>"+
- "<dsig:Reference Type=\"http://uri.etsi.org/01903/v1.1.1#SignedProperties\" URI=\"#refetsi\">"+
- "<dsig:Transforms>"+
- "<dsig:Transform Algorithm=\"http://www.w3.org/2002/06/xmldsig-filter2\">"+
- "<xf2:XPath Filter=\"intersect\" xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\" xmlns:xf2=\"http://www.w3.org/2002/06/xmldsig-filter2\">id(&apos;refetsi&apos;)/etsi:QualifyingProperties/etsi:SignedProperties</xf2:XPath>"+
- "</dsig:Transform>"+
- "</dsig:Transforms>"+
- "<dsig:DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\"/>"+
- "<dsig:DigestValue>1j0DWguieuw2cGA06gFjoSNXr+w=</dsig:DigestValue>"+
- "</dsig:Reference>"+
- "</dsig:SignedInfo>"+
- "<dsig:SignatureValue>Yb6fsPNbKyYW+u7cU1EqF9n5QrwLXHqdGD4tJNT5+sA7kQR3Ztqz965vlBH+1pJE"+
- "nGxehxXsesZboVvkJa/jhuI0goCTW9KkdGOP71B7o7/vlyBbxaYKpnVNtBU4/qtT"+
- "xba7M0E32X+tm/x9O6foXIM0AoP3oQBZmjo9rEJ9kfk=</dsig:SignatureValue>"+
- "<dsig:KeyInfo>"+
- "<dsig:X509Data>"+
- "<dsig:X509Certificate>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==</dsig:X509Certificate>"+
- /*"<dsig:X509Certificate>"+
- readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/IAIKRootMusterbehoerde.cer")+
- "</dsig:X509Certificate>"+*/
- "</dsig:X509Data>"+
- "</dsig:KeyInfo>"+
- "<dsig:Object Id=\"signed-data\">"+
- "<sl10:InfoboxReadRequest xmlns:sl10=\"http://www.buergerkarte.at/namespaces/securitylayer/20020225#\">"+
- "<sl10:InfoboxIdentifier>IdentityLink</sl10:InfoboxIdentifier>"+
- "<sl10:BinaryFileParameters ContentIsXMLEntity=\"true\"/>"+
- "</sl10:InfoboxReadRequest>"+
- "</dsig:Object>"+
- "<dsig:Object Id=\"refetsi\">"+
- "<etsi:QualifyingProperties Target=\"#HS_signature\" xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\">"+
- "<etsi:SignedProperties>"+
- "<etsi:SignedSignatureProperties>"+
- "<etsi:SigningTime>2003-03-04T12:32:54Z</etsi:SigningTime>"+
- "<etsi:SigningCertificate>"+
- "<etsi:Cert>"+
- "<etsi:CertDigest>"+
- "<etsi:DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\"/>"+
- "<etsi:DigestValue>Frhu1o4mL4gQHdJcU0xSA/h4COE=</etsi:DigestValue>"+
- "</etsi:CertDigest>"+
- "<etsi:IssuerSerial>"+
- "<dsig:X509IssuerName>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</dsig:X509IssuerName>"+
- "<dsig:X509SerialNumber>6455</dsig:X509SerialNumber>"+
- "</etsi:IssuerSerial>"+
- "</etsi:Cert>"+
- "</etsi:SigningCertificate>"+
- "<etsi:SignaturePolicyIdentifier>"+
- "<etsi:SignaturePolicyImplied/>"+
- "</etsi:SignaturePolicyIdentifier>"+
- "</etsi:SignedSignatureProperties>"+
- "<etsi:SignedDataObjectProperties>"+
- "<etsi:DataObjectFormat ObjectReference=\"#reference-data-1\">"+
- "<etsi:MimeType>text/xml</etsi:MimeType>"+
- "</etsi:DataObjectFormat>"+
- "</etsi:SignedDataObjectProperties>"+
- "</etsi:SignedProperties>"+
- "</etsi:QualifyingProperties>"+
- "</dsig:Object>"+
- "</dsig:Signature>"+
- "</XMLContent>"+
- "</VerifySignatureEnvironment>"+
- "<VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>"+
- "</VerifySignatureInfo>"+
- "<TrustProfileID>TrustProfile1</TrustProfileID>"+
- "</VerifyXMLSignatureRequest>";
-
- String response =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+
- "<VerifyXMLSignatureResponse xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\" >"+
- " <SignerInfo>"+
- " <dsig:X509Data xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">"+
- " <dsig:X509SubjectName>serialNumber=790187461633,givenName=Testperson MOA4,SN=BRZ,CN=Testperson MOA4 BRZ,C=AT</dsig:X509SubjectName>"+
- " <dsig:X509IssuerSerial>"+
- " <dsig:X509IssuerName>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</dsig:X509IssuerName>"+
- " <dsig:X509SerialNumber>6455</dsig:X509SerialNumber>"+
- " </dsig:X509IssuerSerial>"+
- "<dsig:X509Certificate>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==</dsig:X509Certificate>"+
- " <sl11:QualifiedCertificate xmlns:sl11=\"http://www.buergerkarte.at/namespaces/securitylayer/20020831#\"/>"+
- " </dsig:X509Data>"+
- " </SignerInfo>"+
- " <SignatureCheck>"+
- " <Code>0</Code>"+
- " </SignatureCheck>"+
- " <CertificateCheck>"+
- " <Code>0</Code>"+
- " </CertificateCheck>"+
- "</VerifyXMLSignatureResponse>";
-
- 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",
- "<xsd:schema targetNamespace=\"http://uri2.data.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" elementFormDefault=\"qualified\" attributeFormDefault=\"unqualified\"><xsd:element name=\"Document\"><xsd:complexType mixed=\"true\"><xsd:sequence minOccurs=\"0\" maxOccurs=\"unbounded\"><xsd:any namespace=\"##any\" processContents=\"lax\"/></xsd:sequence><xsd:attribute name=\"Id\" type=\"xsd:ID\" use=\"required\"/></xsd:complexType></xsd:element></xsd:schema>");
- supp.closeSupplement();
-
- String requestEnd = createSignatureInfoEnd()+
- supp.getSupplement() + createRequestShortEnd(false);
-
- String requestStart = createRequestStart(testNumber,true,0);
-
-
- String reqDocString =
- "<daten:Document Id=\"myDocument\" " +
- "xmlns:daten=\"http://uri2.data.org\" "+
- "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" "+
- "xsi:schemaLocation=\"http://uri2.data.org http://MyServer.com/resources/something.xsd http://www.w3.org/2000/09/xmldsig# http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd\" >"
- + "daten</daten:Document>" ;
-
- 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(("<xsd:schema targetNamespace=\"http://uri2.data.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" elementFormDefault=\"qualified\" attributeFormDefault=\"unqualified\"><xsd:element name=\"Document\"><xsd:complexType mixed=\"true\"><xsd:sequence minOccurs=\"0\" maxOccurs=\"unbounded\"><xsd:any namespace=\"##any\" processContents=\"lax\"/></xsd:sequence><xsd:attribute name=\"Id\" type=\"xsd:ID\" use=\"required\"/></xsd:complexType></xsd:element></xsd:schema>").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()),"<?xml version=\"1.0\" encoding=\"utf-8\"?>","") + requestEnd;
-
- writeFile(vxReqFile(testNumber),request);
-
- String response = createResponsePart(cpkcs.getX509CertString()) +
- vxBean.createSignatureCheck("0")+
- vxBean.createCertificateCheck("0")+
- "</VerifyXMLSignatureResponse>";
-
- 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")+
- "</VerifyXMLSignatureResponse>";
-
- 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() + "<ReturnHashInputData/>"+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() + "<ReturnHashInputData/>"+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()+"<ReturnHashInputData/>"+
- 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()) +
- "<HashInputData><Base64Content>"+
- readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/testSimple.txt") +
- "</Base64Content></HashInputData>"+
- "<HashInputData><Base64Content>"+
- readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/testXML.txt") +
- "</Base64Content></HashInputData>"+
- vxBean.createSignatureCheck("0")+
- vxBean.createCertificateCheck("0")+
- "</VerifyXMLSignatureResponse>";
-
-
- 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()+
- "<SupplementProfileID>SupplementProfile2</SupplementProfileID>" +
- "<!-- Supplement Profile 2 enthaelt nicht die referenzierte URI -->" +
- "<SupplementProfileID>SupplementProfile1</SupplementProfileID><ReturnHashInputData/>" +
- 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","<dsig:X509IssuerName>CN=IAIK ECDSA Test,OU=JavaSecurity,O=IAIK,C=AT</dsig:X509IssuerName>","<dsig:X509SubjectName>CN=IAIK ECDSA Test,OU=JavaSecurity,O=IAIK,C=AT</dsig:X509SubjectName>","<dsig:X509SerialNumber>68172</dsig:X509SerialNumber>"));
- }
- /**
- * 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,"<XMLContent xml:space=\"preserve\">","<XMLContent xml:space=\"preserve\">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,"<ReturnHashInputData/>","");
- /*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")+
- "</VerifyXMLSignatureResponse>";
-
- 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) +
- "<data:Document " +
- "xmlns:data=\"http://uri.data.org\" "+
- "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" Id=\"myDocument\" "+
- "xsi:schemaLocation=\"http://uri.data.org http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/VX.006Schema.xsd http://www.w3.org/2000/09/xmldsig# http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd\" >"
- + "</data:Document>" + requestEnd;
-
-
- InputStream bis = new ByteArrayInputStream(("<data:Document " +
- "xmlns:data=\"http://uri.data.org\" "+
- "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" Id=\"myDocument\" "+
- "xsi:schemaLocation=\"http://uri.data.org http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/VX.006Schema.xsd http://www.w3.org/2000/09/xmldsig# http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd\" >"
- + "</data:Document>").getBytes());
- //Document-Builder holen
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- factory.setNamespaceAware(true);
- DocumentBuilder builder = factory.newDocumentBuilder();
- //Dokument Parsen
- Document reqDoc = builder.parse(bis);
-
- System.out.println(DOMUtils.serializeNode(reqDoc.getDocumentElement()));
- //Position für die Signatur angeben
- //String xPath_Pos = "/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:"+"<data:Document xmlns:data=\"http://uri.data.org\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" Id=\"myDocument\" xsi:schemaLocation=\"http://uri.data.org http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/VX.006Schema.xsd http://www.w3.org/2000/09/xmldsig# http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd\"></data:Document>"));
-
- }
-
-
- 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")+
- "</VerifyXMLSignatureResponse>";
-
- 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, "<?xml version=\"1.0\" encoding=\"UTF-8\"?>","");
- 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")+
- "</VerifyXMLSignatureResponse>";
- 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" +
- "</XMLContent>\n" +
- " </HashInputData>\n" +
- " <HashInputData>\n" +
- "<XMLContent xml:space=\"preserve\">" +
- 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()) +
- "<HashInputData><Base64Content>"+
- Base64Utils.encode(stripNLCR(convertManifestToString(elem)).getBytes()) +
- "</Base64Content></HashInputData>"+
- vxBean.createSignatureCheck("0")+
- vxBean.createXMLDSIGManifestCheck("0","","1")+
- vxBean.createCertificateCheck("0")+
- "</VerifyXMLSignatureResponse>";
-
- 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()) +
- "<HashInputData><Base64Content>"+
- Base64Utils.encode(stripNLCR(convertManifestToString(man1)).getBytes()) +
- "</Base64Content></HashInputData>"+
- "<HashInputData><Base64Content>"+
- Base64Utils.encode(stripNLCR(convertManifestToString(man2)).getBytes()) +
- "</Base64Content></HashInputData>"+
- vxBean.createSignatureCheck("0")+
- vxBean.createXMLDSIGManifestCheck("0","","1")+
- vxBean.createXMLDSIGManifestCheck("0","","2")+
- vxBean.createCertificateCheck("0")+
- "</VerifyXMLSignatureResponse>";
-
- 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()) +
- "<HashInputData><Base64Content>"+
- Base64Utils.encode(stripNLCR(convertManifestToString(man)).getBytes()) +
- "</Base64Content></HashInputData>"+
- vxBean.createSignatureCheck("0")+
- vxBean.createXMLDSIGManifestCheck("0","","1")+
- vxBean.createCertificateCheck("0")+
- "</VerifyXMLSignatureResponse>";
-
- 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()) +
- "<HashInputData><Base64Content>"+
- Base64Utils.encode(stripNLCR(convertManifestToString(mani)).getBytes()) +
- "</Base64Content></HashInputData>"+
- vxBean.createSignatureCheck("0")+
- vxBean.createXMLDSIGManifestCheck("1","1","1")+
- vxBean.createCertificateCheck("0")+
- "</VerifyXMLSignatureResponse>";
-
- 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,"<dsig:Object Id=\"envelopedData\">","<dsig:Object Id=\"envelopedData\">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")+
- "</VerifyXMLSignatureResponse>";
-
-
- 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 <?xml ?> Prologue
- int pos = erg.indexOf("<dsig");
- erg = erg.substring(pos);
-
- // insert the dsig:signature element in a MOA Response Message
- erg = start + erg + end;
-
- return erg;
- }
-
- /**
- * Method createRequestStart.
- * @param testNumber
- * @param useDate
- * @param changeHours
- * @return String
- */
- private String createRequestStart(String testNumber, boolean useDate, int changeHours)
-{
- return createRequestStart(testNumber, useDate,changeHours,"");
-
-}
-
- private String createRequestStart(String testNumber, boolean useDate, int changeHours, String attribut)
- {
- return createRequestStart(testNumber, useDate,changeHours,attribut,"");
- }
- private String createRequestStart(String testNumber, boolean useDate, int changeHours, String attribut,String dtd)
- {String reqStart = null;
- System.out.println("======================================================");
- System.out.println("================== TEST-NUMBER "+ testNumber + " ===================");
- System.out.println("======================================================");
-
- reqStart =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
- + "<!-- Testnumber: "
- + testNumber
- + "-->\n";
-
- if(dtd!=null && !dtd.trim().equals(""))
- reqStart += dtd;
-
- reqStart+= "<VerifyXMLSignatureRequest\n"
- + " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"
- + " xmlns:xml=\"http://www.w3.org/XML/1998/namespace\""
- + " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">\n";
-
- if (useDate) {
- reqStart += " <DateTime>"
- + getDate(changeHours)
- + "</DateTime>\n";
- }
-
- reqStart += " <VerifySignatureInfo>\n"
- + " <VerifySignatureEnvironment "+attribut+">\n"
- + " <XMLContent xml:space=\"preserve\">" ;
- 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<tr.length-1; t++)
- {
- myTransforms[t+1].setInput((InputStream)myTransforms[t].transform(),null);
- }
- ByteArrayInputStream is = (ByteArrayInputStream)myTransforms[tr.length-1].transform();
- byte[] b = new byte[1];
- is.read(b);
- while (is.available() > 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 =
- "</VerifySignatureEnvironment>\n"
- + " <VerifySignatureLocation>#xpointer(/VerifyXMLSignatureRequest/VerifySignatureInfo/VerifySignatureEnvironment/dsig:Signature)</VerifySignatureLocation>\n"
- + " </VerifySignatureInfo>\n";
-*/
- reqEnd ="</XMLContent>"+
- "</VerifySignatureEnvironment>\n"
- + " <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>\n"
- + " </VerifySignatureInfo>\n";
-
-
-
- if (useSupplement)
- {
- reqEnd += " <SupplementProfile>\n" +
- " <Content Reference=\"" + supplementReference.toString() + "\">\n" +
- " <XMLContent xml:space=\"preserve\">"+readFileCR(supplementReference.toString())+"</XMLContent>\n" +
- " </Content>\n" +
- " </SupplementProfile>\n";
- }
-
- if (useReturnHashInputData) {
- reqEnd += " <ReturnHashInputData/>\n";
- }
- reqEnd += " <TrustProfileID>TrustProfile1</TrustProfileID>\n"
- + "</VerifyXMLSignatureRequest>\n";
- return reqEnd;
-
- }
-
- private String createSignatureInfoEnd()
- throws Exception {
-
- return "</XMLContent>"+"</VerifySignatureEnvironment>\n"
- + " <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>\n"
- + " </VerifySignatureInfo>\n";
-
- }
-
- private String createRequestShortEnd(boolean useReturnHashInputData)
- throws Exception {
-
- String reqEnd = "";
-
- if (useReturnHashInputData)
- reqEnd = " <ReturnHashInputData/>\n";
-
- reqEnd += " <TrustProfileID>TrustProfile1</TrustProfileID>\n"
- + "</VerifyXMLSignatureRequest>\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 += " <dsig:X509IssuerSerial>\n";
- res += vxBean.getIssuerDN();
- res += vxBean.getSerialNumber();
- res += " </dsig:X509IssuerSerial>\n"
- + x509cert
- + " </dsig:X509Data>\n"
- + " </SignerInfo>\n";
- res += " <HashInputData>\n" + " ";
- /*res += "<XMLContent xml:space=\"preserve\">"+readFileCR(
- configuration_.getProperty("baseDir")
- + "resources/testSimple.txt")+
- "</XMLContent>";*/
- res += "<Base64Content>"+readBinaryFileAsBase64_new((configuration_.getProperty("baseDir")+ "resources/testSimple.txt"))+"</Base64Content>";
-
- 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 += " <dsig:X509IssuerSerial>\n";
- res += vxBean.getIssuerDN();
- res += vxBean.getSerialNumber();
- res += " </dsig:X509IssuerSerial>\n"
- + x509cert
- + " </dsig:X509Data>\n"
- + " </SignerInfo>\n";
-
- res += replaceString(vxBean.getFooterSignatureCheck(signatureCheckCode, "0"),"</HashInputData>","");
-
- 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 += " <dsig:X509IssuerSerial>\n";
- res += vxBean.getIssuerDN();
- res += vxBean.getSerialNumber();
- res += " </dsig:X509IssuerSerial>\n"
- + x509cert
- + " </dsig:X509Data>\n"
- + " </SignerInfo>\n";
- res += " <SignatureCheck>\n" +
- " <Code>1</Code><Info><FailedReference>1</FailedReference></Info>\n" +
- " </SignatureCheck>\n" +
- " <CertificateCheck>\n" +
- " <Code>0</Code>\n" +
- " </CertificateCheck>\n" +
- "</VerifyXMLSignatureResponse>";;
-
- 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 += " <dsig:X509IssuerSerial>\n";
- res += vxBean.getIssuerDN();
- res += vxBean.getSerialNumber();
- res += " </dsig:X509IssuerSerial>\n"
- + x509cert
- + " </dsig:X509Data>\n"
- + " </SignerInfo>\n";
- res += " <HashInputData>\n" + " ";
- /*res += "<XMLContent xml:space=\"preserve\">"+readFileCR(
- configuration_.getProperty("baseDir")
- + "resources/testSimple.txt")+
- "</XMLContent>";*/
- if(filename.startsWith("text:"))
- res += "<Base64Content>"+Base64Utils.encode(filename.substring(5).getBytes())+"</Base64Content>";
- else
- res += "<Base64Content>"+readBinaryFileAsBase64_new((configuration_.getProperty("baseDir")+ filename))+"</Base64Content>";
-
- 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 += " <dsig:X509IssuerSerial>\n";
- res += iss;
- res += serial;
- res += " </dsig:X509IssuerSerial>\n"
- + x509cert
- + " </dsig:X509Data>\n"
- + " </SignerInfo>\n";
- res += " <HashInputData>\n" + " ";
- /*res += "<XMLContent xml:space=\"preserve\">"+readFileCR(
- configuration_.getProperty("baseDir")
- + "resources/testSimple.txt")+
- "</XMLContent>";*/
- res += "<Base64Content>"+readBinaryFileAsBase64_new((configuration_.getProperty("baseDir")+ "resources/testSimple.txt"))+"</Base64Content>";
-
- 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 += " <dsig:X509IssuerSerial>\n";
- res += vxBean.getIssuerDN();
- res += vxBean.getSerialNumber();
- res += " </dsig:X509IssuerSerial>\n"
- + x509cert
- + " </dsig:X509Data>\n"
- + " </SignerInfo>\n";
- res += " <HashInputData>\n";
- /* " <XMLContent xml:space=\"preserve\">"+
- hashData +
- "</XMLContent>\n";*/
- res += "<Base64Content>"+Base64Utils.encode(hashData.getBytes())+"</Base64Content>";
- 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 += " <dsig:X509IssuerSerial>\n";
- res += vxBean.getIssuerDN();
- res += vxBean.getSerialNumber();
- res += " </dsig:X509IssuerSerial>\n"
- + x509cert
- + " </dsig:X509Data>\n"
- + " </SignerInfo>\n";
- res += " <HashInputData>\n";
- /* " <XMLContent xml:space=\"preserve\">"+
- hashData +
- "</XMLContent>\n";*/
- res += "<Base64Content>"+Base64Utils.encode(hashData.getBytes())+"</Base64Content>";
- res += "</HashInputData><HashInputData>";
- res += "<Base64Content>"+Base64Utils.encode(hashData2.getBytes())+"</Base64Content>";
- 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 += " <dsig:X509IssuerSerial>\n";
- res += vxBean.getIssuerDN();
- res += vxBean.getSerialNumber();
- res += " </dsig:X509IssuerSerial>\n"
- + x509cert
- + " </dsig:X509Data>\n"
- + " </SignerInfo>\n"
- + " <SignatureCheck>\n" +
- " <Code>" + signatureCheckCode + "</Code>\n" +
- " </SignatureCheck>\n";
-
- if(dsig) res+=vxBean.createXMLDSIGManifestCheck("0","","1");
- res+= " <CertificateCheck>\n" +
- " <Code>0</Code>\n" +
- " </CertificateCheck>\n" +
- "</VerifyXMLSignatureResponse>";
-
- 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 += " <dsig:X509IssuerSerial>\n";
- res += vxBean.getIssuerDN();
- res += vxBean.getSerialNumber();
- res += " </dsig:X509IssuerSerial>\n"
- + x509cert
- + " </dsig:X509Data>\n"
- + " </SignerInfo>\n"
- + " <SignatureCheck>\n" +
- " <Code>" + signatureCheckCode + "</Code>\n" +
- " </SignatureCheck>\n" +
- " <CertificateCheck>\n" +
- " <Code>0</Code>\n" +
- " </CertificateCheck>\n" +
- "</VerifyXMLSignatureResponse>";
-
- 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 += " <dsig:X509IssuerSerial>\n";
- res += vxBean.getIssuerDN();
- res += vxBean.getSerialNumber();
- res += " </dsig:X509IssuerSerial>\n";
-
- res +=x509cert;
-
- res += " </dsig:X509Data>\n"
- + " </SignerInfo>\n";
- /*res += " <HashInputData>\n" + " <XMLContent>";
- 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<result.length; t++)
- {
- temp[s] = result[t];
- s++;
- if (temp[s-1]==10)
- {
- if (temp[s-2]==13)
- {
- temp[s-2]=10;
- s--;
- }
- }
- }
- byte[] res = new byte[s];
- result = null;
-
- System.arraycopy(temp,0,res,0,s);
-
-
- response = new String(res);
-
- try {
- response = replaceString(response,"<?xml version=\"1.0\" encoding=\"utf-8\"?>","");
- }
- 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,"<?xml version=\"1.0\"?>","");
- result = replaceStringAll(result,"&apos;","'");
- result = replaceStringAll(result,"#sha1\"/><dsig:","#sha1\"></dsig:DigestMethod><dsig:");
-
- //result = replaceString(result," xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"","");
- return result;
- }
-
- private String stripNLCR(String input)
- {
- String output = replaceStringAll(input,"\n","");
- output = replaceStringAll(output,"\r","");
- return output;
- }
-
- public static String replaceStringAll(
- String input,
- String oldPart,
- String newPart)
- {
-
- String erg = null;
-
- int pos = input.indexOf(oldPart);
- if(pos==-1) return input;
-
- while(true)
- {
-
- //First Part
- pos = input.indexOf(oldPart);
- if(pos==-1) break;
- erg = input.substring(0, pos);
-
- //Insert new Part
- erg += newPart;
-
- //insert REST
- erg
- += input.substring(
- input.indexOf(oldPart) + oldPart.length(),
- input.length());
-
- input = erg;
- }
- return erg;
- }
-
-
-}
-
diff --git a/spss.test/src/testgenerator/TestGeneratorVX2.java b/spss.test/src/testgenerator/TestGeneratorVX2.java
deleted file mode 100644
index 96612da9e..000000000
--- a/spss.test/src/testgenerator/TestGeneratorVX2.java
+++ /dev/null
@@ -1,1600 +0,0 @@
-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("<dsig:Manifest");
- int pos_2 = request.indexOf("</dsig:Manifest>");
-
- String manifest = request.substring(pos_1,pos_2+"</dsig:Manifest>".length());
- manifest = replaceString(manifest,"<dsig:Manifest Id=\"Manifest\"","<dsig:Manifest Id=\"Manifest\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
-
- pos_1 = request.indexOf("<etsi:SignedProperties");
- pos_2 = request.indexOf("</etsi:SignedProperties>");
-
- String etsi = request.substring(pos_1,pos_2+"</etsi:SignedProperties>".length());
- //etsi = replaceStringAll(etsi,"etsi:","ns1:");
- etsi = replaceString(etsi,"<etsi:SignedProperties","<etsi:SignedProperties xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\"");
- etsi = replaceString(etsi,"<dsig:X509IssuerName","<dsig:X509IssuerName xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
- etsi = replaceString(etsi,"<dsig:X509SerialNumber","<dsig:X509SerialNumber xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
-
- String response = createResponsePart(cpkcs.getX509CertString()) +
- "<ReferenceInputData><Base64Content>"+
- readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
- "</Base64Content></ReferenceInputData>"+
- "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+manifest+"</XMLContent></ReferenceInputData>"+
- "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+etsi+"</XMLContent></ReferenceInputData>"+
- vxBean.createSignatureCheck("0")+
- vxBean.createSignatureManifestCheck("0")+
- vxBean.createCertificateCheck("0")+
- "</VerifyXMLSignatureResponse>";
-
- 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("<dsig:Manifest");
- int pos_2 = request.indexOf("</dsig:Manifest>");
-
- String manifest = request.substring(pos_1,pos_2+"</dsig:Manifest>".length());
- manifest = replaceString(manifest,"<dsig:Manifest Id=\"Manifest\"","<dsig:Manifest Id=\"Manifest\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
-
- pos_1 = request.indexOf("<etsi:SignedProperties");
- pos_2 = request.indexOf("</etsi:SignedProperties>");
-
- String etsi = request.substring(pos_1,pos_2+"</etsi:SignedProperties>".length());
- //etsi = replaceStringAll(etsi,"etsi:","ns1:");
- etsi = replaceString(etsi,"<etsi:SignedProperties","<etsi:SignedProperties xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\"");
- etsi = replaceString(etsi,"<dsig:X509IssuerName","<dsig:X509IssuerName xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
- etsi = replaceString(etsi,"<dsig:X509SerialNumber","<dsig:X509SerialNumber xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
-
- String response = createResponsePart(cpkcs.getX509CertString()) +
- "<ReferenceInputData><Base64Content>"+
- readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
- "</Base64Content></ReferenceInputData>"+
- "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+manifest+"</XMLContent></ReferenceInputData>"+
- "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+etsi+"</XMLContent></ReferenceInputData>"+
- vxBean.createSignatureCheck("0")+
- vxBean.createSignatureManifestCheck("0")+
- vxBean.createCertificateCheck("0")+
- "</VerifyXMLSignatureResponse>";
-
- 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")+
- "</VerifyXMLSignatureResponse>";
-
- 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("<dsig:Manifest");
- int pos_2 = request.indexOf("</dsig:Manifest>");
-
- String manifest = request.substring(pos_1,pos_2+"</dsig:Manifest>".length());
- manifest = replaceString(manifest,"<dsig:Manifest Id=\"Manifest\"","<dsig:Manifest Id=\"Manifest\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
-
- pos_1 = request.indexOf("<etsi:SignedProperties");
- pos_2 = request.indexOf("</etsi:SignedProperties>");
-
- String etsi = request.substring(pos_1,pos_2+"</etsi:SignedProperties>".length());
- //etsi = replaceStringAll(etsi,"etsi:","ns1:");
- etsi = replaceString(etsi,"<etsi:SignedProperties","<etsi:SignedProperties xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\"");
- etsi = replaceString(etsi,"<dsig:X509IssuerName","<dsig:X509IssuerName xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
- etsi = replaceString(etsi,"<dsig:X509SerialNumber","<dsig:X509SerialNumber xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
-
- String response = createResponsePart(cpkcs.getX509CertString()) +
- "<ReferenceInputData><Base64Content>"+
- readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
- "</Base64Content></ReferenceInputData>"+
- "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+manifest+"</XMLContent></ReferenceInputData>"+
- "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+etsi+"</XMLContent></ReferenceInputData>"+
- vxBean.createSignatureCheck("0")+
- vxBean.createSignatureManifestCheck("0")+
- vxBean.createCertificateCheck("0")+
- "</VerifyXMLSignatureResponse>";
-
- 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("<dsig:Manifest");
- int pos_2 = request.indexOf("</dsig:Manifest>");
-
- String manifest = request.substring(pos_1,pos_2+"</dsig:Manifest>".length());
- manifest = replaceString(manifest,"<dsig:Manifest Id=\"Manifest\"","<dsig:Manifest Id=\"Manifest\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
-
- pos_1 = request.indexOf("<etsi:SignedProperties");
- pos_2 = request.indexOf("</etsi:SignedProperties>");
-
- String etsi = request.substring(pos_1,pos_2+"</etsi:SignedProperties>".length());
- //etsi = replaceStringAll(etsi,"etsi:","ns1:");
- etsi = replaceString(etsi,"<etsi:SignedProperties","<etsi:SignedProperties xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\"");
- etsi = replaceString(etsi,"<dsig:X509IssuerName","<dsig:X509IssuerName xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
- etsi = replaceString(etsi,"<dsig:X509SerialNumber","<dsig:X509SerialNumber xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
-
- String response = createResponsePart(cpkcs.getX509CertString()) +
- "<ReferenceInputData><Base64Content>"+
- readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
- "</Base64Content></ReferenceInputData>"+
- "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+manifest+"</XMLContent></ReferenceInputData>"+
- "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+etsi+"</XMLContent></ReferenceInputData>"+
- vxBean.createSignatureCheck("0")+
- vxBean.createSignatureManifestCheck("0")+
- vxBean.createCertificateCheck("0")+
- "</VerifyXMLSignatureResponse>";
-
- 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("<dsig:Manifest");
- int pos_2 = request.indexOf("</dsig:Manifest>");
-
- String manifest = request.substring(pos_1,pos_2+"</dsig:Manifest>".length());
- manifest = replaceString(manifest,"<dsig:Manifest Id=\"Manifest\"","<dsig:Manifest Id=\"Manifest\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
-
- pos_1 = request.indexOf("<etsi:SignedProperties");
- pos_2 = request.indexOf("</etsi:SignedProperties>");
-
- String etsi = request.substring(pos_1,pos_2+"</etsi:SignedProperties>".length());
- //etsi = replaceStringAll(etsi,"etsi:","ns1:");
- etsi = replaceString(etsi,"<etsi:SignedProperties","<etsi:SignedProperties xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\"");
- etsi = replaceString(etsi,"<dsig:X509IssuerName","<dsig:X509IssuerName xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
- etsi = replaceString(etsi,"<dsig:X509SerialNumber","<dsig:X509SerialNumber xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
-
- String response = createResponsePart(cpkcs.getX509CertString()) +
- "<ReferenceInputData><Base64Content>"+
- readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
- "</Base64Content></ReferenceInputData>"+
- "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+manifest+"</XMLContent></ReferenceInputData>"+
- "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+etsi+"</XMLContent></ReferenceInputData>"+
- vxBean.createSignatureCheck("0")+
- vxBean.createSignatureManifestCheck("0")+
- vxBean.createCertificateCheck("0")+
- "</VerifyXMLSignatureResponse>";
-
- 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("<dsig:Manifest");
- int pos_2 = request.indexOf("</dsig:Manifest>");
-
- String manifest = request.substring(pos_1,pos_2+"</dsig:Manifest>".length());
- manifest = replaceString(manifest,"<dsig:Manifest Id=\"Manifest\"","<dsig:Manifest Id=\"Manifest\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");*/
-
- int pos_1 = request.indexOf("<etsi:SignedProperties");
- int pos_2 = request.indexOf("</etsi:SignedProperties>");
-
- String etsi = request.substring(pos_1,pos_2+"</etsi:SignedProperties>".length());
- //etsi = replaceStringAll(etsi,"etsi:","ns1:");
- etsi = replaceString(etsi,"<etsi:SignedProperties","<etsi:SignedProperties xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\"");
- etsi = replaceString(etsi,"<dsig:X509IssuerName","<dsig:X509IssuerName xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
- etsi = replaceString(etsi,"<dsig:X509SerialNumber","<dsig:X509SerialNumber xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
-
- String response = createResponsePart(cpkcs.getX509CertString()) +
- "<ReferenceInputData><Base64Content>"+
- readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
- "</Base64Content></ReferenceInputData>"+
- "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+etsi+"</XMLContent></ReferenceInputData>"+
- vxBean.createSignatureCheck("0")+
- vxBean.createSignatureManifestCheck("2")+
- vxBean.createCertificateCheck("0")+
- "</VerifyXMLSignatureResponse>";
-
- 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("<dsig:Manifest");
- int pos_2 = request.indexOf("</dsig:Manifest>");
-
- String manifest = request.substring(pos_1,pos_2+"</dsig:Manifest>".length());
- manifest = replaceString(manifest,"<dsig:Manifest Id=\"Manifest\"","<dsig:Manifest Id=\"Manifest\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
-
- pos_1 = request.indexOf("<etsi:SignedProperties");
- pos_2 = request.indexOf("</etsi:SignedProperties>");
-
- String etsi = request.substring(pos_1,pos_2+"</etsi:SignedProperties>".length());
- //etsi = replaceStringAll(etsi,"etsi:","ns1:");
- etsi = replaceString(etsi,"<etsi:SignedProperties","<etsi:SignedProperties xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\"");
- etsi = replaceString(etsi,"<dsig:X509IssuerName","<dsig:X509IssuerName xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
- etsi = replaceString(etsi,"<dsig:X509SerialNumber","<dsig:X509SerialNumber xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
-
- String response = createResponsePart(cpkcs.getX509CertString()) +
- "<ReferenceInputData><Base64Content>"+
- readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
- "</Base64Content></ReferenceInputData>"+
- "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+manifest+"</XMLContent></ReferenceInputData>"+
- "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+etsi+"</XMLContent></ReferenceInputData>"+
- vxBean.createSignatureCheck("0")+
- vxBean.createSignatureManifestCheck("0")+
- vxBean.createCertificateCheck("0")+
- "</VerifyXMLSignatureResponse>";
-
- 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("<dsig:Manifest");
- int pos_2 = request.indexOf("</dsig:Manifest>");
-
- String manifest = request.substring(pos_1,pos_2+"</dsig:Manifest>".length());
- manifest = replaceString(manifest,"<dsig:Manifest Id=\"Manifest\"","<dsig:Manifest Id=\"Manifest\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
-
- pos_1 = request.indexOf("<etsi:SignedProperties");
- pos_2 = request.indexOf("</etsi:SignedProperties>");
-
- String etsi = request.substring(pos_1,pos_2+"</etsi:SignedProperties>".length());
- //etsi = replaceStringAll(etsi,"etsi:","ns1:");
- etsi = replaceString(etsi,"<etsi:SignedProperties","<etsi:SignedProperties xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\"");
- etsi = replaceString(etsi,"<dsig:X509IssuerName","<dsig:X509IssuerName xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
- etsi = replaceString(etsi,"<dsig:X509SerialNumber","<dsig:X509SerialNumber xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
-
- String response = createResponsePart(cpkcs.getX509CertString()) +
- "<ReferenceInputData><Base64Content>"+
- readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
- "</Base64Content></ReferenceInputData>"+
- "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+manifest+"</XMLContent></ReferenceInputData>"+
- "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+etsi+"</XMLContent></ReferenceInputData>"+
- vxBean.createSignatureCheck("0")+
- vxBean.createSignatureManifestCheck("0")+
- vxBean.createCertificateCheck("0")+
- "</VerifyXMLSignatureResponse>";
-
- 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(),"</SignatureManifestCheckParams>","") +
- replaceString(smcp2.returnDoc(),"<SignatureManifestCheckParams>","");
-
- 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("<dsig:Manifest");
- int pos_2 = request.indexOf("</dsig:Manifest>");
-
- String manifest = request.substring(pos_1,pos_2+"</dsig:Manifest>".length());
- manifest = replaceString(manifest,"<dsig:Manifest Id=\"Manifest\"","<dsig:Manifest Id=\"Manifest\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
-
- pos_1 = request.indexOf("<etsi:SignedProperties");
- pos_2 = request.indexOf("</etsi:SignedProperties>");
-
- String etsi = request.substring(pos_1,pos_2+"</etsi:SignedProperties>".length());
- //etsi = replaceStringAll(etsi,"etsi:","ns1:");
- etsi = replaceString(etsi,"<etsi:SignedProperties","<etsi:SignedProperties xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\"");
- etsi = replaceString(etsi,"<dsig:X509IssuerName","<dsig:X509IssuerName xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
- etsi = replaceString(etsi,"<dsig:X509SerialNumber","<dsig:X509SerialNumber xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
-
- String response = createResponsePart(cpkcs.getX509CertString()) +
- "<ReferenceInputData><Base64Content>"+
- readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
- "</Base64Content></ReferenceInputData>"+
- "<ReferenceInputData><Base64Content>"+
- readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
- "</Base64Content></ReferenceInputData>"+
- "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+manifest+"</XMLContent></ReferenceInputData>"+
- "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+etsi+"</XMLContent></ReferenceInputData>"+
- vxBean.createSignatureCheck("0")+
- vxBean.createSignatureManifestCheck("0")+
- vxBean.createCertificateCheck("0")+
- "</VerifyXMLSignatureResponse>";
-
- 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("<dsig:Manifest");
- int pos_2 = request.indexOf("</dsig:Manifest>");
-
- String manifest = request.substring(pos_1,pos_2+"</dsig:Manifest>".length());
- manifest = replaceString(manifest,"<dsig:Manifest Id=\"Manifest\"","<dsig:Manifest Id=\"Manifest\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
-
- /*pos_1 = request.indexOf("<etsi:SignedProperties");
- pos_2 = request.indexOf("</etsi:SignedProperties>");
-
- String etsi = request.substring(pos_1,pos_2+"</etsi:SignedProperties>".length());
- //etsi = replaceStringAll(etsi,"etsi:","ns1:");
- etsi = replaceString(etsi,"<etsi:SignedProperties","<etsi:SignedProperties xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\"");
- etsi = replaceString(etsi,"<dsig:X509IssuerName","<dsig:X509IssuerName xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
- etsi = replaceString(etsi,"<dsig:X509SerialNumber","<dsig:X509SerialNumber xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");*/
-
- pos_1 = request.indexOf("<dsig:Object Id=\"ETSIProperties\">");
- pos_2 = request.substring(pos_1).indexOf("</dsig:Object>");
-
- String etsi = request.substring(pos_1,pos_1+pos_2+"</dsig:Object>".length());
- etsi = replaceString(etsi,"<dsig:Object Id=\"ETSIProperties\">","<dsig:Object Id=\"ETSIProperties\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">");
-
-
- String response = createResponsePart(cpkcs.getX509CertString()) +
- "<ReferenceInputData><Base64Content>"+
- readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
- "</Base64Content></ReferenceInputData>"+
- "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+manifest+"</XMLContent></ReferenceInputData>"+
- "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+etsi+"</XMLContent></ReferenceInputData>"+
- vxBean.createSignatureCheck("0")+
- vxBean.createSignatureManifestCheck("1","<Info><FailedReference>1</FailedReference></Info>")+
- vxBean.createCertificateCheck("0")+
- "</VerifyXMLSignatureResponse>";
-
- 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("<dsig:Manifest");
- int pos_2 = request.indexOf("</dsig:Manifest>");
-
- String manifest = request.substring(pos_1,pos_2+"</dsig:Manifest>".length());
- manifest = replaceString(manifest,"<dsig:Manifest Id=\"Manifest\"","<dsig:Manifest Id=\"Manifest\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
-
- pos_1 = request.indexOf("<dsig:Object Id=\"ETSIProperties\">");
- pos_2 = request.substring(pos_1).indexOf("</dsig:Object>");
-
- String etsi = request.substring(pos_1,pos_1+pos_2+"</dsig:Object>".length());
- etsi = replaceString(etsi,"<dsig:Object Id=\"ETSIProperties\">","<dsig:Object Id=\"ETSIProperties\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">");
-
- String response = createResponsePart(cpkcs.getX509CertString()) +
- "<ReferenceInputData><Base64Content>"+
- readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
- "</Base64Content></ReferenceInputData>"+
- "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+manifest+"</XMLContent></ReferenceInputData>"+
- "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+etsi+"</XMLContent></ReferenceInputData>"+
- vxBean.createSignatureCheck("0")+
- vxBean.createSignatureManifestCheck("1","<Info><FailedReference>1</FailedReference></Info>")+
- vxBean.createCertificateCheck("0")+
- "</VerifyXMLSignatureResponse>";
-
- 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(),"</SignatureManifestCheckParams>","") +
- replaceString(smcp2.returnDoc(),"<SignatureManifestCheckParams>","");
-
- 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("<dsig:Manifest");
- int pos_2 = request.indexOf("</dsig:Manifest>");
-
- String manifest = request.substring(pos_1,pos_2+"</dsig:Manifest>".length());
- manifest = replaceString(manifest,"<dsig:Manifest Id=\"Manifest\"","<dsig:Manifest Id=\"Manifest\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
-
- pos_1 = request.indexOf("<etsi:SignedProperties");
- pos_2 = request.indexOf("</etsi:SignedProperties>");
-
- String etsi = request.substring(pos_1,pos_2+"</etsi:SignedProperties>".length());
- //etsi = replaceStringAll(etsi,"etsi:","ns1:");
- etsi = replaceString(etsi,"<etsi:SignedProperties","<etsi:SignedProperties xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\"");
- etsi = replaceString(etsi,"<dsig:X509IssuerName","<dsig:X509IssuerName xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
- etsi = replaceString(etsi,"<dsig:X509SerialNumber","<dsig:X509SerialNumber xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
-
- String response = createResponsePart(cpkcs.getX509CertString()) +
- "<ReferenceInputData><Base64Content>"+
- readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
- "</Base64Content></ReferenceInputData>"+
- "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+manifest+"</XMLContent></ReferenceInputData>"+
- "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+etsi+"</XMLContent></ReferenceInputData>"+
- vxBean.createSignatureCheck("0")+
- vxBean.createSignatureManifestCheck("1")+
- vxBean.createCertificateCheck("0")+
- "</VerifyXMLSignatureResponse>";
-
- 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("<dsig:Manifest");
- int pos_2 = request.indexOf("</dsig:Manifest>");
-
- String manifest = request.substring(pos_1,pos_2+"</dsig:Manifest>".length());
- manifest = replaceString(manifest,"<dsig:Manifest Id=\"Manifest\"","<dsig:Manifest Id=\"Manifest\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
-
- pos_1 = request.indexOf("<etsi:SignedProperties");
- pos_2 = request.indexOf("</etsi:SignedProperties>");
-
- String etsi = request.substring(pos_1,pos_2+"</etsi:SignedProperties>".length());
- //etsi = replaceStringAll(etsi,"etsi:","ns1:");
- etsi = replaceString(etsi,"<etsi:SignedProperties","<etsi:SignedProperties xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\"");
- etsi = replaceString(etsi,"<dsig:X509IssuerName","<dsig:X509IssuerName xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
- etsi = replaceString(etsi,"<dsig:X509SerialNumber","<dsig:X509SerialNumber xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
-
- String response = createResponsePart(cpkcs.getX509CertString()) +
- "<ReferenceInputData><Base64Content>"+
- readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
- "</Base64Content></ReferenceInputData>"+
- "<ReferenceInputData><Base64Content>"+
- readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
- "</Base64Content></ReferenceInputData>"+
- "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+manifest+"</XMLContent></ReferenceInputData>"+
- "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+etsi+"</XMLContent></ReferenceInputData>"+
- vxBean.createSignatureCheck("0")+
- vxBean.createSignatureManifestCheck("1")+
- vxBean.createCertificateCheck("0")+
- "</VerifyXMLSignatureResponse>";
-
- 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,"<Hash><dsig:DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\"/><dsig:DigestValue>",
- "<Hash><dsig:DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\"/><dsig:DigestValue>abcd");
-
- writeFile(vxReqFile(testNumber),request);
- //writeFile(vxResErrFile(testNumber),"2205");
-
- int pos_1 = request.indexOf("<dsig:Manifest");
- int pos_2 = request.indexOf("</dsig:Manifest>");
-
- String manifest = request.substring(pos_1,pos_2+"</dsig:Manifest>".length());
- manifest = replaceString(manifest,"<dsig:Manifest Id=\"Manifest\"","<dsig:Manifest Id=\"Manifest\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\"");
-
- pos_1 = request.indexOf("<dsig:Object Id=\"ETSIProperties\">");
- pos_2 = request.substring(pos_1).indexOf("</dsig:Object>");
-
- String etsi = request.substring(pos_1,pos_1+pos_2+"</dsig:Object>".length());
- etsi = replaceString(etsi,"<dsig:Object Id=\"ETSIProperties\">","<dsig:Object Id=\"ETSIProperties\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">");
-
- String response = createResponsePart(cpkcs.getX509CertString()) +
- "<ReferenceInputData><Base64Content>"+
- readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/BookData.xml")+
- "</Base64Content></ReferenceInputData>"+
- "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+manifest+"</XMLContent></ReferenceInputData>"+
- "<ReferenceInputData><XMLContent xml:space=\"preserve\">"+etsi+"</XMLContent></ReferenceInputData>"+
- vxBean.createSignatureCheck("0")+
- vxBean.createSignatureManifestCheck("1","<Info><FailedReference>1</FailedReference></Info>")+
- vxBean.createCertificateCheck("0")+
- "</VerifyXMLSignatureResponse>";
-
- 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 <?xml ?> Prologue
- int pos = erg.indexOf("<dsig");
- erg = erg.substring(pos);
-
- // insert the dsig:signature element in a MOA Response Message
- erg = start + erg + end;
-
- return erg;
- }
-
- /**
- * Method createRequestStart.
- * @param testNumber
- * @param useDate
- * @param changeHours
- * @return String
- */
- private String createRequestStart(String testNumber, boolean useDate, int changeHours)
- {String reqStart = null;
- System.out.println("======================================================");
- System.out.println("================== TEST-NUMBER "+ testNumber + " ===================");
- System.out.println("======================================================");
-
- reqStart =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
- + "<!-- Testnumber: "
- + testNumber
- + "-->\n"
- + "<VerifyXMLSignatureRequest\n"
- + " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"
- + " xmlns:xml=\"http://www.w3.org/XML/1998/namespace\""
- + " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">\n";
-
- if (useDate) {
- reqStart += " <DateTime>"
- + getDate(changeHours)
- + "</DateTime>\n";
- }
-
- reqStart += " <VerifySignatureInfo>\n"
- + " <VerifySignatureEnvironment>\n"
- + " <XMLContent xml:space=\"preserve\">" ;
- 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<tr.length-1; t++)
- {
- myTransforms[t+1].setInput((InputStream)myTransforms[t].transform(),null);
- }
-
- ByteArrayInputStream is = (ByteArrayInputStream)myTransforms[tr.length-1].transform();
-
-
- byte[] b = new byte[1];
- is.read(b);
- while (is.available() > 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 =
- "</VerifySignatureEnvironment>\n"
- + " <VerifySignatureLocation>#xpointer(/VerifyXMLSignatureRequest/VerifySignatureInfo/VerifySignatureEnvironment/dsig:Signature)</VerifySignatureLocation>\n"
- + " </VerifySignatureInfo>\n";
-*/
- reqEnd ="</XMLContent>"+
- "</VerifySignatureEnvironment>\n"
- + " <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>\n"
- + " </VerifySignatureInfo>\n";
-
-
-
- if (useSupplement)
- {
- reqEnd += " <Supplement>\n" +
- " <Content Reference=\"file:/" + supplementReference.toString() + "\">\n" +
- " <XMLContent>"+readFile(supplementReference.toString())+"</XMLContent>\n" +
- " </Content>\n" +
- " </Supplement>\n";
- }
-
- if (useReturnHashInputData) {
- reqEnd += " <ReturnHashInputData/>\n";
- }
- reqEnd += " <TrustProfileID>TrustProfile1</TrustProfileID>\n"
- + "</VerifyXMLSignatureRequest>\n";
- return reqEnd;
-
- }
-
- private String createSignatureInfoEnd()
- throws Exception {
-
- return "</XMLContent>"+"</VerifySignatureEnvironment>\n"
- + " <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>\n"
- + " </VerifySignatureInfo>\n";
-
- }
-
- private String createRequestShortEnd(boolean useReturnHashInputData)
- throws Exception {
-
- String reqEnd = "";
-
- if (useReturnHashInputData)
- reqEnd = " <ReturnHashInputData/>\n";
-
- reqEnd += " <TrustProfileID>TrustProfile1</TrustProfileID>\n"
- + "</VerifyXMLSignatureRequest>\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 += " <dsig:X509IssuerSerial>\n";
- res += vxBean.getIssuerDN();
- res += vxBean.getSerialNumber();
- res += " </dsig:X509IssuerSerial>\n"
- + " </dsig:X509Data>\n"
- + " </SignerInfo>\n";
- res += " <HashInputData>\n" + " <XMLContent xml:space=\"preserve\">";
- res += readFile(
- configuration_.getProperty("webbaseDir")
- + "resources/testDaten.txt")+
- "</XMLContent>";
-
- 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 += " <dsig:X509IssuerSerial>\n";
- res += vxBean.getIssuerDN();
- res += vxBean.getSerialNumber();
- res += " </dsig:X509IssuerSerial>\n"
- + " </dsig:X509Data>\n"
- + " </SignerInfo>\n";
- res += " <HashInputData>\n" +
- " <XMLContent xml:space=\"preserve\">"+
- hashData +
- "</XMLContent>\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 += " <dsig:X509IssuerSerial>\n";
- res += vxBean.getIssuerDN();
- res += vxBean.getSerialNumber();
- res += " </dsig:X509IssuerSerial>\n"
- + " </dsig:X509Data>\n"
- + " </SignerInfo>\n"
- + " <SignatureCheck>\n" +
- " <Code>" + signatureCheckCode + "</Code>\n" +
- " </SignatureCheck>\n" +
- " <CertificateCheck>\n" +
- " <Code>0</Code>\n" +
- " </CertificateCheck>\n" +
- "</VerifyXMLSignatureResponse>";
-
- 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 += " <dsig:X509IssuerSerial>\n";
- res += vxBean.getIssuerDN();
- res += vxBean.getSerialNumber();
- res += " </dsig:X509IssuerSerial>\n"
- + " </dsig:X509Data>\n"
- + " </SignerInfo>\n";
- res += " <HashInputData>\n" + " <XMLContent>";
- 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 += " <dsig:X509IssuerSerial>\n";
- res += vxBean.getIssuerDN();
- res += vxBean.getSerialNumber();
- res += " </dsig:X509IssuerSerial>\n"
- + x509cert
- + " </dsig:X509Data>\n"
- + " </SignerInfo>\n";
- /*res += " <HashInputData>\n" + " <XMLContent>";
- 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<result.length; t++)
- {
- temp[s] = result[t];
- s++;
- if (temp[s-1]==10)
- {
- if (temp[s-2]==13)
- {
- temp[s-2]=10;
- s--;
- }
- }
- }
- byte[] res = new byte[s];
- result = null;
-
- System.arraycopy(temp,0,res,0,s);
-
-
- response = new String(res);
-
- try {
- response = replaceString(response,"<?xml version=\"1.0\" encoding=\"utf-8\"?>","");
- }
- catch (Exception e) {}
-
- return response;
- }
-
-private InputStream getHttpInputStream(String url) throws Exception
- {
-
- return ((HttpURLConnection)new URL(url).openConnection()).getInputStream();
- }
-
-
-
-}
diff --git a/spss.test/src/testgenerator/TestGeneratorVXErrors.java b/spss.test/src/testgenerator/TestGeneratorVXErrors.java
deleted file mode 100644
index 3c9db0dad..000000000
--- a/spss.test/src/testgenerator/TestGeneratorVXErrors.java
+++ /dev/null
@@ -1,1775 +0,0 @@
-package testgenerator;
-import iaik.ixsil.algorithms.DigestAlgorithmImplSHA1;
-import iaik.ixsil.algorithms.Transform;
-import iaik.ixsil.algorithms.TransformImplBase64Decode;
-import iaik.ixsil.algorithms.TransformImplXSLT;
-import iaik.ixsil.util.URI;
-import iaik.utils.Base64OutputStream;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-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;
-
-/**
- * @author stephan
- */
-public class TestGeneratorVXErrors 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 {
-
- etsiURI = new URI("http://uri.etsi.org/01903/v1.1.1#SignedProperties");
-
- vxBean = new VXResponseBean();
-
- TestGeneratorVXErrors testcase = new TestGeneratorVXErrors();
- testcase.createVXConfig();
-
-
- //testcase.create051();
- testcase.create052();
- testcase.create053();
- testcase.create054();
- testcase.create055();
-
- testcase.create151();
- //testcase.create152();
- testcase.create153();
- testcase.create154();
-//N.A.: testcase.create155();
-
- testcase.create251();
- //testcase.create252();
- //testcase.create252_2();
- testcase.create253();
- //testcase.create254();
- //testcase.create255();
- //testcase.create256();
-
- testcase.create351();
- testcase.create352();
- //testcase.create353();
- testcase.create354();
- //testcase.create355();
- testcase.create356();
- testcase.create357();
- //testcase.create358();
- testcase.create359();
- testcase.create360();
- testcase.create360_2();
- //testcase.create361();
- testcase.create362();
- testcase.create363();
- testcase.create364();
- testcase.create365();
- testcase.create366();
- testcase.create367();
- //testcase.create368();
- testcase.create369();
- testcase.create370();
-
-
- }
-
- /* ==================================================================================================== */
-
- public TestGeneratorVXErrors() 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 create051() throws Exception {
- String testNumber = "051";
- //Create a Request with number 051, Time in the future (+24 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/testDaten.txt");
- cpkcs.setKeyInformation();
-
- String request =
- makeOutputFile(
- createRequestStart(testNumber,true,24),
- cpkcs.returnSig(),
- createRequestEnd(true,false,null));
-
- writeFile(vxReqFile(testNumber),request);
- writeFile(vxResErrFile(testNumber),"0000");
-
- }
- /**
- * Method create052.
- * @throws Exception
- */
- public void create052() throws Exception {
- String testNumber = "052";
- //Create a Request with number 052, with current Time (+0 hours)
- // and with the Date and ReturnHashInputDate Elements present
-
- // BUT there is in invalid Element to crash validation against XMLDsig
- // </dsig:SignedInfo> is replaces by </dsig:NoValidDSigSignedInfo>
-
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init();
- cpkcs.setCanoncialization(canAlgCanXML);
- //cpkcs.createReference(true,"Dies sind testdaten");
-
- cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
- cpkcs.setKeyInformation();
-
- String request =
- makeOutputFile(
- createRequestStart(testNumber,true,0),
- cpkcs.returnSig(),
- createRequestEnd(true,false,null));
-
- request =
- replaceString(
- request,
- "<dsig:SignedInfo>",
- "<dsig:NoValidDSigSignedInfo>");
- request =
- replaceString(
- request,
- "</dsig:SignedInfo>",
- "</dsig:NoValidDSigSignedInfo>");
-
- writeFile(vxReqFile(testNumber), request);
- writeFile(vxResErrFile(testNumber),"1100");
- }
-
- /**
- * Method create053.
- * @throws Exception
- */
- public void create053() throws Exception {
- String testNumber = "053";
- //Create a Request with number 053, with current Time (+0 hours)
- // and with the Date and ReturnHashInputDate Elements present
-
- // BUT with an invalid XPath expression
-
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init();
- cpkcs.setCanoncialization(canAlgCanXML);
- //cpkcs.createReference(true,"Dies sind testdaten");
-
- cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
- cpkcs.setKeyInformation();
-
- String request =
- makeOutputFile(
- createRequestStart(testNumber,true,0),
- cpkcs.returnSig(),
- createRequestEnd(true,false,null));
-
- request =
- replaceString(
- request,
- "<VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>",
- "<VerifySignatureLocation>//invalid XPath Expression</VerifySignatureLocation>");
-
- writeFile(vxReqFile(testNumber), request);
- writeFile(vxResErrFile(testNumber),"2212");
- }
- /**
- * Method create054.
- * @throws Exception
- */
- public void create054() throws Exception {
- String testNumber = "054";
-
- //Create a Request with number 053, with current Time (+0 hours)
- // and with the Date and ReturnHashInputDate Elements present
-
- // BUT with an valid XPath expression not referencing a valid element
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init();
- cpkcs.setCanoncialization(canAlgCanXML);
- //cpkcs.createReference(true,"Dies sind testdaten");
-
- cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
- cpkcs.setKeyInformation();
-
- String request =
- makeOutputFile(
- createRequestStart(testNumber,true,0),
- cpkcs.returnSig(),
- createRequestEnd(true,false,null));
-
- request =
- replaceString(request, "//dsig:Signature", "//dsig:NoValidElement");
- writeFile(vxReqFile(testNumber), request);
- writeFile(vxResErrFile(testNumber),"2212");
- }
- public void create055() throws Exception {
-
- String testNumber = "055";
-
- //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/testDaten.txt");
- cpkcs.setKeyInformation();
-
- String request =
- makeOutputFile(
- createRequestStart(testNumber,true,0),
- cpkcs.returnSig(),
- createRequestEnd(true,false,null));
-
- request =
- replaceString(request,
- "TrustProfile1", "InvalidProfile");
-
- writeFile(vxReqFile(testNumber),request);
- writeFile(vxResErrFile(testNumber),"2203");
-
-
- // writeFile(vxResFile(testNumber), createResponse(testNumber,"0"));
- }
- public void create151() throws Exception {
-
- String testNumber = "151";
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init();
- cpkcs.setCanoncialization(canAlgCanXML);
- //cpkcs.createReference(true,"Dies sind testdaten");
- cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
- cpkcs.setKeyInformation();
-
-
- String requestEnd = createSignatureInfoEnd()+
- createRequestShortEnd(false);
-
- String request =
- makeOutputFile(
- createRequestStart(testNumber + " an URI referenced in dsig:Signature does not resolve and no SupplementProfile is available",true,0),
- cpkcs.returnSig(),
- requestEnd);
-
- request = replaceString(request, configuration_.getProperty("webbaseDir")+"resources/testDaten.txt","http://no.uritoresolve.com" );
-
- writeFile(vxReqFile(testNumber),request);
- writeFile(vxResErrFile(testNumber),"2264");
-
- }
- public void create152() throws Exception {
-
- String testNumber = "152";
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init();
- cpkcs.setCanoncialization(canAlgCanXML);
- //cpkcs.createReference(true,"Dies sind testdaten");
- cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
- cpkcs.setKeyInformation();
-
- Supplement supp = new Supplement();
- supp.addMetaInfo("text/plain","http://www.buergerkarte.at");
- supp.addBase64Content(configuration_.getProperty("webbaseDir")+"resources/testDaten.txt",
- readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/testDaten.txt"));
- supp.closeSupplement();
- //supp.addProfileID("Some ID");
-
- String requestEnd = createSignatureInfoEnd()+
- supp.getSupplement() + createRequestShortEnd(false);
-
- String request =
- makeOutputFile(
- createRequestStart(testNumber + "- MimeType",true,0),
- cpkcs.returnSig(),
- requestEnd);
-
- request = replaceString(request, "text/plain","no valid MIME-Type" );
-
- writeFile(vxReqFile(testNumber),request);
- writeFile(vxResErrFile(testNumber),"1100");
- }
-
- public void create153() throws Exception {
-
- String testNumber = "153";
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init();
- cpkcs.setCanoncialization(canAlgCanXML);
- //cpkcs.createReference(true,"Dies sind testdaten");
- cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
- cpkcs.setKeyInformation();
-
- String requestEnd =
- createSignatureInfoEnd()+
- "<SupplementProfileID>NO VALID SUPPLEMENT PROFILE ID</SupplementProfileID>" +
- createRequestShortEnd(false);
-
- String request =
- makeOutputFile(
- createRequestStart(testNumber + " - invalid SupplementProfileID",true,0),
- cpkcs.returnSig(),
- requestEnd);
-
- writeFile(vxReqFile(testNumber),request);
- writeFile(vxResErrFile(testNumber),"2267");
- }
-
- public void create154() throws Exception {
-
- String testNumber = "154";
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init();
- cpkcs.setCanoncialization(canAlgCanXML);
- //cpkcs.createReference(true,"Dies sind testdaten");
- cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
- cpkcs.setKeyInformation();
-
- Supplement supp = new Supplement();
- supp.addMetaInfo("text/plain","http://www.buergerkarte.at");
- supp.addBase64Content(configuration_.getProperty("webbaseDir")+"resources/testDaten.txt",
- readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/testDaten.txt"));
- supp.closeSupplement();
- //supp.addProfileID("Some ID");
-
- String requestEnd = createSignatureInfoEnd()+
- supp.getSupplement() + createRequestShortEnd(false);
-
- String request =
- makeOutputFile(
- createRequestStart(testNumber,true,0),
- cpkcs.returnSig(),
- requestEnd);
- request = replaceString(request,"<Base64Content>","<Base64Content>AAAAAAAAAAAAAAAAAA");
- writeFile(vxReqFile(testNumber),request);
- writeFile(vxResErrFile(testNumber),"1100");
- }
-
-public void create155() throws Exception {
- String testNumber = "155";
-/* CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init();
- cpkcs.setCanoncialization(canAlgCanXML);
- //cpkcs.createReference(true,"Dies sind testdaten");
- cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
- cpkcs.setKeyInformation();
-
- Supplement supp = new Supplement();
- supp.addXMLContent(configuration_.getProperty("webbaseDir")+"resources/testDaten.txt", readFileCR(configuration_.getProperty("webbaseDir")+"resources/testDaten.txt"));
- supp.closeSupplement();
-
- String requestEnd =
- createSignatureInfoEnd()+
- supp.getSupplement()+
- createRequestShortEnd(false);
-
- String request =
- makeOutputFile(
- createRequestStart(testNumber+" - Supplement/Content/XMLContent does not match to the signature",true,0),
- cpkcs.returnSig(),
- requestEnd);
-*/
-// request = replaceString(request,"<XMLContent>","<XMLContent><OPEN_ELEMENT>");
-
- writeFile(vxReqFile(testNumber),"N.A.");
- writeFile(vxResErrFile(testNumber),"0000");
- }
-
-
-
-public void create251() throws Exception
- { String testNumber = "251";
-
- 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("InvalidTransformsProfile");
-
- String request =
- makeOutputFile(
- createRequestStart("251 - VerifyTransformsInfoID: invalidID",true,0),
- cpkcs.returnSig(),
- createSignatureInfoEnd() + smcp.returnDoc()
- + createRequestShortEnd(false));
-
- writeFile(vxReqFile(testNumber),request);
- writeFile(vxResErrFile(testNumber),"2268");
- }
-
-
- public void create252() throws Exception
- { String testNumber = "252";
-
- 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(),"</SignatureManifestCheckParams>","") +
- replaceString(smcp2.returnDoc(),"<SignatureManifestCheckParams>","");
-
- String request =
- makeOutputFile(
- createRequestStart("252 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");
- }
-
-public void create252_2() throws Exception
- { String testNumber = "252_2";
-
- 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("252_2 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");
- }
-
-public void create253() throws Exception
- { String testNumber = "253";
-
- 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("Base64Content",readBinaryFileAsBase64_new(configuration_.getProperty("baseDir")+"resources/"+ filename));
-
- String request =
- makeOutputFile(
- createRequestStart("253 mismatching dsig:Transform/@Algorithm and dsig:Transform content",true,0),
- cpkcs.returnSig(),
- createSignatureInfoEnd() + smcp.returnDoc()
- + createRequestShortEnd(false));
-
- request = replaceString(request,
- "http://www.w3.org/TR/1999/REC-xslt-19991116","MismatchingTransformAlgorithm");
- request = replaceString(request,
- "http://www.w3.org/TR/1999/REC-xslt-19991116","http://www.w3.org/TR/1999/REC-xpath-19991116");
- request = replaceString(request,"MismatchingTransformAlgorithm",
- "http://www.w3.org/TR/1999/REC-xslt-19991116");
-
- writeFile(vxReqFile(testNumber),request);
- writeFile(vxResErrFile(testNumber),"2202");
- }
-public void create254() throws Exception
- { String testNumber = "254";
-
- 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("webbaseDir")+"resources/" + filename));
-
- String request =
- makeOutputFile(
- createRequestStart("254 - TransformParameter/@URI resolves but Hash does not match - which hashing algorithm?",true,0),
- cpkcs.returnSig(),
- createSignatureInfoEnd() + smcp.returnDoc()
- + createRequestShortEnd(false));
-
- request = replaceString(request,"<Hash><dsig:DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\"/><dsig:DigestValue>",
- "<Hash><dsig:DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\"/><dsig:DigestValue>abcd");
-
- writeFile(vxReqFile(testNumber),request);
- writeFile(vxResErrFile(testNumber),"2205");
- }
-
-public void create255() throws Exception
- { String testNumber = "255";
-
- 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("255 kein TransformParameter element obwohl in Transforms URIs referenziert werden",true,0),
- cpkcs.returnSig(),
- createSignatureInfoEnd() + smcp.returnDoc()
- + createRequestShortEnd(false));
-
- writeFile(vxReqFile(testNumber),request);
- writeFile(vxResErrFile(testNumber),"2204");
- }
-
-public void create256() throws Exception
- { String testNumber = "256";
-
- 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("256 1 VerifyTransformsInfoID ==> Passt aber nicht zur Transformation (XSLT <==> Canonisiserung)",true,0),
- cpkcs.returnSig(),
- createSignatureInfoEnd() + smcp.returnDoc()
- + createRequestShortEnd(false));
-
- writeFile(vxReqFile(testNumber),request);
-
- writeFile(vxResErrFile(testNumber),"2204");
- }
-
-public void create351() throws Exception {
-
- String testNumber = "351";
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init();
- cpkcs.setCanoncialization(canAlgCanXML);
- cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
- cpkcs.setKeyInformation();
- String request =
- makeOutputFile( createRequestStart(testNumber,true,0),
- cpkcs.returnSig(),
- createRequestEnd(true,false,null));
- request = replaceString( request,
- "http://www.w3.org/TR/2001/REC-xml-c14n-20010315",
- "http://www.w3.org/TR/2001/unknownCanonicalzationMethod");
- writeFile(vxReqFile(testNumber),request);
- writeFile(vxResErrFile(testNumber),"2240");
- }
-
-
-public void create352() throws Exception {
-
- String testNumber = "352";
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init();
- cpkcs.setCanoncialization(canAlgCanXML);
- cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
- cpkcs.setKeyInformation();
- String request =
- makeOutputFile( createRequestStart(testNumber,true,0),
- cpkcs.returnSig(),
- createRequestEnd(true,false,null));
- request = replaceString( request,
- "http://www.w3.org/2000/09/xmldsig#rsa-sha1",
- "http://www.w3.org/TR/2001/unknownSignatureMethod");
- writeFile(vxReqFile(testNumber),request);
- writeFile(vxResErrFile(testNumber),"2240");
- }
-public void create353()throws Exception {
-
- String testNumber = "353";
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init();
- cpkcs.setCanoncialization(canAlgCanXML);
- cpkcs.createReference(false,"#xpointer(id('envelopedData'))");
- cpkcs.createEnvelopedDataObject("envelopedData",readFileCR(configuration_.getProperty("webbaseDir")+"resources/testDaten.txt"));
- cpkcs.setKeyInformation();
-
- String request =
- makeOutputFile(
- createRequestStart(testNumber,true,0),
- cpkcs.returnSig(),
- createRequestEnd(true,false,null));
-
- request =
- replaceString(
- request,
- "#xpointer(id('envelopedData'))",
- "#xpointer(id('unknownURITarget'))");
-
- writeFile(vxReqFile(testNumber),request);
-
- writeFile(vxResErrFile(testNumber),"2264");
- }
- public void create354() throws Exception {
-
- String testNumber = "354";
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init();
- cpkcs.setCanoncialization(canAlgCanXML);
- cpkcs.createReference(false,configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
- cpkcs.setKeyInformation();
- String request =
- makeOutputFile( createRequestStart(testNumber,true,0),
- cpkcs.returnSig(),
- createRequestEnd(true,false,null));
- request = replaceString( request,
- "http://www.w3.org/2000/09/xmldsig#sha1",
- "http://www.w3.org/TR/2001/unknownDigestMethod");
- writeFile(vxReqFile(testNumber),request);
- writeFile(vxResErrFile(testNumber),"2240");
- }
- public void create355() throws Exception {
-
- String testNumber = "355";
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init();
- cpkcs.setCanoncialization(canAlgCanXML);
- cpkcs.createReference(true,readFileCR(configuration_.getProperty("webbaseDir")+"resources/testDaten.txt"));
- cpkcs.setKeyInformation();
- String request =
- makeOutputFile( createRequestStart(testNumber,true,0),
- cpkcs.returnSig(),
- createRequestEnd(true,false,null));
- request = replaceString( request,
- "<dsig:DigestValue>",
- "<dsig:DigestValue>WrongData and the original:");
- writeFile(vxReqFile(testNumber),request);
- writeFile(vxResErrFile(testNumber),"0000");
- }
- public void create356() throws Exception {
-
- String testNumber = "356";
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init();
- cpkcs.setCanoncialization(canAlgCanXML);
- //cpkcs.createReference(true,"Dies sind testdaten");
-
- //Erzeugen der Base64-Daten
-// String tmp = readBinaryFileAsBase64(configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
-
- URI target = new URI(configuration_.getProperty("webbaseDir")+"resources/testDaten.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));
- request = replaceString( request,
- "http://www.w3.org/2000/09/xmldsig#base64",
- "http://www.w3.org/TR/2001/unknownTransformsMethod");
-
- writeFile(vxReqFile(testNumber),request);
-
- writeFile(vxResErrFile(testNumber),"2240");
- }
- public void create357() throws Exception {
-
- String testNumber = "357";
-
- 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.setKeyInformation();
-
-
- String request =
- makeOutputFile(
- createRequestStart("357 nicht zu Reference/Transforms/Transform/@Algorithm passender Inha",true,0),
- cpkcs.returnSig(),
- createSignatureInfoEnd()
- + createRequestShortEnd(false));
-
- request = replaceString(request, "http://www.w3.org/TR/1999/REC-xslt-19991116",
- "http://www.w3.org/TR/1999/REC-xpath-19991116");
- writeFile(vxReqFile(testNumber),request);
-
- writeFile(vxResErrFile(testNumber),"2240");
- }
-
- public void create358() throws Exception {
-
- String testNumber = "358";
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init();
- cpkcs.setCanoncialization(canAlgCanXML);
- //cpkcs.createReference(true,"Dies sind testdaten");
-
- URI target = new URI(configuration_.getProperty("webbaseDir")+"resources/testDaten.txtBase64.enc");
-
- // cpkcs.createEnvelopedDataObject("envelopedData",readBinaryFileAsBase64(configuration_.getProperty("webbaseDir")+"resources/testDaten.txt"));
-
- Transform[] tr = new Transform[1];
- tr[0] = new TransformImplBase64Decode();
- InputStream s = getHttpInputStream(target.toString());
- tr[0].setInput(s,null);
-
- cpkcs.createReferenceWithTransforms(target,tr);
- //cpkcs.createReference(false, "file:/"+ configuration_.getProperty("webbaseDir")+"resources/test_wo_canonicalisation.XML");
- //cpkcs.createReference(false, "file:/"+ configuration_.getProperty("webbaseDir")+"resources/test_w_canonicalisation.XML");
-// cpkcs.createReferenceWithManifest(new URI("file:/"+ configuration_.getProperty("webbaseDir")+"resources/test_w_canonicalisation.XML"),"canonicalizedData");
-
- cpkcs.setKeyInformation();
-
- String request =
- makeOutputFile(
- createRequestStart(testNumber,true,0),
- cpkcs.returnSig(),
- createRequestEnd(true,false,null));
-
- request = replaceString(request,
- "<dsig:SignatureValue>","<dsig:SignatureValue>abcd");
-
- writeFile(vxReqFile(testNumber),request);
-
- writeFile(vxResErrFile(testNumber),"2240");
- }
-
- public void create359() throws Exception {
-
- String testNumber = "359";
-
- URI fileURI = new URI(configuration_.getProperty("webbaseDir") + "resources/X509Data.xml");
- URI typeURI = new URI("http://www.w3.org/2000/09/xmldsig#X509Data");
-
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init();
- cpkcs.setCanoncialization(canAlgCanXML);
- cpkcs.createReference(true,readFileCR(configuration_.getProperty("webbaseDir") + "resources/testDaten.txt"));
- cpkcs.setKeyInformation(false, fileURI, typeURI, null);
-
- String request =
- makeOutputFile(
- createRequestStart(testNumber,true,0),
- cpkcs.returnSig(),
- createRequestEnd(true,false,null));
-
- request = replaceString(request,"<dsig:KeyInfo>","");
- request = replaceString(request,"<dsig:RetrievalMethod Type=\"http://www.w3.org/2000/09/xmldsig#X509Data\" URI=\""+configuration_.getProperty("webbaseDir") + "resources/X509Data.xml\"/>","");
- request = replaceString(request,"</dsig:KeyInfo>","");
-
- writeFile(vxReqFile(testNumber),request);
-
- writeFile(vxResErrFile(testNumber),"2243");
- }
- public void create360() throws Exception {
-
- String testNumber = "360";
-
- URI fileURI = new URI(configuration_.getProperty("webbaseDir") + "resources/X509Data.xml");
- URI typeURI = new URI("http://www.w3.org/2000/09/xmldsig#X509Data");
-
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init();
- cpkcs.setCanoncialization(canAlgCanXML);
- cpkcs.createReference(true,readFileCR(configuration_.getProperty("webbaseDir") + "resources/testDaten.txt"));
- cpkcs.setKeyInformation(false, fileURI, typeURI, null);
-
- String request =
- makeOutputFile(
- createRequestStart(testNumber,true,0),
- cpkcs.returnSig(),
- createRequestEnd(true,false,null));
-
- request = replaceString(request,"<dsig:RetrievalMethod Type=\"http://www.w3.org/2000/09/xmldsig#X509Data\" URI=\""+configuration_.getProperty("webbaseDir") + "resources/X509Data.xml\"/>",
- "<dsig:X509Data><dsig:X509SubjectName>Some kind of Subject</dsig:X509SubjectName></dsig:X509Data>");
-
- writeFile(vxReqFile(testNumber),request);
-
- writeFile(vxResErrFile(testNumber),"2240");
- }
-
- public void create360_2() throws Exception {
-
- String testNumber = "360_2";
-
- URI fileURI = new URI(configuration_.getProperty("webbaseDir") + "resources/X509Data.xml");
- URI typeURI = new URI("http://www.w3.org/2000/09/xmldsig#X509Data");
-
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init();
- cpkcs.setCanoncialization(canAlgCanXML);
- cpkcs.createReference(true,readFileCR(configuration_.getProperty("webbaseDir") + "resources/testDaten.txt"));
- cpkcs.setKeyInformation(false, fileURI, typeURI, null);
-
- String request =
- makeOutputFile(
- createRequestStart(testNumber,true,0),
- cpkcs.returnSig(),
- createRequestEnd(true,false,null));
-
- request = replaceString(request,"<dsig:RetrievalMethod Type=\"http://www.w3.org/2000/09/xmldsig#X509Data\" URI=\""+configuration_.getProperty("webbaseDir") + "resources/X509Data.xml\"/>",
- "<dsig:KeyName>Some kind of string as KeyName</dsig:KeyName>");
-
- writeFile(vxReqFile(testNumber),request);
-
- writeFile(vxResErrFile(testNumber),"2240");
- }
-
- public void create361() throws Exception {
-
- String testNumber = "361";
-
- URI fileURI = new URI(configuration_.getProperty("webbaseDir") + "resources/X509Data.xml");
- URI typeURI = new URI("http://www.w3.org/2000/09/xmldsig#X509Data");
-
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init();
- cpkcs.setCanoncialization(canAlgCanXML);
- cpkcs.createReference(true,readFileCR(configuration_.getProperty("webbaseDir") + "resources/testDaten.txt"));
- cpkcs.setKeyInformation(false, fileURI, typeURI, null);
-
- String request =
- makeOutputFile(
- createRequestStart(testNumber,true,0),
- cpkcs.returnSig(),
- createRequestEnd(true,false,null));
-
- request = replaceString(request,"<dsig:RetrievalMethod Type=\"http://www.w3.org/2000/09/xmldsig#X509Data\" URI=\""+configuration_.getProperty("webbaseDir") + "resources/X509Data.xml\"/>",
- " <dsig:X509Data>\n"+
- " <dsig:X509Certificate>"+
- readFileCR(configuration_.getProperty("webbaseDir") + "resources/tests.cer.b64") +
- "</dsig:X509Certificate>\n"+
- " </dsig:X509Data>\n");
-
- writeFile(vxReqFile(testNumber),request);
-
- writeFile(vxResErrFile(testNumber),"2243");
- }
-
- public void create362() throws Exception {
-
- String testNumber = "362";
-
- URI fileURI = new URI(configuration_.getProperty("webbaseDir") + "resources/X509Data.xml");
- URI typeURI = new URI("http://www.w3.org/2000/09/xmldsig#X509Data");
-
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init();
- cpkcs.setCanoncialization(canAlgCanXML);
- cpkcs.createReference(true,readFileCR(configuration_.getProperty("webbaseDir") + "resources/testDaten.txt"));
- cpkcs.setKeyInformation(false, fileURI, typeURI, null);
-
- String request =
- makeOutputFile(
- createRequestStart(testNumber,true,0),
- cpkcs.returnSig(),
- createRequestEnd(true,false,null));
-
- request = replaceString(request,"<dsig:RetrievalMethod Type=\"http://www.w3.org/2000/09/xmldsig#X509Data\" URI=\""+configuration_.getProperty("webbaseDir") + "resources/X509Data.xml\"/>",
- " <dsig:X509Data>\n"+
- " <dsig:X509Certificate>"+
- readFileCR(configuration_.getProperty("webbaseDir")+"resources/testDaten.txtbase64.enc") +
- "</dsig:X509Certificate>\n"+
- " </dsig:X509Data>\n");
-
- writeFile(vxReqFile(testNumber),request);
-
- writeFile(vxResErrFile(testNumber),"2240");
- }
- public void create363() throws Exception {
-
- String testNumber = "363";
-
- URI fileURI = new URI(configuration_.getProperty("webbaseDir") + "resources/X509Data.xml");
- URI typeURI = new URI("http://www.w3.org/2000/09/xmldsig#X509Data");
-
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init();
- cpkcs.setCanoncialization(canAlgCanXML);
- cpkcs.createReference(true,readFileCR(configuration_.getProperty("webbaseDir") + "resources/testDaten.txt"));
- cpkcs.setKeyInformation(false, fileURI, typeURI, null);
-
- String request =
- makeOutputFile(
- createRequestStart(testNumber,true,0),
- cpkcs.returnSig(),
- createRequestEnd(true,false,null));
-
- request = replaceString(request,"<dsig:RetrievalMethod Type=\"http://www.w3.org/2000/09/xmldsig#X509Data\" URI=\""+configuration_.getProperty("webbaseDir") + "resources/X509Data.xml\"/>",
- " <dsig:X509Data>\n"+
- " <dsig:X509Certificate>"+
- "( no BASE64 data )" +
- "</dsig:X509Certificate>\n"+
- " </dsig:X509Data>\n");
-
- writeFile(vxReqFile(testNumber),request);
-
- writeFile(vxResErrFile(testNumber),"1100");
- }
-
- public void create364() throws Exception {
-
- String testNumber = "364";
-
- URI fileURI = new URI(configuration_.getProperty("webbaseDir") + "resources/X509Data.xml");
- URI typeURI = new URI("http://www.w3.org/2000/09/xmldsig#X509Data");
-
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init();
- cpkcs.setCanoncialization(canAlgCanXML);
- cpkcs.createReference(true,readFileCR(configuration_.getProperty("webbaseDir") + "resources/testDaten.txt"));
- cpkcs.setKeyInformation(false, fileURI, typeURI, null);
-
- String request =
- makeOutputFile(
- createRequestStart(testNumber,true,0),
- cpkcs.returnSig(),
- createRequestEnd(true,false,null));
-
- request = replaceString(request,
- "http://www.w3.org/2000/09/xmldsig#X509Data",
- "http://www.w3.org/2000/09/noValidRetrievalMethodType");
-
- writeFile(vxReqFile(testNumber),request);
-
- writeFile(vxResErrFile(testNumber),"2240");
- }
- public void create365() throws Exception {
-
- String testNumber = "365";
-
- URI fileURI = new URI(configuration_.getProperty("webbaseDir") + "resources/X509Data.xml");
- URI typeURI = new URI("http://www.w3.org/2000/09/xmldsig#X509Data");
-
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init();
- cpkcs.setCanoncialization(canAlgCanXML);
- cpkcs.createReference(true,readFileCR(configuration_.getProperty("webbaseDir") + "resources/testDaten.txt"));
- cpkcs.setKeyInformation(false, fileURI, typeURI, null);
-
- String request =
- makeOutputFile(
- createRequestStart(testNumber,true,0),
- cpkcs.returnSig(),
- createRequestEnd(true,false,null));
-
- request = replaceString(request,
- configuration_.getProperty("webbaseDir") + "resources/X509Data.xml",
- configuration_.getProperty("webbaseDir") + "resources/test-ee2003_normal.der");
-
- writeFile(vxReqFile(testNumber),request);
-
- writeFile(vxResErrFile(testNumber),"2240");
- }
-
- public void create366() throws Exception {
-
- String testNumber = "366";
-
- 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/testDaten.txt");
-
- //DER-encoded RAW-Zertifikat zu Binary64 konvertieren
- // String tmp = readBinaryFileAsBase64(fileURI.getPath());
- //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));
-
- request = replaceString(request, "http://www.w3.org/2000/09/xmldsig#base64",
- "http://Invalid.URI.com");
- writeFile(vxReqFile(testNumber),request);
-
- writeFile(vxResErrFile(testNumber),"2240");
- }
- public void create367() throws Exception {
-
- String testNumber = "367";
-
- 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/testDaten.txt");
-
- //DER-encoded RAW-Zertifikat zu Binary64 konvertieren
- // String tmp = readBinaryFileAsBase64(fileURI.getPath());
- //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));
-
- request = replaceString(request, "http://www.w3.org/2000/09/xmldsig#rawX509Certificate",
- "http://www.w3.org/2000/09/xmldsig#X509Data");
- writeFile(vxReqFile(testNumber),request);
-
- writeFile(vxResErrFile(testNumber),"2240");
- }
-
- public void create368() throws Exception {
- String testNumber = "368";
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init();
- cpkcs.setCanoncialization(canAlgCanXML);
- URI fileURI1 = new URI(configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
- cpkcs.createReferenceWithManifest(fileURI1,"manifestObject");
- cpkcs.setKeyInformation();
-
- String request =
- makeOutputFile(
- createRequestStart(testNumber,true,0),
- cpkcs.returnSig(),
- createRequestEnd(true,false,null));
-
- request = replaceString(request, "http://www.w3.org/2000/09/xmldsig#Manifest",
- "http://No.valid_manifest_URI.com");
-
- writeFile(vxReqFile(testNumber),request);
- writeFile(vxResErrFile(testNumber),"2240");
- }
-
- public void create369() throws Exception {
- String testNumber = "369";
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init();
- cpkcs.setCanoncialization(canAlgCanXML);
- URI fileURI1 = new URI(configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
- cpkcs.createReferenceWithManifest(fileURI1,"manifestObject");
- cpkcs.setKeyInformation();
-
- String request =
- makeOutputFile(
- createRequestStart(testNumber,true,0),
- cpkcs.returnSig(),
- createRequestEnd(true,false,null));
-
- request = replaceString(request, "#xpointer(id('manifestObject'))",
- "#xpointer(id('NoValidManifestObject'))");
-
- writeFile(vxReqFile(testNumber),request);
- writeFile(vxResErrFile(testNumber),"2262");
- }
- public void create370() throws Exception {
- String testNumber = "370";
-
- CreatePKCSSignature cpkcs = new CreatePKCSSignature();
- cpkcs.init();
- cpkcs.setCanoncialization(canAlgCanXML);
- URI fileURI1 = new URI(configuration_.getProperty("webbaseDir")+"resources/testDaten.txt");
- cpkcs.createReferenceWithManifest(fileURI1,"manifestObject");
- cpkcs.setKeyInformation();
-
- String request =
- makeOutputFile(
- createRequestStart(testNumber,true,0),
- cpkcs.returnSig(),
- createRequestEnd(true,false,null));
-
- //Hier wird der DigestAlg vom Reference-Objekt im SignedInfo verändert
- request = replaceString(request,
- "http://www.w3.org/2000/09/xmldsig#sha1",
- "noValidDigestAlg");
- //Hier wird der DigestAlg vom Reference-Objekt im Manifset verändert
- request = replaceString(request,
- "http://www.w3.org/2000/09/xmldsig#sha1",
- "noValidDigestAlg");
- //Hier wird der DigestAlg vom Reference-Objekt im SignedInfo zurück geändert
- request = replaceString(request,
- "noValidDigestAlg",
- "http://www.w3.org/2000/09/xmldsig#sha1");
-
-
- writeFile(vxReqFile(testNumber),request);
- writeFile(vxResErrFile(testNumber),"2262"); }
-
-
- /**
- * 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 <?xml ?> Prologue
- int pos = erg.indexOf("<dsig");
- erg = erg.substring(pos);
-
- // insert the dsig:signature element in a MOA Response Message
- erg = start + erg + end;
-
- return erg;
- }
-
- /**
- * Method createRequestStart.
- * @param testNumber
- * @param useDate
- * @param changeHours
- * @return String
- */
- private String createRequestStart(String testNumber, boolean useDate, int changeHours)
- {String reqStart = null;
- System.out.println("======================================================");
- System.out.println("================== TEST-NUMBER "+ testNumber + " ===================");
- System.out.println("======================================================");
-
- reqStart =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
- + "<!-- Testnumber: "
- + testNumber
- + "-->\n"
- + "<VerifyXMLSignatureRequest\n"
- + " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\"\n"
- + " xmlns:xml=\"http://www.w3.org/XML/1998/namespace\""
- + " xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">\n";
-
- if (useDate) {
- reqStart += " <DateTime>"
- + getDate(changeHours)
- + "</DateTime>\n";
- }
-
- reqStart += " <VerifySignatureInfo>\n"
- + " <VerifySignatureEnvironment>\n"
- + " <XMLContent xml:space=\"preserve\">" ;
- 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<tr.length-1; t++)
- {
- myTransforms[t+1].setInput((InputStream)myTransforms[t].transform(),null);
- }
-
- ByteArrayInputStream is = (ByteArrayInputStream)myTransforms[tr.length-1].transform();
-
-
- byte[] b = new byte[1];
- is.read(b);
- while (is.available() > 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 =
- "</VerifySignatureEnvironment>\n"
- + " <VerifySignatureLocation>#xpointer(/VerifyXMLSignatureRequest/VerifySignatureInfo/VerifySignatureEnvironment/dsig:Signature)</VerifySignatureLocation>\n"
- + " </VerifySignatureInfo>\n";
-*/
- reqEnd ="</XMLContent>"+
- "</VerifySignatureEnvironment>\n"
- + " <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>\n"
- + " </VerifySignatureInfo>\n";
-
-
-
- if (useSupplement)
- {
- reqEnd += " <Supplement>\n" +
- " <Content Reference=\"file:/" + supplementReference.toString() + "\">\n" +
- " <XMLContent>"+readFileCR(supplementReference.toString())+"</XMLContent>\n" +
- " </Content>\n" +
- " </Supplement>\n";
- }
-
- if (useReturnHashInputData) {
- reqEnd += " <ReturnHashInputData/>\n";
- }
- reqEnd += " <TrustProfileID>TrustProfile1</TrustProfileID>\n"
- + "</VerifyXMLSignatureRequest>\n";
- return reqEnd;
-
- }
-
- private String createSignatureInfoEnd()
- throws Exception {
-
- return "</XMLContent>"+"</VerifySignatureEnvironment>\n"
- + " <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>\n"
- + " </VerifySignatureInfo>\n";
-
- }
-
- private String createRequestShortEnd(boolean useReturnHashInputData)
- throws Exception {
-
- String reqEnd = "";
-
- if (useReturnHashInputData)
- reqEnd = " <ReturnHashInputData/>\n";
-
- reqEnd += " <TrustProfileID>TrustProfile1</TrustProfileID>\n"
- + "</VerifyXMLSignatureRequest>\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 += " <dsig:X509IssuerSerial>\n";
- res += vxBean.getIssuerDN();
- res += vxBean.getSerialNumber();
- res += " </dsig:X509IssuerSerial>\n"
- + " </dsig:X509Data>\n"
- + " </SignerInfo>\n";
- res += " <HashInputData>\n" + " <XMLContent xml:space=\"preserve\">";
- res += readFileCR(
- configuration_.getProperty("webbaseDir")
- + "resources/testDaten.txt")+
- "</XMLContent>";
-
- 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 += " <dsig:X509IssuerSerial>\n";
- res += vxBean.getIssuerDN();
- res += vxBean.getSerialNumber();
- res += " </dsig:X509IssuerSerial>\n"
- + " </dsig:X509Data>\n"
- + " </SignerInfo>\n";
- res += " <HashInputData>\n" +
- " <XMLContent xml:space=\"preserve\">"+
- hashData +
- "</XMLContent>\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 += " <dsig:X509IssuerSerial>\n";
- res += vxBean.getIssuerDN();
- res += vxBean.getSerialNumber();
- res += " </dsig:X509IssuerSerial>\n"
- + " </dsig:X509Data>\n"
- + " </SignerInfo>\n"
- + " <SignatureCheck>\n" +
- " <Code>" + signatureCheckCode + "</Code>\n" +
- " </SignatureCheck>\n" +
- " <CertificateCheck>\n" +
- " <Code>0</Code>\n" +
- " </CertificateCheck>\n" +
- "</VerifyXMLSignatureResponse>";
-
- 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 += " <dsig:X509IssuerSerial>\n";
- res += vxBean.getIssuerDN();
- res += vxBean.getSerialNumber();
- res += " </dsig:X509IssuerSerial>\n"
- + " </dsig:X509Data>\n"
- + " </SignerInfo>\n";
- res += " <HashInputData>\n" + " <XMLContent>";
- res += readFile(
- configuration_.getProperty("webbaseDir")
- + "resources/testDaten.txt");
-
- res += vxBean.getFooterXMLDSIGManifestCheck(xmlDSIGManifestCheckCode,"0");
-
- return res;
- }*/
-
- private String createResponsePart() throws Exception {
-
- //
- vxBean.init(configuration_.getProperty("webbaseDir")+ "resources/" + "test-ee2003_normal.der");
-
- String res = null;
-
- res = vxBean.getHeader();
- res += vxBean.getSubjectDN();
- res += " <dsig:X509IssuerSerial>\n";
- res += vxBean.getIssuerDN();
- res += vxBean.getSerialNumber();
- res += " </dsig:X509IssuerSerial>\n"
- + " </dsig:X509Data>\n"
- + " </SignerInfo>\n";
- 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<result.length; t++)
- {
- temp[s] = result[t];
- s++;
- if (temp[s-1]==10)
- {
- if (temp[s-2]==13)
- {
- temp[s-2]=10;
- s--;
- }
- }
- }
- byte[] res = new byte[s];
- result = null;
-
- System.arraycopy(temp,0,res,0,s);
-
-
- response = new String(res);
-
- try {
- response = replaceString(response,"<?xml version=\"1.0\" encoding=\"utf-8\"?>","");
- }
- 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();
- }
-
-public String vxResErrFile(String testNumber)
- {
- return configuration_.getProperty("baseDir") +
- "/data/VX0/"+
- configuration_.getProperty("TestClass") +
- "." +
- testNumber +
- ".ErrRes.xml";
- }
-private String getBase64Hash(String filename) throws Exception
- {
- DigestAlgorithmImplSHA1 dig = new DigestAlgorithmImplSHA1();
- InputStream s = getHttpInputStream(filename);
-
- dig.setInput(s);
-
- InputStream erg = dig.digest();
- String result = "";
-
- byte[] b = new byte[1];
- erg.read(b);
- while (erg.available() > 0)
- {
- result += new String(b);
- erg.read(b);
- }
- result += new String(b);
-
- ByteArrayOutputStream fos = new ByteArrayOutputStream();
- Base64OutputStream base64os = new Base64OutputStream(fos);
- base64os.write(result.getBytes());
- base64os.flush();
-
- return fos.toString();
- }
-}
diff --git a/spss.test/src/testgenerator/TestPKCS12.java b/spss.test/src/testgenerator/TestPKCS12.java
deleted file mode 100644
index 97aa8acd0..000000000
--- a/spss.test/src/testgenerator/TestPKCS12.java
+++ /dev/null
@@ -1,107 +0,0 @@
-
-package testgenerator;
-import iaik.pkcs.pkcs12.CertificateBag;
-import iaik.pkcs.pkcs12.KeyBag;
-import iaik.pkcs.pkcs12.PKCS12;
-import iaik.security.ecc.ecdsa.ECPrivateKey;
-import iaik.security.ecc.ecdsa.ECPublicKey;
-import iaik.security.ecc.math.ecgroup.ECPoint;
-
-import java.io.FileInputStream;
-
-
-/**
- * @author stephan
- *
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates.
- * To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class TestPKCS12 {
-
-/*
- public static void main(String[] args) throws Exception {
-
-// String file = "C:/Daten/MOAPhase2/additionalFiles/keys/TestUser.p12";
-// String password = "testuser";
-// String file = "C:\\Certs\\grill(1234).p12";
-// String password = "1234";
-
- // SL eCard Demo P12 Files
- String file = "C:\\Daten\\MOAPhase2\\Keys\\sl2002mmdd.ecard.sicher(ego).p12";
- String password = "ego";
-// String file = "C:\\Daten\\MOAPhase2\\Keys\\sl2002mmdd.ecard.normal(ego).p12";
-// String password = "ego";
-
- // SL Personalausweis Demo P12 Files
-// String file = "C:\\Daten\\MOAPhase2\\Keys\\sicher-demo(buergerkarte).p12";
-// String password = "buergerkarte";
-// String file = "C:\\Daten\\MOAPhase2\\Keys\\normal().p12";
-// String password = "";
-
- IAIK.addAsJDK14Provider();
-
- FileInputStream pkcs12FIS = new FileInputStream(file);
- PKCS12 pkcs12 = new PKCS12(pkcs12FIS);
- if (!pkcs12.verify(password.toCharArray()))
- {
- System.out.println("could not PKCS12.verify file " + file + " with password " + password);
- } else
- {
- System.out.println("could PKCS12.verify file " + file + " with password " + password);
- }
-
- pkcs12.decrypt(password.toCharArray());
- System.out.println("could PKCS12.decrypt file " + file + " with password " + password);
-
- KeyBag[] keyBags = pkcs12.getKeyBags();
- System.out.println("PKCS12.getKeyBags(): " + keyBags.length + " KeyBags found");
-
- RSAPrivateKey privKey = (RSAPrivateKey) keyBags[0].getPrivateKey();
- System.out.println("getFriendlyName(): " + keyBags[0].getFriendlyName() );
-
- X509Certificate[] certBag = CertificateBag.getCertificates(pkcs12.getCertificateBags());
- System.out.println("PKCS12.getCertificates(): " + certBag.length + " certificates found");
-
- System.out.println("certBag[0]: " + certBag[0]);
-
- }
-*/
-
- public static void main(String[] args) throws Exception {
- // von Wolfgang Bauer
- iaik.security.provider.IAIK.addAsProvider();
- iaik.security.ecc.provider.ECCProvider.addAsProvider();
-
- final String FILENAME = "sl2002mmdd.ecard.sicher.p12";
- final char[] PASSWORD = "ego".toCharArray();
-// public final static String FILENAME = "sl2002mmdd.ecard.sicher.p12";
-// public final static char[] PASSWORD = "ego".toCharArray();
-
- System.out.println("Checking");
- FileInputStream fis = new FileInputStream(FILENAME);
- PKCS12 p12 = new PKCS12(fis);
- p12.decrypt(PASSWORD);
- CertificateBag[] cb = p12.getCertificateBags();
-
- KeyBag kb = p12.getKeyBag();
- ECPrivateKey pk = (ECPrivateKey) kb.getPrivateKey();
-
- ECPoint p = pk.getParameter().getG();
- p.multiply(pk.getS());
-
- ECPoint p2 = ((ECPublicKey)cb[0].getCertificate().getPublicKey()).getW();
- if (p.equals(p2) ) {
- System.out.println("Check OK");
- } else {
- System.out.println("Nix wars");
- }
- cb[0].getCertificate().verify();
-
- }
-
-
-
-}
-
diff --git a/spss.test/src/testgenerator/VXResponseBean.java b/spss.test/src/testgenerator/VXResponseBean.java
deleted file mode 100644
index bbdf02bbc..000000000
--- a/spss.test/src/testgenerator/VXResponseBean.java
+++ /dev/null
@@ -1,180 +0,0 @@
-
-package testgenerator;
-import java.io.*;
-import java.net.HttpURLConnection;
-import java.net.URL;
-
-import iaik.asn1.structures.Name;
-import iaik.x509.X509Certificate;
-
-/**
- * @author KNIRSCHS
- *
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates.
- * To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class VXResponseBean {
-
- private X509Certificate cert = null;
-
- /**
- * Constructor for VXResponseBean.
- */
- public String getHeader() {
-
- String result =
- "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
- "<VerifyXMLSignatureResponse xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\" >\n" +
- " <SignerInfo>\n" +
- " <dsig:X509Data xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">\n";
-
- return result;
- }
-
- public void init(String Filename) throws Exception {
- if (cert == null) {
- InputStream cfile = getHttpInputStream(Filename);
- cert = new iaik.x509.X509Certificate(cfile);
- }
- }
- public String getCert() throws Exception {
- return " <dsig:X509Certificate>"
- + (cert)
- + "</dsig:X509Certificate>\n";
-
- }
-
-
- public String getSubjectDN() throws Exception {
- return " <dsig:X509SubjectName>"
- + ((Name) cert.getSubjectDN()).getRFC2253String()
- + "</dsig:X509SubjectName>\n";
- }
- public String getIssuerDN() throws Exception {
-
- return " <dsig:X509IssuerName>" +
- ((Name)cert.getIssuerDN()).getRFC2253String() +
- "</dsig:X509IssuerName>\n";
- }
-
- public String getSerialNumber() throws Exception {
-
- return " <dsig:X509SerialNumber>" +
- cert.getSerialNumber() +
- "</dsig:X509SerialNumber>\n";
- }
-
- public String getFooterSignatureCheck(String signatureCheckCode, String certificateCheckCode)
- {
- String res = null;
- res = " </HashInputData>\n" +
- " <SignatureCheck>\n" +
- " <Code>" + signatureCheckCode + "</Code>\n" +
- " </SignatureCheck>\n" +
- " <CertificateCheck>\n" +
- " <Code>"+certificateCheckCode+"</Code>\n" +
- " </CertificateCheck>\n" +
- "</VerifyXMLSignatureResponse>";
-
- return res;
-
- }
- public String getFooterXMLDSIGManifestCheck(String xmlDSIGManifestCheckCode , String certificateCheckCode)
- {
- String res = null;
-/* res = "</XMLContent>\n" +
- " </HashInputData>\n" +
- " <XMLDSIGManifestCheck>\n" +
- " <Code>" + xmlDSIGManifestCheckCode + "</Code>\n" +
- " </XMLDSIGManifestCheck>\n" +
- " <CertificateCheck>\n" +
- " <Code>"+certificateCheckCode+"</Code>\n" +
- " </CertificateCheck>\n" +
- "</VerifyXMLSignatureResponse>";
-*/
- res = " <XMLDSIGManifestCheck>\n" +
- " <Code>" + xmlDSIGManifestCheckCode + "</Code>\n" +
- " </XMLDSIGManifestCheck>\n" +
- " <CertificateCheck>\n" +
- " <Code>"+certificateCheckCode+"</Code>\n" +
- " </CertificateCheck>\n" +
- "</VerifyXMLSignatureResponse>";
-
- return res;
-
- }
-public String createXMLDSIGManifestCheck(String xmlDSIGManifestCheckCode, String failedReference, String referringSigRefData)
- {
-
- if(failedReference != null && !failedReference.trim().equals(""))
- {
- String res = null;
- res = " <XMLDSIGManifestCheck>\n" +
- " <Code>" + xmlDSIGManifestCheckCode + "</Code>\n" +
- " <Info><FailedReference>" + failedReference +
- "</FailedReference><ReferringSigReference>" + referringSigRefData + "</ReferringSigReference>" +
- " </Info>\n" +
- " </XMLDSIGManifestCheck>\n";
-
- return res;
- }
- else
- {
- String res = null;
- res = " <XMLDSIGManifestCheck>\n" +
- " <Code>" + xmlDSIGManifestCheckCode + "</Code>\n" +
- " <Info>" + failedReference +
- " <ReferringSigReference>" + referringSigRefData + "</ReferringSigReference>" +
- " </Info>\n" +
- " </XMLDSIGManifestCheck>\n";
-
- return res;
- }
-
- }
-
-public String createSignatureCheck(String signatureCheckCode)
- {
- String res = null;
- res = " <SignatureCheck>\n" +
- " <Code>" + signatureCheckCode + "</Code>\n" +
- " </SignatureCheck>\n";
- return res;
-
- }
-public String createSignatureManifestCheck(String signatureCheckCode)
- {
- String res = null;
- res = " <SignatureManifestCheck>\n" +
- " <Code>" + signatureCheckCode + "</Code>\n" +
- " </SignatureManifestCheck>\n";
- return res;
-
- }
-
-public String createSignatureManifestCheck(String signatureCheckCode,String info)
- {
- String res = null;
- res = " <SignatureManifestCheck>\n" +
- " <Code>" + signatureCheckCode + "</Code>\n" + info +
- " </SignatureManifestCheck>\n";
- return res;
-
- }
-public String createCertificateCheck(String certificateCheckCode)
- {
- String res = null;
- res = " <CertificateCheck>\n" +
- " <Code>"+certificateCheckCode+"</Code>\n" +
- " </CertificateCheck>\n";
- return res;
- }
-private InputStream getHttpInputStream(String url) throws Exception
- {
-
- return ((HttpURLConnection)new URL(url).openConnection()).getInputStream();
- }
-
-}