diff options
Diffstat (limited to 'spss.test')
538 files changed, 29932 insertions, 0 deletions
diff --git a/spss.test/.classpath b/spss.test/.classpath new file mode 100644 index 000000000..6c3fe75b5 --- /dev/null +++ b/spss.test/.classpath @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="resources"/> + <classpathentry kind="lib" path="lib/jaxen-1.0/jaxen-dom.jar"/> + <classpathentry kind="lib" path="lib/axis-1.0/wsdl4j.jar"/> + <classpathentry kind="lib" path="lib/iaik-moa-20030703/signed/iaik_ecc.jar"/> + <classpathentry kind="lib" path="lib/axis-1.0/jaxrpc.jar"/> + <classpathentry kind="lib" path="lib/axis-1.0/axis.jar"/> + <classpathentry kind="lib" path="lib/iaik-moa-20030703/iaikPkcs11Provider.jar"/> + <classpathentry kind="lib" path="lib/iaik-moa-20030703/ixsil.jar"/> + <classpathentry kind="lib" path="lib/jsse-1.0.3_01/jnet.jar"/> + <classpathentry kind="lib" path="lib/jaxp-1.2_01/jaxp-api.jar"/> + <classpathentry kind="lib" path="lib/commons-discovery-0.2/commons-discovery.jar"/> + <classpathentry kind="lib" path="lib/jaxp-1.2_01/sax.jar"/> + <classpathentry kind="lib" path="lib/iaik-moa-20030703/iaik-moa-full.jar"/> + <classpathentry kind="lib" path="lib/iaik-moa-20030703/iaik_jce_full.jar"/> + <classpathentry kind="lib" path="lib/xerces-j-2.0.2/xmlParserAPIs.jar"/> + <classpathentry kind="lib" path="lib/iaik-moa-20030703/signed/iaikPkcs11Provider_signed.jar"/> + <classpathentry kind="lib" path="lib/xalan-j-2.2/xalan.jar"/> + <classpathentry kind="lib" path="lib/xerces-j-2.0.2/xercesImpl.jar"/> + <classpathentry kind="lib" path="lib/iaik-moa-20030703/iaik_ecc.jar"/> + <classpathentry kind="lib" path="lib/jsse-1.0.3_01/jcert.jar"/> + <classpathentry kind="lib" path="lib/jaxen-1.0/saxpath.jar"/> + <classpathentry kind="lib" path="lib/axis-1.0/saaj.jar"/> + <classpathentry kind="lib" path="lib/jaxen-1.0/jaxen-core.jar"/> + <classpathentry kind="lib" path="lib/SignatureAlgorithmImplECDSA.jar"/> + <classpathentry kind="lib" path="lib/iaik-moa-20030703/signed/iaik_jce_full.jar"/> + <classpathentry kind="lib" path="lib/iaik-moa-20030703/iaik_cms.jar"/> + <classpathentry kind="lib" path="lib/xalan-j-2.2/bsf.jar"/> + <classpathentry kind="lib" path="lib/jsse-1.0.3_01/jsse.jar"/> + <classpathentry kind="lib" path="lib/iaik-moa-20030703/iaikPkcs11Wrapper.jar"/> + <classpathentry kind="lib" path="lib/jaxp-1.2_01/dom.jar"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JRE 1.3.1-09"/> + <classpathentry kind="src" path="/MOA common"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/spss.test/.project b/spss.test/.project new file mode 100644 index 000000000..c64902805 --- /dev/null +++ b/spss.test/.project @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>MOA spss.test</name> + <comment></comment> + <projects> + <project>MOA common</project> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/spss.test/Definitionen/Testfalldokumentation.doc b/spss.test/Definitionen/Testfalldokumentation.doc Binary files differnew file mode 100644 index 000000000..4bf44403d --- /dev/null +++ b/spss.test/Definitionen/Testfalldokumentation.doc diff --git a/spss.test/data/CX0/TestGeneratorCX0.001.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.001.Req.xml new file mode 100644 index 000000000..7ffb7cd3b --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.001.Req.xml @@ -0,0 +1,17 @@ +<?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="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"/> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.001.Res.xml b/spss.test/data/CX0/TestGeneratorCX0.001.Res.xml new file mode 100644 index 000000000..9a8337324 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.001.Res.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + ><SignatureEnvironment><dsig:Signature Id="signature-1-1" 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-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>gBB3qVsHcXriR5DRnqpoAtGSZozMUEprBtbt/pusEylilSrndPufeDaaCm8PtbUe +c0ezEu7/xLJPc5qC/cqv0B3f0RDR2RPCSfZNu/vcc8YddLdgy+p+cDOEneXPUEOa +FKkqvEmIJBGWsG/UbNobP6J1YFLeM3Wjbn+cUstfgVY=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.002.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.002.Req.xml new file mode 100644 index 000000000..7e8d820b4 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.002.Req.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="ISO-8859-1"?><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="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"/> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.002.Res.xml b/spss.test/data/CX0/TestGeneratorCX0.002.Res.xml new file mode 100644 index 000000000..9a8337324 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.002.Res.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + ><SignatureEnvironment><dsig:Signature Id="signature-1-1" 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-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>gBB3qVsHcXriR5DRnqpoAtGSZozMUEprBtbt/pusEylilSrndPufeDaaCm8PtbUe +c0ezEu7/xLJPc5qC/cqv0B3f0RDR2RPCSfZNu/vcc8YddLdgy+p+cDOEneXPUEOa +FKkqvEmIJBGWsG/UbNobP6J1YFLeM3Wjbn+cUstfgVY=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.003.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.003.Req.xml new file mode 100644 index 000000000..94e7bec34 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.003.Req.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" ?><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="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"/> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.003.Res.xml b/spss.test/data/CX0/TestGeneratorCX0.003.Res.xml new file mode 100644 index 000000000..9a8337324 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.003.Res.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + ><SignatureEnvironment><dsig:Signature Id="signature-1-1" 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-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>gBB3qVsHcXriR5DRnqpoAtGSZozMUEprBtbt/pusEylilSrndPufeDaaCm8PtbUe +c0ezEu7/xLJPc5qC/cqv0B3f0RDR2RPCSfZNu/vcc8YddLdgy+p+cDOEneXPUEOa +FKkqvEmIJBGWsG/UbNobP6J1YFLeM3Wjbn+cUstfgVY=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.005.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.005.Req.xml new file mode 100644 index 000000000..cfafd656c --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.005.Req.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" ?><CreateXMLSignatureRequest + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" > + <KeyIdentifier>PKCS12ECDSAKey1</KeyIdentifier> + <SingleSignatureInfo SecurityLayerConformity="false"> + <DataObjectInfo Structure="detached" ChildOfManifest="false"> + <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"/> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.005.Res.xml b/spss.test/data/CX0/TestGeneratorCX0.005.Res.xml new file mode 100644 index 000000000..7005d6301 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.005.Res.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + ><SignatureEnvironment><dsig:Signature Id="signature-1-1" 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.buergerkarte.at/namespaces/ecdsa/200206030#ecdsa-sha1"/><dsig:Reference Id="reference-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>IIqg3cRu7AnmCogBykcFk5vEj9LGtkpEPsn9ZP9hPh80/U/VoP/jyNToyyusilbx</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIICGDCCAdCgAwIBAgIDAQpMMAkGByqGSM49BAEwTTELMAkGA1UEBhMCQVQxDTAL +BgNVBAoTBElBSUsxFTATBgNVBAsTDEphdmFTZWN1cml0eTEYMBYGA1UEAxMPSUFJ +SyBFQ0RTQSBUZXN0MB4XDTAzMDIxMDA5NDgwN1oXDTA0MDIxMDA5NDgwN1owTTEL +MAkGA1UEBhMCQVQxDTALBgNVBAoTBElBSUsxFTATBgNVBAsTDEphdmFTZWN1cml0 +eTEYMBYGA1UEAxMPSUFJSyBFQ0RTQSBUZXN0MIHrMIG0BgcqhkjOPQIBMIGoAgEB +MB0GByqGSM49AQIwEgICAL8GCSqGSM49AQIDAgIBCTA0BBgoZlN7Z2dSY2po9WVU +4SZAJ2tknvdSYmcEGC5F71cfAHhvZ7AIG5SVo9lUYvXeCqGF7AQxBDaz2viiMgb5 +xPKZ17IanDaRN/LISuGqDXZb5zQzs/leMyky5w6iRcokGOoO+YAY+wIYQAAAAAAA +AAAAAAAABKIOkMOQZ8iTu7mlAgECAzIABFh+sRJVup8mJdsDqlk2w1Cer2qkFxJU +7VeLKaB6z8+W/jN6fPrc2u8MYJCZlL7T0aMNMAswCQYDVR0TBAIwADAJBgcqhkjO +PQQBAzcAMDQCGBjRkQdnZmCv4mLwj72JBSFW1b0DIYvXXAIYILVW1F8IHAldw56h +C3FJH2VuOdON4tia</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.007.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.007.Req.xml new file mode 100644 index 000000000..01ea3bcc2 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.007.Req.xml @@ -0,0 +1,19 @@ +<?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="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"> + <XMLContent xml:space="preserve">Dies sind Testdaten</XMLContent> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.007.Res.xml b/spss.test/data/CX0/TestGeneratorCX0.007.Res.xml new file mode 100644 index 000000000..ddfdf07c2 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.007.Res.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + ><SignatureEnvironment><dsig:Signature Id="signature-1-1" 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-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>KNSjqcRkcNASW4brqj5mgkxMRu8Wv0suTrvjmw7JyVHrsWQvPyTMjw9B0t7/ih5i +DcgUAByQ++ijk/v+xnBePrTi5DVbyqAwWbnehMNGX1Un/ZhxVajbSKHxwjaU1loX +cTH5w5m9goN7w7DN5o9vEbIoHkQpTDiGhp2zXvHHIaA=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.008.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.008.Req.xml new file mode 100644 index 000000000..543c28ad0 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.008.Req.xml @@ -0,0 +1,19 @@ +<?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="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"> + <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.008.Res.xml b/spss.test/data/CX0/TestGeneratorCX0.008.Res.xml new file mode 100644 index 000000000..ddfdf07c2 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.008.Res.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + ><SignatureEnvironment><dsig:Signature Id="signature-1-1" 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-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>KNSjqcRkcNASW4brqj5mgkxMRu8Wv0suTrvjmw7JyVHrsWQvPyTMjw9B0t7/ih5i +DcgUAByQ++ijk/v+xnBePrTi5DVbyqAwWbnehMNGX1Un/ZhxVajbSKHxwjaU1loX +cTH5w5m9goN7w7DN5o9vEbIoHkQpTDiGhp2zXvHHIaA=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.009.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.009.Req.xml new file mode 100644 index 000000000..3645b9586 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.009.Req.xml @@ -0,0 +1,17 @@ +<?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="enveloping" ChildOfManifest="false"> + <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"/> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.009.Res.xml b/spss.test/data/CX0/TestGeneratorCX0.009.Res.xml new file mode 100644 index 000000000..f2373768c --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.009.Res.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + ><SignatureEnvironment><dsig:Signature Id="signature-1-1" 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-1-1" URI="#xpointer(id('signed-data-1-1-1')/node())"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>BZcl/8GN5YI1fRFkTmv3YVstrVtFS5XquQoylfkXya4KsNRrhW8Sd0go+JxfbbaQ +FP671mer7rlj42zYxgAB1rfr0zogy9gkSf69GftRdHH1z5w79lGgzQga5PbY7d24 +AKt/oETiJcGFH0C3XVWxOIZdK9z4jMrMvkAoEVJ06G4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object Id="signed-data-1-1-1">RGllcyBzaW5kIFRlc3RkYXRlbg==</dsig:Object></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.010.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.010.Req.xml new file mode 100644 index 000000000..6fba03be0 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.010.Req.xml @@ -0,0 +1,19 @@ +<?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="enveloping" ChildOfManifest="false"> + <DataObject> + <XMLContent xml:space="preserve"><Testdaten>Dies sind Testdaten</Testdaten></XMLContent> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.010.Res.xml b/spss.test/data/CX0/TestGeneratorCX0.010.Res.xml new file mode 100644 index 000000000..8bc88b7e4 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.010.Res.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + ><SignatureEnvironment><dsig:Signature Id="signature-1-1" 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-1-1" URI="#xpointer(id('signed-data-1-1-1')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>od5SQWC03fSOGu+CecxOpTv8FgA=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>xVA56wR2JvvMfULvvMbNSIqrJO8A5WOzkEYF72TLq80Oz3pGfD3VR3RpBBu+pfEi +W+cEB3rPMxDdrkQwcxiCr6P7SeefXmOzj2LNFSs16TBEJoCRNELCVb1g7AOmlAuO +LRSWsJlINrDoMWvxtmFI1oAhKWyphZSZRM/A2YXaMyM=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object Id="signed-data-1-1-1"><Testdaten>Dies sind Testdaten</Testdaten></dsig:Object></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.011.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.011.Req.xml new file mode 100644 index 000000000..6ea1a4799 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.011.Req.xml @@ -0,0 +1,19 @@ +<?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="enveloping" ChildOfManifest="false"> + <DataObject> + <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.011.Res.xml b/spss.test/data/CX0/TestGeneratorCX0.011.Res.xml new file mode 100644 index 000000000..f2373768c --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.011.Res.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + ><SignatureEnvironment><dsig:Signature Id="signature-1-1" 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-1-1" URI="#xpointer(id('signed-data-1-1-1')/node())"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>BZcl/8GN5YI1fRFkTmv3YVstrVtFS5XquQoylfkXya4KsNRrhW8Sd0go+JxfbbaQ +FP671mer7rlj42zYxgAB1rfr0zogy9gkSf69GftRdHH1z5w79lGgzQga5PbY7d24 +AKt/oETiJcGFH0C3XVWxOIZdK9z4jMrMvkAoEVJ06G4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object Id="signed-data-1-1-1">RGllcyBzaW5kIFRlc3RkYXRlbg==</dsig:Object></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.012.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.012.Req.xml new file mode 100644 index 000000000..f7b82c65a --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.012.Req.xml @@ -0,0 +1,19 @@ +<?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" > + <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"> + <XMLContent xml:space="preserve">Dies sind Testdaten</XMLContent> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.012.Res.xml b/spss.test/data/CX0/TestGeneratorCX0.012.Res.xml new file mode 100644 index 000000000..ddfdf07c2 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.012.Res.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + ><SignatureEnvironment><dsig:Signature Id="signature-1-1" 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-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>KNSjqcRkcNASW4brqj5mgkxMRu8Wv0suTrvjmw7JyVHrsWQvPyTMjw9B0t7/ih5i +DcgUAByQ++ijk/v+xnBePrTi5DVbyqAwWbnehMNGX1Un/ZhxVajbSKHxwjaU1loX +cTH5w5m9goN7w7DN5o9vEbIoHkQpTDiGhp2zXvHHIaA=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.013.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.013.Req.xml new file mode 100644 index 000000000..7a82a48be --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.013.Req.xml @@ -0,0 +1,17 @@ +<?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="true"> + <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt" /> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.013.Res.xml b/spss.test/data/CX0/TestGeneratorCX0.013.Res.xml new file mode 100644 index 000000000..48ccba2b2 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.013.Res.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + ><SignatureEnvironment><dsig:Signature Id="signature-1-1" 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 Type="http://www.w3.org/2000/09/xmldsig#Manifest" URI="#dsig-manifest-1-1"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>dGNOIZnPdyscRdAsjM9zJUGORGg=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>yZ6KYqGZj/AhzuOpqHgzQtSeVhwLI0tBbVoztu+vdQ7eEh+IGO5/0/Q8bV3GKcWx +adQ0MoN4hE++t0lY6kaUOg8Kp/qt3vepgtqivgGZvtZIXsvb5ENU6MLxlSyUD8Wn +gkTe8sEd+7F61BHPKaNFT7Vd57OytcCvm2YnUOJSKPk=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="dsig-manifest-1-1"><dsig:Reference Id="reference-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.014.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.014.Req.xml new file mode 100644 index 000000000..dcb54f8b3 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.014.Req.xml @@ -0,0 +1,17 @@ +<?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="true"> + <DataObjectInfo Structure="detached" ChildOfManifest="false"> + <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testUTF8.txt" /> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.014.Res.xml b/spss.test/data/CX0/TestGeneratorCX0.014.Res.xml new file mode 100644 index 000000000..f24108481 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.014.Res.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + ><SignatureEnvironment><dsig:Signature Id="signature-1-1" 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-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testUTF8.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+WMzUGbzSA35sXMMEes2VLiG7jU=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('etsi-signed-1-1')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>bnFGv3/eK1vVnk1rq7WLXyNReps=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>1exWa5rr1K9NhNzIBVLlEAa8YR4vBkULm6F8h+UNJ5UFUi4kydNfPMhjtVJ5Y1xl +rtFoidU2fyMCSIMmObNCscv+eBECWyoohVdv0ZV/ZQLe1nQCB95yWFqprpHEiA2v +sJpk/6cOOreypueftxo/TySboyWtAAIcARs27isTn1A=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object Id="etsi-signed-1-1"><etsi:QualifyingProperties Target="#signature-1-1" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-05-10T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1-1"><etsi:MimeType>text/plain</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.015.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.015.Req.xml new file mode 100644 index 000000000..f4ce69b27 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.015.Req.xml @@ -0,0 +1,27 @@ +<?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"> + <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"/> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + <DataObjectInfo Structure="detached"> + <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"/> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.015.Res.xml b/spss.test/data/CX0/TestGeneratorCX0.015.Res.xml new file mode 100644 index 000000000..aa01f5fc3 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.015.Res.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + ><SignatureEnvironment><dsig:Signature Id="signature-1-1" 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-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference><dsig:Reference Id="reference-1-2" URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>5UITYnwdTD4/aJoGU83mr4gIO/aJfmV8u3kYnNSuBghvQg6j7ERujItgx7VLVH09 +wCTZgfIJKkyZXvxDPQtpRsRQ53k387Zu0E72Y59ooTEYQsZ6Lw9aDMgqpnbB4VNt +y04f2jgUnR+OtKUVNFMD0jOPNEPTDEDSPT8oyl3pKio=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.016.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.016.Req.xml new file mode 100644 index 000000000..75e49a917 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.016.Req.xml @@ -0,0 +1,31 @@ +<?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="enveloping"> + <DataObject> + <XMLContent xml:space="preserve">Dies sind Testdaten</XMLContent> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + <DataObjectInfo Structure="enveloping"> + <DataObject> + <XMLContent xml:space="preserve">Dies sind Testdaten</XMLContent> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.016.Res.xml b/spss.test/data/CX0/TestGeneratorCX0.016.Res.xml new file mode 100644 index 000000000..369229118 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.016.Res.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + ><SignatureEnvironment><dsig:Signature Id="signature-1-1" 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-1-1" URI="#xpointer(id('signed-data-1-1-1')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference><dsig:Reference Id="reference-1-2" URI="#xpointer(id('signed-data-1-2-1')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>G7aYovXJcXMF32DLByHNOdbvPJObYqCaIKAWoAftRFuJ4IgY8x5dJNp9YGHcFqb1 +E0KNqn6eqw7sIz9QILJYHEfNQwhlJf9+RBFGgFnr8PfFiQXciK5ylwSVKXwmtDAs +SuWZ0W+UFFGg6W6vm2L9n88pG9KoyevzmYYtq3kj/F0=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object Id="signed-data-1-1-1">Dies sind Testdaten</dsig:Object><dsig:Object Id="signed-data-1-2-1">Dies sind Testdaten</dsig:Object></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.017.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.017.Req.xml new file mode 100644 index 000000000..705d8863b --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.017.Req.xml @@ -0,0 +1,29 @@ +<?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"> + <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"/> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + <DataObjectInfo Structure="enveloping"> + <DataObject> + <XMLContent xml:space="preserve">Dies sind Testdaten</XMLContent> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.017.Res.xml b/spss.test/data/CX0/TestGeneratorCX0.017.Res.xml new file mode 100644 index 000000000..fc691dba0 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.017.Res.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + ><SignatureEnvironment><dsig:Signature Id="signature-1-1" 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-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference><dsig:Reference Id="reference-1-2" URI="#xpointer(id('signed-data-1-2-1')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>cTj3gR4sBAwk9HkvwS4f3lmpMW7IoEIfZsXtXHAwjglTGM76Mb+yKSkMWX1UUAiQ +Xp7n9Sig2V6N//pUDoatpjIzak4xntZHOU0wXX5a9hVU8rg9PvS6MXgMFfwMJ4QA +VCMYpYRFq0qQwxMr8U2jqnitCy6kmnTPH6zXz323T5I=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object Id="signed-data-1-2-1">Dies sind Testdaten</dsig:Object></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.018.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.018.Req.xml new file mode 100644 index 000000000..8b1cffbda --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.018.Req.xml @@ -0,0 +1,29 @@ +<?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"> + <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"/> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> + <SingleSignatureInfo SecurityLayerConformity="false"> + <DataObjectInfo Structure="detached"> + <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"/> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.018.Res.xml b/spss.test/data/CX0/TestGeneratorCX0.018.Res.xml new file mode 100644 index 000000000..b5940bf18 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.018.Res.xml @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + ><SignatureEnvironment><dsig:Signature Id="signature-1-1" 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-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>gBB3qVsHcXriR5DRnqpoAtGSZozMUEprBtbt/pusEylilSrndPufeDaaCm8PtbUe +c0ezEu7/xLJPc5qC/cqv0B3f0RDR2RPCSfZNu/vcc8YddLdgy+p+cDOEneXPUEOa +FKkqvEmIJBGWsG/UbNobP6J1YFLeM3Wjbn+cUstfgVY=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment><SignatureEnvironment><dsig:Signature Id="signature-2-1" 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-2-1" URI="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>x7QxfhPTLmWw0XAC0eyZLKbVXuNDqS11Yf97x2ADFQVYAEfx8L8RHDCIHwFL3Dx8 +tXTunXlPj0G+4eIWie0c8A5Q5rIukYaO4iCyRFOq6BcEWmdBC7Q43K/IYE09sj/y +wTLizreXSFe/n9xjlaCsfPVokzI1k80AakMVXXcalZk=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment> </CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.019.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.019.Req.xml new file mode 100644 index 000000000..6630363ea --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.019.Req.xml @@ -0,0 +1,17 @@ +<?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="enveloping" ChildOfManifest="false"> + <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testXML.txt"/> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/xml</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.019.Res.xml b/spss.test/data/CX0/TestGeneratorCX0.019.Res.xml new file mode 100644 index 000000000..0d0ae0805 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.019.Res.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + ><SignatureEnvironment><dsig:Signature Id="signature-1-1" 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-1-1" URI="#xpointer(id('signed-data-1-1-1')/node())"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>Z9Rr4wyNUP2Pe0sBdLz447sJt8o=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>0E3/PZv+Kw2L9Hwmgr7CQgVLdOx+VtogRrAFgLoloFAwcbnRNf3VnEiMjrcT0jSy +sVyBwzD4T1tFwgzT23tStJa7eXdnLt7jbYGsiRiX6EyyXrSpXgij0s3tgplhw57p +7UYGNiNzyFJ1+Za71l5DN8SauVG0YLRz1bvms3l6ujM=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object Id="signed-data-1-1-1">PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxIdWdvPg0K +CVRlc3QNCjwvSHVnbz4=</dsig:Object></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.051.ErrRes.xml b/spss.test/data/CX0/TestGeneratorCX0.051.ErrRes.xml new file mode 100644 index 000000000..5b2b55035 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.051.ErrRes.xml @@ -0,0 +1 @@ +1100
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.051.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.051.Req.xml new file mode 100644 index 000000000..3f30d232f --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.051.Req.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="ISO-8859-1"?><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="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"/> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + <SuperExtraElementThatShouldNotBeValidWithTheSchema/> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.052.ErrRes.xml b/spss.test/data/CX0/TestGeneratorCX0.052.ErrRes.xml new file mode 100644 index 000000000..af2e09a3e --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.052.ErrRes.xml @@ -0,0 +1 @@ +0000
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.052.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.052.Req.xml new file mode 100644 index 000000000..2b35846c0 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.052.Req.xml @@ -0,0 +1,19 @@ +<?xml encoding="ISO-8859-1"?><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="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"> + <!-- Hint --> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.053.ErrRes.xml b/spss.test/data/CX0/TestGeneratorCX0.053.ErrRes.xml new file mode 100644 index 000000000..af2e09a3e --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.053.ErrRes.xml @@ -0,0 +1 @@ +0000
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.053.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.053.Req.xml new file mode 100644 index 000000000..7f819ccc8 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.053.Req.xml @@ -0,0 +1,19 @@ +<?xml version="5.0alpha3" encoding="ISO-8859-1"?><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="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"> + <!-- Hint --> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.054.ErrRes.xml b/spss.test/data/CX0/TestGeneratorCX0.054.ErrRes.xml new file mode 100644 index 000000000..af2e09a3e --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.054.ErrRes.xml @@ -0,0 +1 @@ +0000
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.054.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.054.Req.xml new file mode 100644 index 000000000..e1024af59 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.054.Req.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="SuperSvenEncoding:)"?><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="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"> + <!-- Hint --> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.055.ErrRes.xml b/spss.test/data/CX0/TestGeneratorCX0.055.ErrRes.xml new file mode 100644 index 000000000..5b2b55035 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.055.ErrRes.xml @@ -0,0 +1 @@ +1100
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.055.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.055.Req.xml new file mode 100644 index 000000000..e7bc6bb3c --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.055.Req.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="ISO-8859-1"?><CreateXMLSignatureRequest + xmlns="http://www.w3.org/2000/09/svens_schema#" + xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> + <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier> + <SingleSignatureInfo SecurityLayerConformity="false"> + <DataObjectInfo Structure="detached" ChildOfManifest="false"> + <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"> + <!-- Hint --> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.056.ErrRes.xml b/spss.test/data/CX0/TestGeneratorCX0.056.ErrRes.xml new file mode 100644 index 000000000..2416c2c45 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.056.ErrRes.xml @@ -0,0 +1 @@ +2231
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.056.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.056.Req.xml new file mode 100644 index 000000000..5acf38c3f --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.056.Req.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="ISO-8859-1"?><CreateXMLSignatureRequest + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> + <KeyIdentifier>wrong_value_KeyIdentifier</KeyIdentifier> + <SingleSignatureInfo SecurityLayerConformity="false"> + <DataObjectInfo Structure="detached" ChildOfManifest="false"> + <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"> + <!-- Hint --> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.057.ErrRes.xml b/spss.test/data/CX0/TestGeneratorCX0.057.ErrRes.xml new file mode 100644 index 000000000..929701d34 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.057.ErrRes.xml @@ -0,0 +1 @@ +2220
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.057.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.057.Req.xml new file mode 100644 index 000000000..79984a855 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.057.Req.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="ISO-8859-1"?><CreateXMLSignatureRequest + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> + <KeyIdentifier>PKCS12RSAKeyExpired</KeyIdentifier> + <SingleSignatureInfo SecurityLayerConformity="false"> + <DataObjectInfo Structure="detached" ChildOfManifest="false"> + <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"> + <!-- Hint --> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.058.ErrRes.xml b/spss.test/data/CX0/TestGeneratorCX0.058.ErrRes.xml new file mode 100644 index 000000000..929701d34 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.058.ErrRes.xml @@ -0,0 +1 @@ +2220
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.058.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.058.Req.xml new file mode 100644 index 000000000..c0647aa63 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.058.Req.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="ISO-8859-1"?><CreateXMLSignatureRequest + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> + <KeyIdentifier>DSAinPKCS12</KeyIdentifier> + <SingleSignatureInfo SecurityLayerConformity="false"> + <DataObjectInfo Structure="detached" ChildOfManifest="false"> + <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"> + <!-- Hint --> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.059.ErrRes.xml b/spss.test/data/CX0/TestGeneratorCX0.059.ErrRes.xml new file mode 100644 index 000000000..758e03adc --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.059.ErrRes.xml @@ -0,0 +1 @@ +2208
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.059.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.059.Req.xml new file mode 100644 index 000000000..e8d2ebf81 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.059.Req.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="ISO-8859-1"?><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="http://localhost:8080/moa-spss-testdata/not_here.txt"> + <!-- Hint --> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.060.ErrRes.xml b/spss.test/data/CX0/TestGeneratorCX0.060.ErrRes.xml new file mode 100644 index 000000000..4d642625f --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.060.ErrRes.xml @@ -0,0 +1 @@ +1102
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.060.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.060.Req.xml new file mode 100644 index 000000000..a371cf389 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.060.Req.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="ISO-8859-1"?><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 > + <!-- Hint --> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.062.ErrRes.xml b/spss.test/data/CX0/TestGeneratorCX0.062.ErrRes.xml new file mode 100644 index 000000000..5b2b55035 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.062.ErrRes.xml @@ -0,0 +1 @@ +1100
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.062.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.062.Req.xml new file mode 100644 index 000000000..8f4a32e24 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.062.Req.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="ISO-8859-1"?><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 > + <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg=</Base64Content> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.064.ErrRes.xml b/spss.test/data/CX0/TestGeneratorCX0.064.ErrRes.xml new file mode 100644 index 000000000..96e38be91 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.064.ErrRes.xml @@ -0,0 +1 @@ +1110
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.064.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.064.Req.xml new file mode 100644 index 000000000..4c58db2f1 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.064.Req.xml @@ -0,0 +1,19 @@ +<?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="enveloping" ChildOfManifest="false"> + <DataObject Reference="http://localhost:8080/moa-spss-testdata/testDatenFalsch.txt"> + <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.065.ErrRes.xml b/spss.test/data/CX0/TestGeneratorCX0.065.ErrRes.xml new file mode 100644 index 000000000..4d642625f --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.065.ErrRes.xml @@ -0,0 +1 @@ +1102
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.065.Req.xml b/spss.test/data/CX0/TestGeneratorCX0.065.Req.xml new file mode 100644 index 000000000..17ebc8ca3 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.065.Req.xml @@ -0,0 +1,19 @@ +<?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> + <XMLContent xml:space="preserve">Dies sind Testdaten</XMLContent> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX0/TestGeneratorCX0.Config.xml b/spss.test/data/CX0/TestGeneratorCX0.Config.xml new file mode 100644 index 000000000..1f4feffa7 --- /dev/null +++ b/spss.test/data/CX0/TestGeneratorCX0.Config.xml @@ -0,0 +1 @@ +<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>
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.001.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.001.Req.xml new file mode 100644 index 000000000..862027e78 --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.001.Req.xml @@ -0,0 +1 @@ +<?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="http://localhost:8080/moa-spss-testdata/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: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></dsig:Transforms><FinalDataMetaInfo><MimeType>text/html</MimeType><Description>http://www.description.com</Description></FinalDataMetaInfo></CreateTransformsInfo><!-- insert supp --></CreateTransformsInfoProfile></DataObjectInfo><!-- insert data2 --></SingleSignatureInfo></CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.001.Res.xml b/spss.test/data/CX1/TestGeneratorCX1.001.Res.xml new file mode 100644 index 000000000..cd31aa035 --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.001.Res.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><SignatureEnvironment><dsig:Signature Id="signature-1-1" 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-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:output indent="no" method="html"/><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></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>YjKlNeYiWGTFMJfOtz4AAreHxfiGHrLUr2TT5D7rn2di7WyQKZcqmTQEnFdUC7pa +lcqpPCTPpxEWRKxVoueMeXI2XVIlLZtydKtawfCXCR3UTANT8g944cnQLeLF4cxP +nhKm0pMqTUBdqy34eQsPNutKyhDCPbze+bIrLj1wyWY=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment> </CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.002.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.002.Req.xml new file mode 100644 index 000000000..e7e302a46 --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.002.Req.xml @@ -0,0 +1 @@ +<?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="true"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="http://localhost:8080/moa-spss-testdata/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: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></dsig:Transforms><FinalDataMetaInfo><MimeType>text/html</MimeType><Description>http://www.description.com</Description></FinalDataMetaInfo></CreateTransformsInfo><!-- insert supp --></CreateTransformsInfoProfile></DataObjectInfo><!-- insert data2 --></SingleSignatureInfo></CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.002.Res.xml b/spss.test/data/CX1/TestGeneratorCX1.002.Res.xml new file mode 100644 index 000000000..d93e424ea --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.002.Res.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><SignatureEnvironment><dsig:Signature Id="signature-1-1" 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-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:output indent="no" method="html"/><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></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('etsi-signed-1-1')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>e58AwoQMkj93QqalFkkzOxapv+c=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>D9fk9xEubUZCo1h1Mw/qEed4z9QwwspxP5z48V5ywwM1lyirhZZZVQi8RDOnQKbJ +yrosd4zZ+IiUXs2wtKQ0jV6tK9gHIuxhMTgtKHJZrnTnIUknG3VmIX59cmP/JvIl +989vBQA247wiWEYZ+Wxp5/SIDLztYP8cfxEffBl6OEo=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object Id="etsi-signed-1-1"><etsi:QualifyingProperties Target="#signature-1-1" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-05-10T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></SignatureEnvironment> </CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.003.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.003.Req.xml new file mode 100644 index 000000000..690ec6a2f --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.003.Req.xml @@ -0,0 +1 @@ +<?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="http://localhost:8080/moa-spss-testdata/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-xpath-19991116"><dsig:XPath xmlns:data="http://uri.data.org">//data:book/data:first-name</dsig:XPath></dsig:Transform></dsig:Transforms><FinalDataMetaInfo><MimeType>text/plain</MimeType><Description>http://www.description.com</Description></FinalDataMetaInfo></CreateTransformsInfo><!-- insert supp --></CreateTransformsInfoProfile></DataObjectInfo><!-- insert data2 --></SingleSignatureInfo></CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.003.Res.xml b/spss.test/data/CX1/TestGeneratorCX1.003.Res.xml new file mode 100644 index 000000000..1a3edd3f4 --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.003.Res.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><SignatureEnvironment><dsig:Signature Id="signature-1-1" 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-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116"><dsig:XPath>//data:book/data:first-name</dsig:XPath></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>fY1uE8z+IoSvkNCYLmLvjrJHZ7A=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>ZSv8OQ/GXBnm/7bY+jMKJ2w5kGaqUYo8nQVMbSSDrNZ0V/lZTL7UC6id1LCmmim0 +ejWSpehabE/JX4/Kx4u0HzekL4kKv0sFZQ9z1rOdhWNZ3GgM2dJe/Bz+A5w7H+x6 +OZah1tDVIiyAJiAOHNsIhmuE8W2SQCEDPXCOC51TjiQ=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment> </CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.004.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.004.Req.xml new file mode 100644 index 000000000..98f052f15 --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.004.Req.xml @@ -0,0 +1 @@ +<?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="http://localhost:8080/moa-spss-testdata/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/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></dsig:Transforms><FinalDataMetaInfo><MimeType>text/xml</MimeType><Description>http://www.description.com</Description></FinalDataMetaInfo></CreateTransformsInfo><!-- insert supp --></CreateTransformsInfoProfile></DataObjectInfo><!-- insert data2 --></SingleSignatureInfo></CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.004.Res.xml b/spss.test/data/CX1/TestGeneratorCX1.004.Res.xml new file mode 100644 index 000000000..cd734cd2c --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.004.Res.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><SignatureEnvironment><dsig:Signature Id="signature-1-1" 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-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><dsig:Transforms><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">//data:book/data:first-name</xf2:XPath></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>Sx4DuAkpeSaD7yHkYaRmxiRN174=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>OtZapSxxPtO2d02c5REzD7r96RmAPnY0p9Nuig1YpyuWrbqfkIQBrnz+IFlMXBMH +VNH+iUTzJAi0kwTvic2kWBQyqhhw9MVsaBVFzXNlDCXamz8ekNtACGN/5v/2THmG +wauafmZe96F2aNmHp1HeYnSBlKJBKxt4xRbCZNyiGSw=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment> </CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.005.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.005.Req.xml new file mode 100644 index 000000000..cc3a97d02 --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.005.Req.xml @@ -0,0 +1 @@ +<?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="http://localhost:8080/moa-spss-testdata/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/2001/REC-xml-c14n-20010315"/></dsig:Transforms><FinalDataMetaInfo><MimeType>text/xml</MimeType><Description>http://www.description.com</Description></FinalDataMetaInfo></CreateTransformsInfo><!-- insert supp --></CreateTransformsInfoProfile></DataObjectInfo><!-- insert data2 --></SingleSignatureInfo></CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.005.Res.xml b/spss.test/data/CX1/TestGeneratorCX1.005.Res.xml new file mode 100644 index 000000000..66ed1c2aa --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.005.Res.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><SignatureEnvironment><dsig:Signature Id="signature-1-1" 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-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>fY1uE8z+IoSvkNCYLmLvjrJHZ7A=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>FO3Cvncp/1evuLSp3PXPSuuOJ1r6YuCZTdvm7j2Bck0/uPPCBddUMLJwbhaKhbjI +5LpSQ/K/DyA0zaFqEqP0sBuLYJP8ldhbqCLOHVi2sHSO0SXTre20EFwRQONow3JL +EuQD+AkFw4rBRpXzlHp+uH79/OWpkGQfKEm6jFPgvco=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment> </CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.006.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.006.Req.xml new file mode 100644 index 000000000..8477b7f5e --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.006.Req.xml @@ -0,0 +1 @@ +<?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="http://localhost:8080/moa-spss-testdata/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/2001/REC-xml-c14n-20010315#WithComments"/></dsig:Transforms><FinalDataMetaInfo><MimeType>text/xml</MimeType><Description>http://www.description.com</Description></FinalDataMetaInfo></CreateTransformsInfo><!-- insert supp --></CreateTransformsInfoProfile></DataObjectInfo><!-- insert data2 --></SingleSignatureInfo></CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.006.Res.xml b/spss.test/data/CX1/TestGeneratorCX1.006.Res.xml new file mode 100644 index 000000000..8570fd44d --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.006.Res.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><SignatureEnvironment><dsig:Signature Id="signature-1-1" 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-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>fY1uE8z+IoSvkNCYLmLvjrJHZ7A=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>ldzNP2YNW8YXi/ilYIXu44wUouG4SRZwObsdMU/NEMNP1I00/b6kdKiBzjmNGXQ1 +SvobxGs/iNrgbQmNKy47I64h59eEtVgVNZLEbCZxvFvnNundclN25NdEW409zOwr +XlVWj1d0VuwewdGkD923YI4/uwobKpb6c1OTzGq+BxY=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment> </CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.007.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.007.Req.xml new file mode 100644 index 000000000..a1905644f --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.007.Req.xml @@ -0,0 +1 @@ +<?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="http://localhost:8080/moa-spss-testdata/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/2001/10/xml-exc-c14n#"><ec:InclusiveNamespaces PrefixList="dsig" xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/></dsig:Transform></dsig:Transforms><FinalDataMetaInfo><MimeType>text/xml</MimeType><Description>http://www.description.com</Description></FinalDataMetaInfo></CreateTransformsInfo><!-- insert supp --></CreateTransformsInfoProfile></DataObjectInfo><!-- insert data2 --></SingleSignatureInfo></CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.007.Res.xml b/spss.test/data/CX1/TestGeneratorCX1.007.Res.xml new file mode 100644 index 000000000..3c8f9e7a3 --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.007.Res.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><SignatureEnvironment><dsig:Signature Id="signature-1-1" 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-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"><ec14n:InclusiveNamespaces PrefixList="dsig" xmlns:ec14n="http://www.w3.org/2001/10/xml-exc-c14n#"/></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>fY1uE8z+IoSvkNCYLmLvjrJHZ7A=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>qKTb3HEawjYkKi6fpRld3thQQstB2R20D+eCT08iA8qZl6hCKXCGu3RCwt0BMb1O +UQitL5wZRIRqjLhX/aTskA378m+8lhcRJlI+JTBk1Go71qnIJV8lQrEHm1gZaFJl +iB4H4J+FPhjb4Lah3VSGJmxFpUC2HuVkSJ8awIeZVNE=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment> </CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.008.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.008.Req.xml new file mode 100644 index 000000000..689914a57 --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.008.Req.xml @@ -0,0 +1 @@ +<?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="http://localhost:8080/moa-spss-testdata/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/2001/10/xml-exc-c14n#WithComments"><ec:InclusiveNamespaces PrefixList="dsig" xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/></dsig:Transform></dsig:Transforms><FinalDataMetaInfo><MimeType>text/xml</MimeType><Description>http://www.description.com</Description></FinalDataMetaInfo></CreateTransformsInfo><!-- insert supp --></CreateTransformsInfoProfile></DataObjectInfo><!-- insert data2 --></SingleSignatureInfo></CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.008.Res.xml b/spss.test/data/CX1/TestGeneratorCX1.008.Res.xml new file mode 100644 index 000000000..886661c4c --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.008.Res.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><SignatureEnvironment><dsig:Signature Id="signature-1-1" 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-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#WithComments"><ec14n:InclusiveNamespaces PrefixList="dsig" xmlns:ec14n="http://www.w3.org/2001/10/xml-exc-c14n#"/></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>fY1uE8z+IoSvkNCYLmLvjrJHZ7A=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Jteo5NXaQvd5YKxvaXwFVw6qUmbRaM2wLJe1EiaIaX7BNHGrxRq90qBMohCZmIFk +yiIU3iZZaoHFUUcuTnzpgTQrh9Y1H3itEn4uE7CpP4Itsm2+HsORTy42d9oRBOKK +rFXZIrfi3NwycElvf2F6ag1saDcKUFJZSnaZ/DY7W7M=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment> </CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.009.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.009.Req.xml new file mode 100644 index 000000000..ddd39adda --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.009.Req.xml @@ -0,0 +1 @@ +<?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=""></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></dsig:Transforms><FinalDataMetaInfo><MimeType>text/html</MimeType><Description>http://www.description.com</Description></FinalDataMetaInfo></CreateTransformsInfo><!-- insert supp --></CreateTransformsInfoProfile></DataObjectInfo><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></SingleSignatureInfo></CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.009.Res.xml b/spss.test/data/CX1/TestGeneratorCX1.009.Res.xml new file mode 100644 index 000000000..68a626075 --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.009.Res.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><SignatureEnvironment><env:Document xmlns:env="http://uri.env.org">Text<dsig:Signature Id="signature-1-1" 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-1-1" URI=""><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>j4SLfpgzRuL1rQEgy97/rNCt4I8=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>16e/BfTIpoRU5TQi6NM/hOPIcw0YYn+Cm0ZuN4imMELPz80YSC2JGk/PYkC3TL24 +anJ+BNzaPNOAPCWwga8ityx47ssW7S2rsTIBGEj7ThF1WO9yI0+5wdJLCuomqEOQ +/9MWrYCw8FvIZPiSjnaUbPIu9gf0bMvpY91CYa9/nsY=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></env:Document></SignatureEnvironment> </CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.010.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.010.Req.xml new file mode 100644 index 000000000..a72b29662 --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.010.Req.xml @@ -0,0 +1 @@ +<?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="http://localhost:8080/moa-spss-testdata/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/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></dsig:Transforms><FinalDataMetaInfo><MimeType>text/html</MimeType><Description>http://www.description.com</Description></FinalDataMetaInfo></CreateTransformsInfo><!-- insert supp --></CreateTransformsInfoProfile></DataObjectInfo><!-- insert data2 --></SingleSignatureInfo></CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.010.Res.xml b/spss.test/data/CX1/TestGeneratorCX1.010.Res.xml new file mode 100644 index 000000000..006d323fb --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.010.Res.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><SignatureEnvironment><dsig:Signature Id="signature-1-1" 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-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><dsig:Transforms><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 version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:output indent="no" method="html"/><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></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>3PsMFSPASX3rAnms24p61nOqdtjQ/9TzRj71A+qnLKwcy7TpQubH/CF9byovzPPK +cp7oI1SEnG6QEmV9xZo6TTE9Xg2FdLSpqPg/wZUuWxUSvXLRRCVmSB5mv2AT9rS8 +Wj4M1T5natdUXYVm428n+hkq3UY4N/ykCAScbBEnxg4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment> </CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.011.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.011.Req.xml new file mode 100644 index 000000000..832a47a18 --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.011.Req.xml @@ -0,0 +1,7 @@ +<?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="http://localhost:8080/moa-spss-testdata/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="http://localhost:8080/moa-spss-testdata/resources/CX1_book_not_here.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><FinalDataMetaInfo><MimeType>text/html</MimeType><Description>http://www.description.com</Description></FinalDataMetaInfo></CreateTransformsInfo><Supplement><Content Reference="http://localhost:8080/moa-spss-testdata/resources/CX1_book_not_here.xsl"><Base64Content>PHhzbDpzdHlsZXNoZWV0IHhtbG5zOnhzbD0iaHR0cDovL3d3dy53My5vcmcvMTk5 +OS9YU0wvVHJhbnNmb3JtIiB2ZXJzaW9uPSIxLjAiPjx4c2w6b3V0cHV0IG1ldGhv +ZD0iaHRtbCIgaW5kZW50PSJubyIvPjx4c2w6dGVtcGxhdGUgbWF0Y2g9ImRhdGE6 +Ym9vayIgeG1sbnM6ZGF0YT0iaHR0cDovL3VyaS5kYXRhLm9yZyI+PEhUTUw+PEJP +RFk+PEgxPkJ1Y2g6IDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJkYXRhOnRpdGxlIi8+ +PC9IMT48L0JPRFk+PC9IVE1MPjwveHNsOnRlbXBsYXRlPjwveHNsOnN0eWxlc2hl +ZXQ+</Base64Content></Content></Supplement></CreateTransformsInfoProfile></DataObjectInfo><!-- insert data2 --></SingleSignatureInfo></CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.011.Res.xml b/spss.test/data/CX1/TestGeneratorCX1.011.Res.xml new file mode 100644 index 000000000..7de30dc09 --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.011.Res.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><SignatureEnvironment><dsig:Signature Id="signature-1-1" 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-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://localhost:8080/moa-spss-testdata/resources/CX1_book_not_here.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>cgkUsu80j1PvYV44FIV8y4XF2yk0JUGVmoScFERV1ZxhhtaZ0BuoM0R7tzdW01q/ +pe7vai8yKY4tzWLo2kzDtH5AciWTGIVFbwgF5H/e09KD5yu8Q7+M91+DGth9lRjG +kphe1ijmx51kT39Z39keuO7ZXVSmrUHjg8F8mqsg/Rc=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment> </CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.012.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.012.Req.xml new file mode 100644 index 000000000..ef0b43e75 --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.012.Req.xml @@ -0,0 +1,7 @@ +<?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="http://localhost:8080/moa-spss-testdata/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="http://localhost:8080/moa-spss-testdata/resources/CX1_book_not_here.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><FinalDataMetaInfo><MimeType>text/html</MimeType><Description>http://www.description.com</Description></FinalDataMetaInfo></CreateTransformsInfo><!-- insert supp --></CreateTransformsInfoProfile></DataObjectInfo><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="http://localhost:8080/moa-spss-testdata/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="http://localhost:8080/moa-spss-testdata/resources/CX1_book_not_here.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><FinalDataMetaInfo><MimeType>text/html</MimeType></FinalDataMetaInfo></CreateTransformsInfo><Supplement><Content Reference="http://localhost:8080/moa-spss-testdata/resources/CX1_book_not_here.xsl"><Base64Content>PHhzbDpzdHlsZXNoZWV0IHhtbG5zOnhzbD0iaHR0cDovL3d3dy53My5vcmcvMTk5 +OS9YU0wvVHJhbnNmb3JtIiB2ZXJzaW9uPSIxLjAiPjx4c2w6b3V0cHV0IG1ldGhv +ZD0iaHRtbCIgaW5kZW50PSJubyIvPjx4c2w6dGVtcGxhdGUgbWF0Y2g9ImRhdGE6 +Ym9vayIgeG1sbnM6ZGF0YT0iaHR0cDovL3VyaS5kYXRhLm9yZyI+PEhUTUw+PEJP +RFk+PEgxPkJ1Y2g6IDx4c2w6dmFsdWUtb2Ygc2VsZWN0PSJkYXRhOnRpdGxlIi8+ +PC9IMT48L0JPRFk+PC9IVE1MPjwveHNsOnRlbXBsYXRlPjwveHNsOnN0eWxlc2hl +ZXQ+</Base64Content></Content></Supplement></CreateTransformsInfoProfile></DataObjectInfo></SingleSignatureInfo></CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.012.Res.xml b/spss.test/data/CX1/TestGeneratorCX1.012.Res.xml new file mode 100644 index 000000000..443968069 --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.012.Res.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><SignatureEnvironment><dsig:Signature Id="signature-1-1" 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-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://localhost:8080/moa-spss-testdata/resources/CX1_book_not_here.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Id="reference-1-2" URI="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://localhost:8080/moa-spss-testdata/resources/CX1_book_not_here.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>APYUrGycbhFMjWaejLXQbfN9Fg5GEgzmek/yap8DZc0fi8suyuSK83P0zeHOf2aP +JRTr9McSlgUeCXAuX25NWUCz8K/GFAoIq4M5s2IybQZmG7ri1cCYjyZcZJTA0Upd +at9EBtO1lJm2td7lBeEWIeXcTKczKNtSymt5z4n74W8=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment> </CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.013.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.013.Req.xml new file mode 100644 index 000000000..546b15e71 --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.013.Req.xml @@ -0,0 +1 @@ +<?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="http://localhost:8080/moa-spss-testdata/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><CreateTransformsInfoProfileID>CreateTransformsInfoProfile1</CreateTransformsInfoProfileID></DataObjectInfo><!-- insert data2 --></SingleSignatureInfo></CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.013.Res.xml b/spss.test/data/CX1/TestGeneratorCX1.013.Res.xml new file mode 100644 index 000000000..cd31aa035 --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.013.Res.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><SignatureEnvironment><dsig:Signature Id="signature-1-1" 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-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:output indent="no" method="html"/><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></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>YjKlNeYiWGTFMJfOtz4AAreHxfiGHrLUr2TT5D7rn2di7WyQKZcqmTQEnFdUC7pa +lcqpPCTPpxEWRKxVoueMeXI2XVIlLZtydKtawfCXCR3UTANT8g944cnQLeLF4cxP +nhKm0pMqTUBdqy34eQsPNutKyhDCPbze+bIrLj1wyWY=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment> </CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.014.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.014.Req.xml new file mode 100644 index 000000000..d1ea0073b --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.014.Req.xml @@ -0,0 +1 @@ +<?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="http://localhost:8080/moa-spss-testdata/resources/testBase64.txt"></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/></dsig:Transforms><FinalDataMetaInfo><MimeType>text/plain</MimeType><Description>http://www.description.com</Description></FinalDataMetaInfo></CreateTransformsInfo><!-- insert supp --></CreateTransformsInfoProfile></DataObjectInfo><!-- insert data2 --></SingleSignatureInfo></CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.014.Res.xml b/spss.test/data/CX1/TestGeneratorCX1.014.Res.xml new file mode 100644 index 000000000..bb965d1cf --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.014.Res.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><SignatureEnvironment><dsig:Signature Id="signature-1-1" 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-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testBase64.txt"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>gACu/OVI7EXTcH7ai8G7/P+kx3QU/ArzG2hx4bTmQlRJK4eQSy8YNM2BAz2d3omm +mQ1bNcU+gRwupC9Lusz+OZ2r3f5O5bEjkd3paoFm3pyWM8125Tp7yxdIVk0Fgkms +i+jZ3tHOaSNbR1JCcxjebqb821F5oViUA7GemjEbVnQ=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment> </CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.051.ErrRes.xml b/spss.test/data/CX1/TestGeneratorCX1.051.ErrRes.xml new file mode 100644 index 000000000..8e20b01e7 --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.051.ErrRes.xml @@ -0,0 +1 @@ +2202
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.051.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.051.Req.xml new file mode 100644 index 000000000..5da128ec8 --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.051.Req.xml @@ -0,0 +1 @@ +<?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="true"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="http://localhost:8080/moa-spss-testdata/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-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></dsig:Transforms><FinalDataMetaInfo><MimeType>text/html</MimeType><Description>http://www.description.com</Description></FinalDataMetaInfo></CreateTransformsInfo><!-- insert supp --></CreateTransformsInfoProfile></DataObjectInfo><!-- insert data2 --></SingleSignatureInfo></CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.052.ErrRes.xml b/spss.test/data/CX1/TestGeneratorCX1.052.ErrRes.xml new file mode 100644 index 000000000..4ca71c787 --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.052.ErrRes.xml @@ -0,0 +1 @@ +2215
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.052.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.052.Req.xml new file mode 100644 index 000000000..752a92c02 --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.052.Req.xml @@ -0,0 +1 @@ +<?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="http://localhost:8080/moa-spss-testdata/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"><XPath>/data:book/data:first-name/node()</XPath></dsig:Transform></dsig:Transforms><FinalDataMetaInfo><MimeType>text/html</MimeType><Description>http://www.description.com</Description></FinalDataMetaInfo></CreateTransformsInfo><!-- insert supp --></CreateTransformsInfoProfile></DataObjectInfo><!-- insert data2 --></SingleSignatureInfo></CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.053.ErrRes.xml b/spss.test/data/CX1/TestGeneratorCX1.053.ErrRes.xml new file mode 100644 index 000000000..929701d34 --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.053.ErrRes.xml @@ -0,0 +1 @@ +2220
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.053.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.053.Req.xml new file mode 100644 index 000000000..88ad8f421 --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.053.Req.xml @@ -0,0 +1 @@ +<?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="http://localhost:8080/moa-spss-testdata/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="file:/transform.xsl"/> </xsl:stylesheet> </dsig:Transform></dsig:Transforms><FinalDataMetaInfo><MimeType>text/html</MimeType><Description>http://www.description.com</Description></FinalDataMetaInfo></CreateTransformsInfo><!-- insert supp --></CreateTransformsInfoProfile></DataObjectInfo><!-- insert data2 --></SingleSignatureInfo></CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.054.ErrRes.xml b/spss.test/data/CX1/TestGeneratorCX1.054.ErrRes.xml new file mode 100644 index 000000000..9a6039e94 --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.054.ErrRes.xml @@ -0,0 +1 @@ +2234
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.054.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.054.Req.xml new file mode 100644 index 000000000..8b32973fc --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.054.Req.xml @@ -0,0 +1 @@ +<?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="http://localhost:8080/moa-spss-testdata/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><CreateTransformsInfoProfileID>CreateTransformsInfoProfileNonValid</CreateTransformsInfoProfileID></DataObjectInfo><!-- insert data2 --></SingleSignatureInfo></CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.055.ErrRes.xml b/spss.test/data/CX1/TestGeneratorCX1.055.ErrRes.xml new file mode 100644 index 000000000..e542c6660 --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.055.ErrRes.xml @@ -0,0 +1 @@ +2216
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.055.Req.xml b/spss.test/data/CX1/TestGeneratorCX1.055.Req.xml new file mode 100644 index 000000000..09359ab14 --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.055.Req.xml @@ -0,0 +1 @@ +<?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="true"><DataObjectInfo Structure="detached" ChildOfManifest="false"><DataObject Reference="http://localhost:8080/moa-spss-testdata/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/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></dsig:Transforms><FinalDataMetaInfo><MimeType>text/html</MimeType><Description>http://www.description.com</Description></FinalDataMetaInfo></CreateTransformsInfo><!-- insert supp --></CreateTransformsInfoProfile></DataObjectInfo><!-- insert data2 --></SingleSignatureInfo></CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX1/TestGeneratorCX1.Config.xml b/spss.test/data/CX1/TestGeneratorCX1.Config.xml new file mode 100644 index 000000000..22b0a824e --- /dev/null +++ b/spss.test/data/CX1/TestGeneratorCX1.Config.xml @@ -0,0 +1 @@ +<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:/http://localhost:8080/moa-spss-testdata/CX1_bookprofile.xsl"/></MOAConfiguration>
\ No newline at end of file diff --git a/spss.test/data/CX2/TestGeneratorCX2.001.Req.xml b/spss.test/data/CX2/TestGeneratorCX2.001.Req.xml new file mode 100644 index 000000000..1431b2475 --- /dev/null +++ b/spss.test/data/CX2/TestGeneratorCX2.001.Req.xml @@ -0,0 +1 @@ +<?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="http://localhost:8080/moa-spss-testdata/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"><CreateSignatureEnvironment><XMLContent xml:space="preserve"><data:Document xmlns:data="http://uri.data.org">Dies sind Testdaten</data:Document></XMLContent></CreateSignatureEnvironment><CreateSignatureEnvironmentProfile><CreateSignatureLocation Index="0">//data:Document</CreateSignatureLocation><!-- insert supp --></CreateSignatureEnvironmentProfile></CreateSignatureInfo></SingleSignatureInfo></CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX2/TestGeneratorCX2.001.Res.xml b/spss.test/data/CX2/TestGeneratorCX2.001.Res.xml new file mode 100644 index 000000000..d294bfd6e --- /dev/null +++ b/spss.test/data/CX2/TestGeneratorCX2.001.Res.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" ><SignatureEnvironment><data:Document xmlns:data="http://uri.data.org"><dsig:Signature Id="signature-1-1" 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-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>pJbF/1V3pSy/NrgNGEmxlTpz49yy+WWfO9HAjD2oI2HAYLTWBIHwYhw5GKe2Zr1k +nqEU14Uzuj/gFbmz3S739EHmBMOB24K7J1tnHx32moVEx7ghXde4gwFmJEx2SNcK +/robwo/6bHo9tn+EuKNwOjVGwAyOymV/dTrMlFr+1fI=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature>Dies sind Testdaten</data:Document></SignatureEnvironment> </CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX2/TestGeneratorCX2.002.Req.xml b/spss.test/data/CX2/TestGeneratorCX2.002.Req.xml new file mode 100644 index 000000000..4ae8724e2 --- /dev/null +++ b/spss.test/data/CX2/TestGeneratorCX2.002.Req.xml @@ -0,0 +1 @@ +<?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="http://localhost:8080/moa-spss-testdata/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"><CreateSignatureEnvironment Reference="http://localhost:8080/moa-spss-testdata/resources/testDocument.xml"/><CreateSignatureEnvironmentProfile><CreateSignatureLocation Index="0">//data:Document</CreateSignatureLocation><!-- insert supp --></CreateSignatureEnvironmentProfile></CreateSignatureInfo></SingleSignatureInfo></CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX2/TestGeneratorCX2.002.Res.xml b/spss.test/data/CX2/TestGeneratorCX2.002.Res.xml new file mode 100644 index 000000000..d294bfd6e --- /dev/null +++ b/spss.test/data/CX2/TestGeneratorCX2.002.Res.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" ><SignatureEnvironment><data:Document xmlns:data="http://uri.data.org"><dsig:Signature Id="signature-1-1" 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-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>pJbF/1V3pSy/NrgNGEmxlTpz49yy+WWfO9HAjD2oI2HAYLTWBIHwYhw5GKe2Zr1k +nqEU14Uzuj/gFbmz3S739EHmBMOB24K7J1tnHx32moVEx7ghXde4gwFmJEx2SNcK +/robwo/6bHo9tn+EuKNwOjVGwAyOymV/dTrMlFr+1fI=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature>Dies sind Testdaten</data:Document></SignatureEnvironment> </CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX2/TestGeneratorCX2.003.Req.xml b/spss.test/data/CX2/TestGeneratorCX2.003.Req.xml new file mode 100644 index 000000000..2e68f04e6 --- /dev/null +++ b/spss.test/data/CX2/TestGeneratorCX2.003.Req.xml @@ -0,0 +1,3 @@ +<?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="http://localhost:8080/moa-spss-testdata/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"><CreateSignatureEnvironment><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NPGRhdGE6RG9j +dW1lbnQgeG1sbnM6ZGF0YT0iaHR0cDovL3VyaS5kYXRhLm9yZyI+RGllcyBzaW5k +IFRlc3RkYXRlbjwvZGF0YTpEb2N1bWVudD4N</Base64Content></CreateSignatureEnvironment><CreateSignatureEnvironmentProfile><CreateSignatureLocation Index="0">//data:Document</CreateSignatureLocation><!-- insert supp --></CreateSignatureEnvironmentProfile></CreateSignatureInfo></SingleSignatureInfo></CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX2/TestGeneratorCX2.003.Res.xml b/spss.test/data/CX2/TestGeneratorCX2.003.Res.xml new file mode 100644 index 000000000..d294bfd6e --- /dev/null +++ b/spss.test/data/CX2/TestGeneratorCX2.003.Res.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" ><SignatureEnvironment><data:Document xmlns:data="http://uri.data.org"><dsig:Signature Id="signature-1-1" 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-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>pJbF/1V3pSy/NrgNGEmxlTpz49yy+WWfO9HAjD2oI2HAYLTWBIHwYhw5GKe2Zr1k +nqEU14Uzuj/gFbmz3S739EHmBMOB24K7J1tnHx32moVEx7ghXde4gwFmJEx2SNcK +/robwo/6bHo9tn+EuKNwOjVGwAyOymV/dTrMlFr+1fI=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature>Dies sind Testdaten</data:Document></SignatureEnvironment> </CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX2/TestGeneratorCX2.004.Req.xml b/spss.test/data/CX2/TestGeneratorCX2.004.Req.xml new file mode 100644 index 000000000..1431b2475 --- /dev/null +++ b/spss.test/data/CX2/TestGeneratorCX2.004.Req.xml @@ -0,0 +1 @@ +<?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="http://localhost:8080/moa-spss-testdata/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"><CreateSignatureEnvironment><XMLContent xml:space="preserve"><data:Document xmlns:data="http://uri.data.org">Dies sind Testdaten</data:Document></XMLContent></CreateSignatureEnvironment><CreateSignatureEnvironmentProfile><CreateSignatureLocation Index="0">//data:Document</CreateSignatureLocation><!-- insert supp --></CreateSignatureEnvironmentProfile></CreateSignatureInfo></SingleSignatureInfo></CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX2/TestGeneratorCX2.004.Res.xml b/spss.test/data/CX2/TestGeneratorCX2.004.Res.xml new file mode 100644 index 000000000..d294bfd6e --- /dev/null +++ b/spss.test/data/CX2/TestGeneratorCX2.004.Res.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" ><SignatureEnvironment><data:Document xmlns:data="http://uri.data.org"><dsig:Signature Id="signature-1-1" 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-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>pJbF/1V3pSy/NrgNGEmxlTpz49yy+WWfO9HAjD2oI2HAYLTWBIHwYhw5GKe2Zr1k +nqEU14Uzuj/gFbmz3S739EHmBMOB24K7J1tnHx32moVEx7ghXde4gwFmJEx2SNcK +/robwo/6bHo9tn+EuKNwOjVGwAyOymV/dTrMlFr+1fI=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature>Dies sind Testdaten</data:Document></SignatureEnvironment> </CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX2/TestGeneratorCX2.005.Req.xml b/spss.test/data/CX2/TestGeneratorCX2.005.Req.xml new file mode 100644 index 000000000..148662f64 --- /dev/null +++ b/spss.test/data/CX2/TestGeneratorCX2.005.Req.xml @@ -0,0 +1 @@ +<?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="#document"></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></dsig:Transforms><FinalDataMetaInfo><MimeType>text/plain</MimeType></FinalDataMetaInfo></CreateTransformsInfo></CreateTransformsInfoProfile></DataObjectInfo><CreateSignatureInfo xmlns:data="http://uri.data.org"><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><CreateSignatureEnvironmentProfile><CreateSignatureLocation Index="0">//data:Document</CreateSignatureLocation><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></CreateSignatureEnvironmentProfile></CreateSignatureInfo></SingleSignatureInfo></CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX2/TestGeneratorCX2.005.Res.xml b/spss.test/data/CX2/TestGeneratorCX2.005.Res.xml new file mode 100644 index 000000000..44d900fc2 --- /dev/null +++ b/spss.test/data/CX2/TestGeneratorCX2.005.Res.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" ><SignatureEnvironment><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"><dsig:Signature Id="signature-1-1" 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-1-1" URI="#document"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>YQuo5v1WFKeQdaZKngk/i8Y7U5I=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>uVdK8ctM1ZSxcpu9sk8j0OKzz1YPDEiEXlY9AHqsqAH/e3ICpIrUfucHTOU3PISm +GojzDTTZqZ5vsmjo4MRzxC65Zu84xc9Qy8WlM85vpDPZkz5Z3kKv2TvSmT0BHdlc +j+YWYFIMr7kxs+ls1KPd21OmMkiVTF0BAavEOg6XjRo=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature>Dies sind Testdaten</data:Document></SignatureEnvironment> </CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX2/TestGeneratorCX2.006.Req.xml b/spss.test/data/CX2/TestGeneratorCX2.006.Req.xml new file mode 100644 index 000000000..a69466b9a --- /dev/null +++ b/spss.test/data/CX2/TestGeneratorCX2.006.Req.xml @@ -0,0 +1 @@ +<?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="http://localhost:8080/moa-spss-testdata/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"><CreateSignatureEnvironment><XMLContent xml:space="preserve"><data:Document xmlns:data="http://uri.data.org">Dies sind Testdaten</data:Document></XMLContent></CreateSignatureEnvironment><CreateSignatureEnvironmentProfileID>CreateSignatureEnvironmentProfile1</CreateSignatureEnvironmentProfileID></CreateSignatureInfo></SingleSignatureInfo></CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX2/TestGeneratorCX2.006.Res.xml b/spss.test/data/CX2/TestGeneratorCX2.006.Res.xml new file mode 100644 index 000000000..d294bfd6e --- /dev/null +++ b/spss.test/data/CX2/TestGeneratorCX2.006.Res.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" ><SignatureEnvironment><data:Document xmlns:data="http://uri.data.org"><dsig:Signature Id="signature-1-1" 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-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>pJbF/1V3pSy/NrgNGEmxlTpz49yy+WWfO9HAjD2oI2HAYLTWBIHwYhw5GKe2Zr1k +nqEU14Uzuj/gFbmz3S739EHmBMOB24K7J1tnHx32moVEx7ghXde4gwFmJEx2SNcK +/robwo/6bHo9tn+EuKNwOjVGwAyOymV/dTrMlFr+1fI=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature>Dies sind Testdaten</data:Document></SignatureEnvironment> </CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX2/TestGeneratorCX2.007.Req.xml b/spss.test/data/CX2/TestGeneratorCX2.007.Req.xml new file mode 100644 index 000000000..b9b2d65df --- /dev/null +++ b/spss.test/data/CX2/TestGeneratorCX2.007.Req.xml @@ -0,0 +1,6 @@ +<?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="#document"></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></dsig:Transforms><FinalDataMetaInfo><MimeType>text/plain</MimeType></FinalDataMetaInfo></CreateTransformsInfo></CreateTransformsInfoProfile></DataObjectInfo><CreateSignatureInfo><CreateSignatureEnvironment><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUg +RG9jdW1lbnQgU1lTVEVNICJodHRwOi8vZHRkLm9yZy90b2xsZXNEVEQuZHRkIj48 +RG9jdW1lbnQgYXR0cj0iZG9jdW1lbnQiPkRpZXMgc2luZCBUZXN0ZGF0ZW48L0Rv +Y3VtZW50Pg==</Base64Content></CreateSignatureEnvironment><CreateSignatureEnvironmentProfile><CreateSignatureLocation Index="0">//Document</CreateSignatureLocation><Supplement><Content Reference="http://dtd.org/tollesDTD.dtd"><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IUVMRU1FTlQg +RG9jdW1lbnQgKCNQQ0RBVEEgfCBBTlkpKj48IUFUVExJU1QgRG9jdW1lbnQgYXR0 +ciBJRCAjUkVRVUlSRUQ+</Base64Content></Content></Supplement></CreateSignatureEnvironmentProfile></CreateSignatureInfo></SingleSignatureInfo></CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX2/TestGeneratorCX2.007.Res.xml b/spss.test/data/CX2/TestGeneratorCX2.007.Res.xml new file mode 100644 index 000000000..3119cc49e --- /dev/null +++ b/spss.test/data/CX2/TestGeneratorCX2.007.Res.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" ><SignatureEnvironment><Document attr="document" xmlns=""><dsig:Signature Id="signature-1-1" 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-1-1" URI="#document"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>sI50Vkkj8mjE05Zr2+S3bmDL5sI=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>MWIP6z8/rFfljUHeOQFVvcD6kLAxfrti6CL2KjNFPDIvr8cLoZalL0x812d27D2v +qOk/bDwkUjAqV0UDdLhmUmt1rNfVA7JaYag35ybCmJ+p96dRehH0EcdcFZzJ9JdY +ECXz90M9fKhulZbXmtf991UTa51fitBIW9itxzv8ynw=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature>Dies sind Testdaten</Document></SignatureEnvironment> </CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX2/TestGeneratorCX2.008.Req.xml b/spss.test/data/CX2/TestGeneratorCX2.008.Req.xml new file mode 100644 index 000000000..9f179cee2 --- /dev/null +++ b/spss.test/data/CX2/TestGeneratorCX2.008.Req.xml @@ -0,0 +1,12 @@ +<?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="#document"></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></dsig:Transforms><FinalDataMetaInfo><MimeType>text/plain</MimeType></FinalDataMetaInfo></CreateTransformsInfo></CreateTransformsInfoProfile></DataObjectInfo><CreateSignatureInfo xmlns:data="http://uri.data.org"><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><CreateSignatureEnvironmentProfile><CreateSignatureLocation Index="0">//data:Document</CreateSignatureLocation><Supplement><Content Reference="http://tollesSchema.org/test.xsd"><Base64Content>PHhzZDpzY2hlbWEgdGFyZ2V0TmFtZXNwYWNlPSJodHRwOi8vdXJpLmRhdGEub3Jn +IiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4 +bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3Rh +bmNlIiB4bWxucz0iaHR0cDovL3VyaS5kYXRhLm9yZyIgZWxlbWVudEZvcm1EZWZh +dWx0PSJxdWFsaWZpZWQiIGF0dHJpYnV0ZUZvcm1EZWZhdWx0PSJ1bnF1YWxpZmll +ZCIgaWQ9InRvbGxlc1NjaGVtYSI+PHhzZDplbGVtZW50IG5hbWU9IkRvY3VtZW50 +Ij48eHNkOmNvbXBsZXhUeXBlIG1peGVkPSJ0cnVlIj48eHNkOnNlcXVlbmNlIG1h +eE9jY3Vycz0idW5ib3VuZGVkIiBtaW5PY2N1cnM9IjAiPjx4c2Q6YW55IG5hbWVz +cGFjZT0iIyNhbnkiIHByb2Nlc3NDb250ZW50cz0ibGF4Ii8+PC94c2Q6c2VxdWVu +Y2U+PHhzZDphdHRyaWJ1dGUgbmFtZT0iYXR0ciIgdHlwZT0ieHNkOklEIiB1c2U9 +InJlcXVpcmVkIi8+PC94c2Q6Y29tcGxleFR5cGU+PC94c2Q6ZWxlbWVudD48L3hz +ZDpzY2hlbWE+</Base64Content></Content></Supplement></CreateSignatureEnvironmentProfile></CreateSignatureInfo></SingleSignatureInfo></CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX2/TestGeneratorCX2.008.Res.xml b/spss.test/data/CX2/TestGeneratorCX2.008.Res.xml new file mode 100644 index 000000000..7bcc7b638 --- /dev/null +++ b/spss.test/data/CX2/TestGeneratorCX2.008.Res.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" ><SignatureEnvironment><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"><dsig:Signature Id="signature-1-1" 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-1-1" URI="#document"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>YQuo5v1WFKeQdaZKngk/i8Y7U5I=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>uVdK8ctM1ZSxcpu9sk8j0OKzz1YPDEiEXlY9AHqsqAH/e3ICpIrUfucHTOU3PISm +GojzDTTZqZ5vsmjo4MRzxC65Zu84xc9Qy8WlM85vpDPZkz5Z3kKv2TvSmT0BHdlc +j+YWYFIMr7kxs+ls1KPd21OmMkiVTF0BAavEOg6XjRo=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature>Dies sind Testdaten</data:Document></SignatureEnvironment> </CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX2/TestGeneratorCX2.009.Req.xml b/spss.test/data/CX2/TestGeneratorCX2.009.Req.xml new file mode 100644 index 000000000..9cda00b5b --- /dev/null +++ b/spss.test/data/CX2/TestGeneratorCX2.009.Req.xml @@ -0,0 +1 @@ +<?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="#xpointer(id(document))"></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></dsig:Transforms><FinalDataMetaInfo><MimeType>text/plain</MimeType></FinalDataMetaInfo></CreateTransformsInfo></CreateTransformsInfoProfile></DataObjectInfo><CreateSignatureInfo xmlns:data="http://uri.data.org"><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><CreateSignatureEnvironmentProfile><CreateSignatureLocation Index="0">//data:Document</CreateSignatureLocation><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></CreateSignatureEnvironmentProfile></CreateSignatureInfo></SingleSignatureInfo></CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX2/TestGeneratorCX2.009.Res.xml b/spss.test/data/CX2/TestGeneratorCX2.009.Res.xml new file mode 100644 index 000000000..d1cacf052 --- /dev/null +++ b/spss.test/data/CX2/TestGeneratorCX2.009.Res.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" ><SignatureEnvironment><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"><dsig:Signature Id="signature-1-1" 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-1-1" URI="#xpointer(id(document))"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>2jmj7l5rSw0yVb/vlWAYkK/YBwk=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>P8zWrteGcRaSiur/I+JUFKF0RpVhGCYsm678bUGBTn/ybYiyGIX+/tHsHx2xzAw2 +QGbhlidyMSd/E/DNNtspm6Ckj9G+vgt1QhHbBWBHf2H1VPBSZ35BgvHih/a9lj+z +rI6LSqxXPHTSjQ40Ojtuyz9wm93nfA4xI+Yye3Y9ywA=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature>Dies sind Testdaten</data:Document></SignatureEnvironment> </CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX2/TestGeneratorCX2.051.ErrRes.xml b/spss.test/data/CX2/TestGeneratorCX2.051.ErrRes.xml new file mode 100644 index 000000000..304a6a57d --- /dev/null +++ b/spss.test/data/CX2/TestGeneratorCX2.051.ErrRes.xml @@ -0,0 +1 @@ +1109
\ No newline at end of file diff --git a/spss.test/data/CX2/TestGeneratorCX2.051.Req.xml b/spss.test/data/CX2/TestGeneratorCX2.051.Req.xml new file mode 100644 index 000000000..3fcecd018 --- /dev/null +++ b/spss.test/data/CX2/TestGeneratorCX2.051.Req.xml @@ -0,0 +1 @@ +<?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="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><XMLContent xml:space="preserve">Dies sind Testdaten</XMLContent></DataObject><CreateTransformsInfoProfile><CreateTransformsInfo><FinalDataMetaInfo><MimeType>text/plain</MimeType></FinalDataMetaInfo></CreateTransformsInfo></CreateTransformsInfoProfile></DataObjectInfo><CreateSignatureInfo><CreateSignatureEnvironment><XMLContent xml:space="preserve"><data:Document xmlns:data="http://uri.data.org">daten</data:Document><Text>toller Text</Text></XMLContent></CreateSignatureEnvironment><CreateSignatureEnvironmentProfile><CreateSignatureLocation Index="0" xmlns:data="http://uri.data.org">//data:Document</CreateSignatureLocation><!-- insert supp --></CreateSignatureEnvironmentProfile></CreateSignatureInfo></SingleSignatureInfo></CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX2/TestGeneratorCX2.052.ErrRes.xml b/spss.test/data/CX2/TestGeneratorCX2.052.ErrRes.xml new file mode 100644 index 000000000..77f912c54 --- /dev/null +++ b/spss.test/data/CX2/TestGeneratorCX2.052.ErrRes.xml @@ -0,0 +1 @@ +2218
\ No newline at end of file diff --git a/spss.test/data/CX2/TestGeneratorCX2.052.Req.xml b/spss.test/data/CX2/TestGeneratorCX2.052.Req.xml new file mode 100644 index 000000000..106636e0a --- /dev/null +++ b/spss.test/data/CX2/TestGeneratorCX2.052.Req.xml @@ -0,0 +1 @@ +<?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="http://localhost:8080/moa-spss-testdata/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"><CreateSignatureEnvironment><Base64Content>PFRhZzE+PC9UYWcxPjxUYWcyPjwvVGFnMj4NCg0K</Base64Content><!-- Inhalt: <Tag1></Tag1><Tag2></Tag2> --></CreateSignatureEnvironment><CreateSignatureEnvironmentProfile><CreateSignatureLocation Index="0">//data:Document</CreateSignatureLocation><!-- insert supp --></CreateSignatureEnvironmentProfile></CreateSignatureInfo></SingleSignatureInfo></CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX2/TestGeneratorCX2.053.ErrRes.xml b/spss.test/data/CX2/TestGeneratorCX2.053.ErrRes.xml new file mode 100644 index 000000000..96e38be91 --- /dev/null +++ b/spss.test/data/CX2/TestGeneratorCX2.053.ErrRes.xml @@ -0,0 +1 @@ +1110
\ No newline at end of file diff --git a/spss.test/data/CX2/TestGeneratorCX2.053.Req.xml b/spss.test/data/CX2/TestGeneratorCX2.053.Req.xml new file mode 100644 index 000000000..dcdcc4eff --- /dev/null +++ b/spss.test/data/CX2/TestGeneratorCX2.053.Req.xml @@ -0,0 +1 @@ +<?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="http://localhost:8080/moa-spss-testdata/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"><CreateSignatureEnvironment/><CreateSignatureEnvironmentProfile><CreateSignatureLocation Index="0">//data:Document</CreateSignatureLocation><!-- insert supp --></CreateSignatureEnvironmentProfile></CreateSignatureInfo></SingleSignatureInfo></CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX2/TestGeneratorCX2.054.ErrRes.xml b/spss.test/data/CX2/TestGeneratorCX2.054.ErrRes.xml new file mode 100644 index 000000000..483d07b5d --- /dev/null +++ b/spss.test/data/CX2/TestGeneratorCX2.054.ErrRes.xml @@ -0,0 +1 @@ +2212
\ No newline at end of file diff --git a/spss.test/data/CX2/TestGeneratorCX2.054.Req.xml b/spss.test/data/CX2/TestGeneratorCX2.054.Req.xml new file mode 100644 index 000000000..c8f0010b6 --- /dev/null +++ b/spss.test/data/CX2/TestGeneratorCX2.054.Req.xml @@ -0,0 +1 @@ +<?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="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"/><CreateTransformsInfoProfile><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></CreateTransformsInfoProfile></DataObjectInfo><CreateSignatureInfo xmlns:data="http://uri.data.org"><CreateSignatureEnvironment><XMLContent xml:space="preserve"><data:Document xmlns:data="http://uri.data.org">Dies sind Testdaten</data:Document></XMLContent></CreateSignatureEnvironment><CreateSignatureEnvironmentProfile><CreateSignatureLocation Index="0">//data:Document1</CreateSignatureLocation><!-- insert supp --></CreateSignatureEnvironmentProfile></CreateSignatureInfo></SingleSignatureInfo></CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX2/TestGeneratorCX2.055.ErrRes.xml b/spss.test/data/CX2/TestGeneratorCX2.055.ErrRes.xml new file mode 100644 index 000000000..96e38be91 --- /dev/null +++ b/spss.test/data/CX2/TestGeneratorCX2.055.ErrRes.xml @@ -0,0 +1 @@ +1110
\ No newline at end of file diff --git a/spss.test/data/CX2/TestGeneratorCX2.055.Req.xml b/spss.test/data/CX2/TestGeneratorCX2.055.Req.xml new file mode 100644 index 000000000..00d4f7d68 --- /dev/null +++ b/spss.test/data/CX2/TestGeneratorCX2.055.Req.xml @@ -0,0 +1 @@ +<?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="http://localhost:8080/moa-spss-testdata/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"><CreateSignatureEnvironment Reference="http://localhost:8080/moa-spss-testdata/resources/CSEP.xml"><XMLContent xml:space="preserve"><data:Document>andereDaten als in http://localhost:8080/moa-spss-testdata/resources/CSEP.xml</data:Document></XMLContent></CreateSignatureEnvironment><CreateSignatureEnvironmentProfile><CreateSignatureLocation Index="0">//data:Document</CreateSignatureLocation><!-- insert supp --></CreateSignatureEnvironmentProfile></CreateSignatureInfo></SingleSignatureInfo></CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX2/TestGeneratorCX2.056.ErrRes.xml b/spss.test/data/CX2/TestGeneratorCX2.056.ErrRes.xml new file mode 100644 index 000000000..a6f32fc63 --- /dev/null +++ b/spss.test/data/CX2/TestGeneratorCX2.056.ErrRes.xml @@ -0,0 +1 @@ +2236
\ No newline at end of file diff --git a/spss.test/data/CX2/TestGeneratorCX2.056.Req.xml b/spss.test/data/CX2/TestGeneratorCX2.056.Req.xml new file mode 100644 index 000000000..711a01b89 --- /dev/null +++ b/spss.test/data/CX2/TestGeneratorCX2.056.Req.xml @@ -0,0 +1 @@ +<?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="http://localhost:8080/moa-spss-testdata/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"><CreateSignatureEnvironment><XMLContent xml:space="preserve"><data:Document>andereDaten als in http://localhost:8080/moa-spss-testdata/resources/CSEP.xml</data:Document></XMLContent></CreateSignatureEnvironment><CreateSignatureEnvironmentProfileID>wrongCreateSignatureEnvironmentProfile</CreateSignatureEnvironmentProfileID></CreateSignatureInfo></SingleSignatureInfo></CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX2/TestGeneratorCX2.057.ErrRes.xml b/spss.test/data/CX2/TestGeneratorCX2.057.ErrRes.xml new file mode 100644 index 000000000..483d07b5d --- /dev/null +++ b/spss.test/data/CX2/TestGeneratorCX2.057.ErrRes.xml @@ -0,0 +1 @@ +2212
\ No newline at end of file diff --git a/spss.test/data/CX2/TestGeneratorCX2.057.Req.xml b/spss.test/data/CX2/TestGeneratorCX2.057.Req.xml new file mode 100644 index 000000000..90d7ab5cc --- /dev/null +++ b/spss.test/data/CX2/TestGeneratorCX2.057.Req.xml @@ -0,0 +1 @@ +<?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="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"/><CreateTransformsInfoProfile><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></CreateTransformsInfoProfile></DataObjectInfo><CreateSignatureInfo xmlns:data="http://uri.data.org"><CreateSignatureEnvironment><XMLContent xml:space="preserve"><data:Document xmlns:data="http://uri.data.org">Dies sind Testdaten</data:Document></XMLContent></CreateSignatureEnvironment><CreateSignatureEnvironmentProfile><CreateSignatureLocation Index="0">]]'_'[[//data:Document</CreateSignatureLocation><!-- insert supp --></CreateSignatureEnvironmentProfile></CreateSignatureInfo></SingleSignatureInfo></CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX2/TestGeneratorCX2.Config.xml b/spss.test/data/CX2/TestGeneratorCX2.Config.xml new file mode 100644 index 000000000..9b87114ea --- /dev/null +++ b/spss.test/data/CX2/TestGeneratorCX2.Config.xml @@ -0,0 +1 @@ +<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:/http://localhost:8080/moa-spss-testdata/resources/CSEP.xml"/></MOAConfiguration>
\ No newline at end of file diff --git a/spss.test/data/CX3/TestGeneratorCX3.001.Req.xml b/spss.test/data/CX3/TestGeneratorCX3.001.Req.xml new file mode 100644 index 000000000..7ffb7cd3b --- /dev/null +++ b/spss.test/data/CX3/TestGeneratorCX3.001.Req.xml @@ -0,0 +1,17 @@ +<?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="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"/> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX3/TestGeneratorCX3.001.Res.xml b/spss.test/data/CX3/TestGeneratorCX3.001.Res.xml new file mode 100644 index 000000000..9a8337324 --- /dev/null +++ b/spss.test/data/CX3/TestGeneratorCX3.001.Res.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + ><SignatureEnvironment><dsig:Signature Id="signature-1-1" 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-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>gBB3qVsHcXriR5DRnqpoAtGSZozMUEprBtbt/pusEylilSrndPufeDaaCm8PtbUe +c0ezEu7/xLJPc5qC/cqv0B3f0RDR2RPCSfZNu/vcc8YddLdgy+p+cDOEneXPUEOa +FKkqvEmIJBGWsG/UbNobP6J1YFLeM3Wjbn+cUstfgVY=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/CX3/TestGeneratorCX3.052.ErrRes.xml b/spss.test/data/CX3/TestGeneratorCX3.052.ErrRes.xml new file mode 100644 index 000000000..2416c2c45 --- /dev/null +++ b/spss.test/data/CX3/TestGeneratorCX3.052.ErrRes.xml @@ -0,0 +1 @@ +2231
\ No newline at end of file diff --git a/spss.test/data/CX3/TestGeneratorCX3.052.Req.xml b/spss.test/data/CX3/TestGeneratorCX3.052.Req.xml new file mode 100644 index 000000000..2da31e92a --- /dev/null +++ b/spss.test/data/CX3/TestGeneratorCX3.052.Req.xml @@ -0,0 +1,17 @@ +<?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>PKCS12RSAKeyNotAllowed</KeyIdentifier> + <SingleSignatureInfo SecurityLayerConformity="false"> + <DataObjectInfo Structure="detached" ChildOfManifest="false"> + <DataObject Reference="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"/> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX3/TestGeneratorCX3.Config.xml b/spss.test/data/CX3/TestGeneratorCX3.Config.xml new file mode 100644 index 000000000..1f4feffa7 --- /dev/null +++ b/spss.test/data/CX3/TestGeneratorCX3.Config.xml @@ -0,0 +1 @@ +<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>
\ No newline at end of file diff --git a/spss.test/data/CX4/TestGeneratorCX4.051.ErrRes.xml b/spss.test/data/CX4/TestGeneratorCX4.051.ErrRes.xml new file mode 100644 index 000000000..af2e09a3e --- /dev/null +++ b/spss.test/data/CX4/TestGeneratorCX4.051.ErrRes.xml @@ -0,0 +1 @@ +0000
\ No newline at end of file diff --git a/spss.test/data/CX4/TestGeneratorCX4.051.Req.xml b/spss.test/data/CX4/TestGeneratorCX4.051.Req.xml new file mode 100644 index 000000000..7ffb7cd3b --- /dev/null +++ b/spss.test/data/CX4/TestGeneratorCX4.051.Req.xml @@ -0,0 +1,17 @@ +<?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="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"/> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/CX4/TestGeneratorCX4.Config.xml b/spss.test/data/CX4/TestGeneratorCX4.Config.xml new file mode 100644 index 000000000..1f4feffa7 --- /dev/null +++ b/spss.test/data/CX4/TestGeneratorCX4.Config.xml @@ -0,0 +1 @@ +<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>
\ No newline at end of file diff --git a/spss.test/data/VC0/TestGeneratorVC0.001.Req.xml b/spss.test/data/VC0/TestGeneratorVC0.001.Req.xml new file mode 100644 index 000000000..c065b6675 --- /dev/null +++ b/spss.test/data/VC0/TestGeneratorVC0.001.Req.xml @@ -0,0 +1,27 @@ +<?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>MIIF0AYJKoZIhvcNAQcCoIIFwTCCBb0CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCA9sw +ggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMx +MjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU +RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j +ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0G +CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR +97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb +/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0T +AQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYM +KwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBi +ZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6 +Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzW +j8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQAD +gYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj +2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd +2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0w +GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMxMTEwMjMyNDE4WjAj +BgkqhkiG9w0BCQQxFgQUWVob54034HfToUBDAErL5z6GFxowDQYJKoZIhvcNAQEBBQAEgYCROgBc +2jZawG1rLwbBArvabdXBsb3YymN9nxYPCO6rCDPI8eHe51VqB42fkT+nCIrYguVI3y/fDjhwCi4O +3tzsxoRdFJtsXIYTVJtKDusbdivZ/F068dMstQTDfNThiXhBY5QqY0BYpk5+YISclHsodebXfp6C +VAV9K35NLifAQg==</CMSSignature><DataObject><MetaInfo><MimeType>text/plain</MimeType><Description>http://localhost:8080/moa-spss-testdata/resources/testDaten.txt</Description></MetaInfo><Content><Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content></Content></DataObject><TrustProfileID>TrustProfile1</TrustProfileID></VerifyCMSSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/VC0/TestGeneratorVC0.001.Res.xml b/spss.test/data/VC0/TestGeneratorVC0.001.Res.xml new file mode 100644 index 000000000..d74966a52 --- /dev/null +++ b/spss.test/data/VC0/TestGeneratorVC0.001.Res.xml @@ -0,0 +1,21 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></SignerInfo><SignatureCheck><Code>0</Code></SignatureCheck><CertificateCheck><Code>0</Code></CertificateCheck></VerifyCMSSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VC0/TestGeneratorVC0.002.Req.xml b/spss.test/data/VC0/TestGeneratorVC0.002.Req.xml new file mode 100644 index 000000000..3c2f1fd07 --- /dev/null +++ b/spss.test/data/VC0/TestGeneratorVC0.002.Req.xml @@ -0,0 +1,33 @@ +<?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 2"><DateTime>2003-04-04T09:30:47-05:00</DateTime><CMSSignature>MIIHPwYJKoZIhvcNAQcCoIIHMDCCBywCAQExGTAJBgUrDgMCGgUAMAwGCCqGSIb3DQIFBQAwCwYJ +KoZIhvcNAQcBoIID2zCCA9cwggNEoAMCAQICBgDzJH01OzAJBgUrDgMCHQUAMIGsMQswCQYDVQQG +EwJBVDEmMCQGA1UEChMdR1JBWiBVTklWRVJTSVRZIE9GIFRFQ0hOT0xPR1kxRzBFBgNVBAsTPklu +c2l0dXRlIGZvciBBcHBsaWVkIEluZm9ybWF0aW9uIFByb2Nlc3NpbmcgYW5kIENvbW11bmljYXRp +b25zMRUwEwYDVQQLEwxJQUlLIFRlc3QgQ0ExFTATBgNVBAMTDElBSUsgVGVzdCBDQTAeFw0wMzAy +MDMxNjIwNTVaFw0wMzEyMzAyMjU5MzBaMIGYMQswCQYDVQQGEwJBVDEmMCQGA1UEChMdR1JBWiBV +TklWRVJTSVRZIE9GIFRFQ0hOT0xPR1kxRzBFBgNVBAsTPkluc2l0dXRlIGZvciBBcHBsaWVkIElu +Zm9ybWF0aW9uIFByb2Nlc3NpbmcgYW5kIENvbW11bmljYXRpb25zMRgwFgYDVQQDFA9Jc29sZGUg +QvxyZ2VyaW4wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOd5tKp4Ojvc1SALidtj7PdV/qXX +YTIgPT9ELrDHsUPkBJH3uN5xBSE6FGd7rqAEBXfp+DFzOg+vLWXLRlOTuFuQKv2xIyOHnyB0tBE4 +c4DQMpqpk/WfSCBIapv9Y4UOEl01t98t1595cdug4k3gKX7bkAd/PGJVfkbPq08hfYkVAgMBAAGj +ggEcMIIBGDAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIGwDARBglghkgBhvhCAQEEBAMCBSAw +ZwYDVR0gBGAwXjBcBgwrBgEEAZUSAQJ7AQEwTDBKBggrBgEFBQcCAjA+GjxUaGlzIGNlcnRpZmlj +YXRlIG9ubHkgbWF5IGJlIHVzZWQgZm9yIGRlbW9uc3RyYXRpb24gcHVycG9zZXMwPAYDVR0fBDUw +MzAxoC+gLYYraHR0cDovL3d3dy5pYWlrLmF0L3Rlc3RDQS9pYWlrX3Rlc3Rfc2lnLmNybDAdBgNV +HQ4EFgQUKDrqCMUvDNaPw02ZCVLNJZzeQO0wHwYDVR0jBBgwFoAUTCCwVgIM94gKloilFLRRzDq1 +8r8wCQYFKw4DAh0FAAOBgQAmPNaPJs2/GArkzIHqZckpuZwJMY7L9U+Z/x889XC30gyWdB8jU1cf +xg7M2Pg8dvDHVvugy6PZ1j0hP+D/pPR1yXv8BMgL+ODq476cxhio6qHN1/L+K8zKOjAUTZbrtJt8 +taZLU1f6uGolg/52xl3a5/wKCgLzkgEN0Hul/nU/9TGCAx4wggG5AgEBMIG3MIGsMQswCQYDVQQG +EwJBVDEmMCQGA1UEChMdR1JBWiBVTklWRVJTSVRZIE9GIFRFQ0hOT0xPR1kxRzBFBgNVBAsTPklu +c2l0dXRlIGZvciBBcHBsaWVkIEluZm9ybWF0aW9uIFByb2Nlc3NpbmcgYW5kIENvbW11bmljYXRp +b25zMRUwEwYDVQQLEwxJQUlLIFRlc3QgQ0ExFTATBgNVBAMTDElBSUsgVGVzdCBDQQIGAPMkfTU7 +MAkGBSsOAwIaBQCgXTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0w +MzExMTAyMzI0MThaMCMGCSqGSIb3DQEJBDEWBBRZWhvnjTfgd9OhQEMASsvnPoYXGjANBgkqhkiG +9w0BAQEFAASBgJE6AFzaNlrAbWsvBsECu9pt1cGxvdjKY32fFg8I7qsIM8jx4d7nVWoHjZ+RP6cI +itiC5UjfL98OOHAKLg7e3OzGhF0Um2xchhNUm0oO6xt2K9n8XTrx0yy1BMN81OGJeEFjlCpjQFim +Tn5ghJyUeyh15td+noJUBX0rfk0uJ8BCMIIBXQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNV +BAoTHUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3Ig +QXBwbGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UE +CxMMSUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAMBggqhkiG9w0C +BQUAMA0GCSqGSIb3DQEBAQUABIGAwhN2yOQ3bMd0n2HevuFZcyB6WgLE9TwMGnTHlzUZ+t5VoVS9 +5R9Al3OKmp/1bwZ2OSBZy9H4TIGVAj+UHxXrLeodAw9xXet4FeIemZXf5PKsoLAfDHhWC1v6y3lh +xzPR5atzoj8gg9J6H4UF+kq1ylUnYkT9Ys6wVnci7hlqZAE=</CMSSignature><DataObject><MetaInfo><MimeType>text/plain</MimeType><Description>http://localhost:8080/moa-spss-testdata/resources/testDaten.txt</Description></MetaInfo><Content><Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content></Content></DataObject><TrustProfileID>TrustProfile1</TrustProfileID></VerifyCMSSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/VC0/TestGeneratorVC0.002.Res.xml b/spss.test/data/VC0/TestGeneratorVC0.002.Res.xml new file mode 100644 index 000000000..7131c4003 --- /dev/null +++ b/spss.test/data/VC0/TestGeneratorVC0.002.Res.xml @@ -0,0 +1,41 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></SignerInfo><SignatureCheck><Code>0</Code></SignatureCheck><CertificateCheck><Code>0</Code></CertificateCheck><SignerInfo><dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:X509SubjectName>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></SignerInfo><SignatureCheck><Code>0</Code></SignatureCheck><CertificateCheck><Code>0</Code></CertificateCheck></VerifyCMSSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VC0/TestGeneratorVC0.003.Req.xml b/spss.test/data/VC0/TestGeneratorVC0.003.Req.xml new file mode 100644 index 000000000..d182413af --- /dev/null +++ b/spss.test/data/VC0/TestGeneratorVC0.003.Req.xml @@ -0,0 +1,27 @@ +<?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="all"><DateTime>2003-04-04T09:30:47-05:00</DateTime><CMSSignature>MIIF0AYJKoZIhvcNAQcCoIIFwTCCBb0CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCA9sw +ggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMx +MjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU +RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j +ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0G +CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR +97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb +/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0T +AQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYM +KwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBi +ZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6 +Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzW +j8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQAD +gYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj +2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd +2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0w +GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMxMTEwMjMyNDE4WjAj +BgkqhkiG9w0BCQQxFgQUWVob54034HfToUBDAErL5z6GFxowDQYJKoZIhvcNAQEBBQAEgYCROgBc +2jZawG1rLwbBArvabdXBsb3YymN9nxYPCO6rCDPI8eHe51VqB42fkT+nCIrYguVI3y/fDjhwCi4O +3tzsxoRdFJtsXIYTVJtKDusbdivZ/F068dMstQTDfNThiXhBY5QqY0BYpk5+YISclHsodebXfp6C +VAV9K35NLifAQg==</CMSSignature><DataObject><MetaInfo><MimeType>text/plain</MimeType><Description>http://localhost:8080/moa-spss-testdata/resources/testDaten.txt</Description></MetaInfo><Content><Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content></Content></DataObject><TrustProfileID>TrustProfile1</TrustProfileID></VerifyCMSSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/VC0/TestGeneratorVC0.003.Res.xml b/spss.test/data/VC0/TestGeneratorVC0.003.Res.xml new file mode 100644 index 000000000..d74966a52 --- /dev/null +++ b/spss.test/data/VC0/TestGeneratorVC0.003.Res.xml @@ -0,0 +1,21 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></SignerInfo><SignatureCheck><Code>0</Code></SignatureCheck><CertificateCheck><Code>0</Code></CertificateCheck></VerifyCMSSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VC0/TestGeneratorVC0.004.Req.xml b/spss.test/data/VC0/TestGeneratorVC0.004.Req.xml new file mode 100644 index 000000000..2421bbd93 --- /dev/null +++ b/spss.test/data/VC0/TestGeneratorVC0.004.Req.xml @@ -0,0 +1,27 @@ +<?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"><CMSSignature>MIIF0AYJKoZIhvcNAQcCoIIFwTCCBb0CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCA9sw +ggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMx +MjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU +RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j +ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0G +CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR +97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb +/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0T +AQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYM +KwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBi +ZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6 +Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzW +j8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQAD +gYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj +2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd +2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0w +GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMxMTEwMjMyNDE4WjAj +BgkqhkiG9w0BCQQxFgQUWVob54034HfToUBDAErL5z6GFxowDQYJKoZIhvcNAQEBBQAEgYCROgBc +2jZawG1rLwbBArvabdXBsb3YymN9nxYPCO6rCDPI8eHe51VqB42fkT+nCIrYguVI3y/fDjhwCi4O +3tzsxoRdFJtsXIYTVJtKDusbdivZ/F068dMstQTDfNThiXhBY5QqY0BYpk5+YISclHsodebXfp6C +VAV9K35NLifAQg==</CMSSignature><DataObject><MetaInfo><MimeType>text/plain</MimeType><Description>http://localhost:8080/moa-spss-testdata/resources/testDaten.txt</Description></MetaInfo><Content><Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content></Content></DataObject><TrustProfileID>TrustProfile1</TrustProfileID></VerifyCMSSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/VC0/TestGeneratorVC0.004.Res.xml b/spss.test/data/VC0/TestGeneratorVC0.004.Res.xml new file mode 100644 index 000000000..d74966a52 --- /dev/null +++ b/spss.test/data/VC0/TestGeneratorVC0.004.Res.xml @@ -0,0 +1,21 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></SignerInfo><SignatureCheck><Code>0</Code></SignatureCheck><CertificateCheck><Code>0</Code></CertificateCheck></VerifyCMSSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VC0/TestGeneratorVC0.005.Req.xml b/spss.test/data/VC0/TestGeneratorVC0.005.Req.xml new file mode 100644 index 000000000..c065b6675 --- /dev/null +++ b/spss.test/data/VC0/TestGeneratorVC0.005.Req.xml @@ -0,0 +1,27 @@ +<?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>MIIF0AYJKoZIhvcNAQcCoIIFwTCCBb0CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCA9sw +ggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMx +MjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU +RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j +ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0G +CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR +97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb +/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0T +AQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYM +KwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBi +ZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6 +Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzW +j8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQAD +gYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj +2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd +2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0w +GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMxMTEwMjMyNDE4WjAj +BgkqhkiG9w0BCQQxFgQUWVob54034HfToUBDAErL5z6GFxowDQYJKoZIhvcNAQEBBQAEgYCROgBc +2jZawG1rLwbBArvabdXBsb3YymN9nxYPCO6rCDPI8eHe51VqB42fkT+nCIrYguVI3y/fDjhwCi4O +3tzsxoRdFJtsXIYTVJtKDusbdivZ/F068dMstQTDfNThiXhBY5QqY0BYpk5+YISclHsodebXfp6C +VAV9K35NLifAQg==</CMSSignature><DataObject><MetaInfo><MimeType>text/plain</MimeType><Description>http://localhost:8080/moa-spss-testdata/resources/testDaten.txt</Description></MetaInfo><Content><Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content></Content></DataObject><TrustProfileID>TrustProfile1</TrustProfileID></VerifyCMSSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/VC0/TestGeneratorVC0.005.Res.xml b/spss.test/data/VC0/TestGeneratorVC0.005.Res.xml new file mode 100644 index 000000000..d74966a52 --- /dev/null +++ b/spss.test/data/VC0/TestGeneratorVC0.005.Res.xml @@ -0,0 +1,21 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></SignerInfo><SignatureCheck><Code>0</Code></SignatureCheck><CertificateCheck><Code>0</Code></CertificateCheck></VerifyCMSSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VC0/TestGeneratorVC0.006.Req.xml b/spss.test/data/VC0/TestGeneratorVC0.006.Req.xml new file mode 100644 index 000000000..11fdc7db2 --- /dev/null +++ b/spss.test/data/VC0/TestGeneratorVC0.006.Req.xml @@ -0,0 +1,28 @@ +<?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>MIIGAAYJKoZIhvcNAQcCoIIF8TCCBe0CAQExCzAJBgUrDgMCGgUAMDsGCSqGSIb3DQEHAaAuBCxE +aWVzIHNpbmQgVGVzdGRhdGVuDQoyLiBaZWlsZQ0KMy4gWmVpbGUNCmF1c6CCA9swggPXMIIDRKAD +AgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5J +VkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZv +cm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMMSUFJSyBUZXN0 +IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMxMjMwMjI1OTMw +WjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZ +MUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFu +ZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0GCSqGSIb3DQEB +AQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR97jecQUhOhRn +e66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb/WOFDhJdNbff +LdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0TAQH/BAIwADAO +BgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYMKwYBBAGVEgEC +ewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBiZSB1c2VkIGZv +ciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6Ly93d3cuaWFp +ay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzWj8NNmQlSzSWc +3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQADgYEAJjzWjybN +vxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj2dY9IT/g/6T0 +dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd2uf8CgoC85IB +DdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5J +VkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZv +cm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMMSUFJSyBUZXN0 +IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0wGAYJKoZIhvcN +AQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMxMTEwMjMyNDE4WjAjBgkqhkiG9w0B +CQQxFgQUWVob54034HfToUBDAErL5z6GFxowDQYJKoZIhvcNAQEBBQAEgYCROgBc2jZawG1rLwbB +ArvabdXBsb3YymN9nxYPCO6rCDPI8eHe51VqB42fkT+nCIrYguVI3y/fDjhwCi4O3tzsxoRdFJts +XIYTVJtKDusbdivZ/F068dMstQTDfNThiXhBY5QqY0BYpk5+YISclHsodebXfp6CVAV9K35NLifA +Qg==</CMSSignature><TrustProfileID>TrustProfile1</TrustProfileID></VerifyCMSSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/VC0/TestGeneratorVC0.006.Res.xml b/spss.test/data/VC0/TestGeneratorVC0.006.Res.xml new file mode 100644 index 000000000..d74966a52 --- /dev/null +++ b/spss.test/data/VC0/TestGeneratorVC0.006.Res.xml @@ -0,0 +1,21 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></SignerInfo><SignatureCheck><Code>0</Code></SignatureCheck><CertificateCheck><Code>0</Code></CertificateCheck></VerifyCMSSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VC0/TestGeneratorVC0.007.Req.xml b/spss.test/data/VC0/TestGeneratorVC0.007.Req.xml new file mode 100644 index 000000000..64e193d45 --- /dev/null +++ b/spss.test/data/VC0/TestGeneratorVC0.007.Req.xml @@ -0,0 +1,27 @@ +<?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>MIIF0AYJKoZIhvcNAQcCoIIFwTCCBb0CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCA9sw +ggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMx +MjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU +RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j +ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0G +CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR +97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb +/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0T +AQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYM +KwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBi +ZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6 +Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzW +j8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQAD +gYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj +2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd +2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0w +GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMxMTEwMjMyNDE4WjAj +BgkqhkiG9w0BCQQxFgQUWVob54034HfToUBDAErL5z6GFxowDQYJKoZIhvcNAQEBBQAEgYCROgBc +2jZawG1rLwbBArvabdXBsb3YymN9nxYPCO6rCDPI8eHe51VqB42fkT+nCIrYguVI3y/fDjhwCi4O +3tzsxoRdFJtsXIYTVJtKDusbdivZ/F068dMstQTDfNThiXhBY5QqY0BYpk5+YISclHsodebXfp6C +VAV9K35NLifAQg==</CMSSignature><DataObject><Content><Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content></Content></DataObject><TrustProfileID>TrustProfile1</TrustProfileID></VerifyCMSSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/VC0/TestGeneratorVC0.007.Res.xml b/spss.test/data/VC0/TestGeneratorVC0.007.Res.xml new file mode 100644 index 000000000..d74966a52 --- /dev/null +++ b/spss.test/data/VC0/TestGeneratorVC0.007.Res.xml @@ -0,0 +1,21 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></SignerInfo><SignatureCheck><Code>0</Code></SignatureCheck><CertificateCheck><Code>0</Code></CertificateCheck></VerifyCMSSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VC0/TestGeneratorVC0.008.Req.xml b/spss.test/data/VC0/TestGeneratorVC0.008.Req.xml new file mode 100644 index 000000000..c065b6675 --- /dev/null +++ b/spss.test/data/VC0/TestGeneratorVC0.008.Req.xml @@ -0,0 +1,27 @@ +<?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>MIIF0AYJKoZIhvcNAQcCoIIFwTCCBb0CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCA9sw +ggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMx +MjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU +RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j +ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0G +CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR +97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb +/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0T +AQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYM +KwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBi +ZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6 +Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzW +j8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQAD +gYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj +2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd +2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0w +GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMxMTEwMjMyNDE4WjAj +BgkqhkiG9w0BCQQxFgQUWVob54034HfToUBDAErL5z6GFxowDQYJKoZIhvcNAQEBBQAEgYCROgBc +2jZawG1rLwbBArvabdXBsb3YymN9nxYPCO6rCDPI8eHe51VqB42fkT+nCIrYguVI3y/fDjhwCi4O +3tzsxoRdFJtsXIYTVJtKDusbdivZ/F068dMstQTDfNThiXhBY5QqY0BYpk5+YISclHsodebXfp6C +VAV9K35NLifAQg==</CMSSignature><DataObject><MetaInfo><MimeType>text/plain</MimeType><Description>http://localhost:8080/moa-spss-testdata/resources/testDaten.txt</Description></MetaInfo><Content><Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content></Content></DataObject><TrustProfileID>TrustProfile1</TrustProfileID></VerifyCMSSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/VC0/TestGeneratorVC0.008.Res.xml b/spss.test/data/VC0/TestGeneratorVC0.008.Res.xml new file mode 100644 index 000000000..d74966a52 --- /dev/null +++ b/spss.test/data/VC0/TestGeneratorVC0.008.Res.xml @@ -0,0 +1,21 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></SignerInfo><SignatureCheck><Code>0</Code></SignatureCheck><CertificateCheck><Code>0</Code></CertificateCheck></VerifyCMSSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VC0/TestGeneratorVC0.009.Req.xml b/spss.test/data/VC0/TestGeneratorVC0.009.Req.xml new file mode 100644 index 000000000..21eff45c7 --- /dev/null +++ b/spss.test/data/VC0/TestGeneratorVC0.009.Req.xml @@ -0,0 +1,27 @@ +<?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>MIIF0AYJKoZIhvcNAQcCoIIFwTCCBb0CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCA9sw +ggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMx +MjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU +RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j +ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0G +CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR +97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb +/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0T +AQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYM +KwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBi +ZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6 +Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzW +j8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQAD +gYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj +2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd +2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0w +GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMxMTEwMjMyNDE4WjAj +BgkqhkiG9w0BCQQxFgQUWVob54034HfToUBDAErL5z6GFxowDQYJKoZIhvcNAQEBBQAEgYCROgBc +2jZawG1rLwbBArvabdXBsb3YymN9nxYPCO6rCDPI8eHe51VqB42fkT+nCIrYguVI3y/fDjhwCi4O +3tzsxoRdFJtsXIYTVJtKDusbdivZ/F068dMstQTDfNThiXhBY5QqY0BYpk5+YISclHsodebXfp6C +VAV9K35NLifAQg==</CMSSignature><DataObject><MetaInfo><MimeType>text/plain</MimeType><Description>http://localhost:8080/moa-spss-testdata/resources/testDaten.txt</Description></MetaInfo><Content Reference="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"></Content></DataObject><TrustProfileID>TrustProfile1</TrustProfileID></VerifyCMSSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/VC0/TestGeneratorVC0.009.Res.xml b/spss.test/data/VC0/TestGeneratorVC0.009.Res.xml new file mode 100644 index 000000000..d74966a52 --- /dev/null +++ b/spss.test/data/VC0/TestGeneratorVC0.009.Res.xml @@ -0,0 +1,21 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></SignerInfo><SignatureCheck><Code>0</Code></SignatureCheck><CertificateCheck><Code>0</Code></CertificateCheck></VerifyCMSSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VC0/TestGeneratorVC0.010.Req.xml b/spss.test/data/VC0/TestGeneratorVC0.010.Req.xml new file mode 100644 index 000000000..21eff45c7 --- /dev/null +++ b/spss.test/data/VC0/TestGeneratorVC0.010.Req.xml @@ -0,0 +1,27 @@ +<?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>MIIF0AYJKoZIhvcNAQcCoIIFwTCCBb0CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCA9sw +ggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMx +MjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU +RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j +ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0G +CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR +97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb +/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0T +AQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYM +KwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBi +ZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6 +Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzW +j8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQAD +gYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj +2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd +2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0w +GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMxMTEwMjMyNDE4WjAj +BgkqhkiG9w0BCQQxFgQUWVob54034HfToUBDAErL5z6GFxowDQYJKoZIhvcNAQEBBQAEgYCROgBc +2jZawG1rLwbBArvabdXBsb3YymN9nxYPCO6rCDPI8eHe51VqB42fkT+nCIrYguVI3y/fDjhwCi4O +3tzsxoRdFJtsXIYTVJtKDusbdivZ/F068dMstQTDfNThiXhBY5QqY0BYpk5+YISclHsodebXfp6C +VAV9K35NLifAQg==</CMSSignature><DataObject><MetaInfo><MimeType>text/plain</MimeType><Description>http://localhost:8080/moa-spss-testdata/resources/testDaten.txt</Description></MetaInfo><Content Reference="http://localhost:8080/moa-spss-testdata/resources/testDaten.txt"></Content></DataObject><TrustProfileID>TrustProfile1</TrustProfileID></VerifyCMSSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/VC0/TestGeneratorVC0.010.Res.xml b/spss.test/data/VC0/TestGeneratorVC0.010.Res.xml new file mode 100644 index 000000000..d74966a52 --- /dev/null +++ b/spss.test/data/VC0/TestGeneratorVC0.010.Res.xml @@ -0,0 +1,21 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></SignerInfo><SignatureCheck><Code>0</Code></SignatureCheck><CertificateCheck><Code>0</Code></CertificateCheck></VerifyCMSSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VC0/TestGeneratorVC0.012.Req.xml b/spss.test/data/VC0/TestGeneratorVC0.012.Req.xml new file mode 100644 index 000000000..8c5659020 --- /dev/null +++ b/spss.test/data/VC0/TestGeneratorVC0.012.Req.xml @@ -0,0 +1,27 @@ +<?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>MIIFxwYJKoZIhvcNAQcCoIIFuDCCBbQCAQExCzAJBgUrDgMCGgUAMCAGCSqGSIb3DQEHAaATBBFU +aGlzIGlzIGEgbWVzc2FnZaCCA8UwggPBMIIDLqADAgECAhUA6fbXFMJ+J6++zepurwdEEeNeM08w +CQYFKw4DAh0FADCBlTELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU +RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j +ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMB4XDTAyMTEx +NTA5NDA1MFoXDTAzMTIzMTIyNTkzMFoweTELMAkGA1UEBhMCQVQxDTALBgNVBAgTBFdpZW4xDTAL +BgNVBAcTBFdpZW4xFjAUBgNVBAkTDU11c3Rlcmdhc3NlIDExGzAZBgNVBAoTEk11c3Rlcm9yZ2Fu +aXNhdGlvbjEXMBUGA1UEAxMOTWF4IE11c3Rlcm1hbm4wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ +AoGBAPAPGChznc4VFa5lwZGS5lhgfFN4zu0ugf714Wmq2iRYeu4U2fj0k1Y11TY8w95d7M7p5jDP +/bXj8QH9K8LHllGUsLsaKSpRfRTIr+vfrOr1Dmc4wV9KgbjyEQiPMBRadzgUh49hbuF1vT+db7UI +pV2mawYcKEmg3tIKJW9jR7IBAgMBAAGjggEuMIIBKjAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQE +AwIHgDBnBgNVHSAEYDBeMFwGDCsGAQQBlRIBAgMBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2Vy +dGlmaWNhdGUgbWF5IGJlIHVzZWQgZm9yIGRlbW9uc3RyYXRpb24gcHVycG9zZXMgb25seTAvBgNV +HREEKDAmgSRtYXgubXVzdGVybWFubkBtdXN0ZXJvcmdhbmlzYXRpb24uYXQwHQYDVR0OBBYEFOn2 +1xTCfievvs3qbq8HQyBcS8flMBsGByooAAoBAQEEEAwOTXVzdGVyYmVow7ZyZGUwEwYDVR0lBAww +CgYIKwYBBQUHAwQwHwYDVR0jBBgwFoAU61Yc6emHer6/MfN1fyr+rOVA044wCQYFKw4DAh0FAAOB +gQAtsLUhvKZvcNbAH6kR7Ou3zv6vfGL4kYXGS3S3DS06h756NJjwCFK5jcux4t080OdO2WD8aWTO +KMIXEEc+BQqEaiQD3WoihX759m3f+nGNJXGX56UYMLH1ZytcHkvubmbFIyBgY5kfZRSUVlC+0pfF +TgqtcJeRBVOyD2BFaLPCPjGCAbUwggGxAgEBMIGvMIGVMQswCQYDVQQGEwJBVDEmMCQGA1UEChMd +R1JBWiBVTklWRVJTSVRZIE9GIFRFQ0hOT0xPR1kxRzBFBgNVBAsTPkluc2l0dXRlIGZvciBBcHBs +aWVkIEluZm9ybWF0aW9uIFByb2Nlc3NpbmcgYW5kIENvbW11bmljYXRpb25zMRUwEwYDVQQDEwxJ +QUlLIFRlc3QgQ0ECFQDp9tcUwn4nr77N6m6vB0QR414zTzAJBgUrDgMCGgUAoF0wGAYJKoZIhvcN +AQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMxMTEwMjMyNDE5WjAjBgkqhkiG9w0B +CQQxFgQUssrSHofb1X8aGSjkATtW+1U7uCowDQYJKoZIhvcNAQEBBQAEgYAtA8DMWjHpGXuJbWEy +hLHVFJZj6bFNFFHxJNikVv1uhvQuesaVZ26Go9MfyughNNfcS5hYF0vy8PN00YJouYCNaywH+tEJ +mHf++257bG/tlZIFmngSD8zoj8UjX/lBEgNGVEA9iVfUMn1oPdaRzhGX2tiA6Hczk1kUsA13iOZM +MA==</CMSSignature><TrustProfileID>TrustProfile1</TrustProfileID></VerifyCMSSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/VC0/TestGeneratorVC0.012.Res.xml b/spss.test/data/VC0/TestGeneratorVC0.012.Res.xml new file mode 100644 index 000000000..ae3c7444c --- /dev/null +++ b/spss.test/data/VC0/TestGeneratorVC0.012.Res.xml @@ -0,0 +1,21 @@ +<?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>CN=Max Mustermann,O=Musterorganisation,STREET=Mustergasse 1,L=Wien,ST=Wien,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1335699569126441074835341742398412708010421793615</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>MIIDwTCCAy6gAwIBAgIVAOn21xTCfievvs3qbq8HRBHjXjNPMAkGBSsOAwIdBQAw +gZUxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAMTDElBSUsg +VGVzdCBDQTAeFw0wMjExMTUwOTQwNTBaFw0wMzEyMzEyMjU5MzBaMHkxCzAJBgNV +BAYTAkFUMQ0wCwYDVQQIEwRXaWVuMQ0wCwYDVQQHEwRXaWVuMRYwFAYDVQQJEw1N +dXN0ZXJnYXNzZSAxMRswGQYDVQQKExJNdXN0ZXJvcmdhbmlzYXRpb24xFzAVBgNV +BAMTDk1heCBNdXN0ZXJtYW5uMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDw +Dxgoc53OFRWuZcGRkuZYYHxTeM7tLoH+9eFpqtokWHruFNn49JNWNdU2PMPeXezO +6eYwz/214/EB/SvCx5ZRlLC7GikqUX0UyK/r36zq9Q5nOMFfSoG48hEIjzAUWnc4 +FIePYW7hdb0/nW+1CKVdpmsGHChJoN7SCiVvY0eyAQIDAQABo4IBLjCCASowDAYD +VR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCB4AwZwYDVR0gBGAwXjBcBgwrBgEEAZUS +AQIDAQEwTDBKBggrBgEFBQcCAjA+GjxUaGlzIGNlcnRpZmljYXRlIG1heSBiZSB1 +c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzIG9ubHkwLwYDVR0RBCgwJoEk +bWF4Lm11c3Rlcm1hbm5AbXVzdGVyb3JnYW5pc2F0aW9uLmF0MB0GA1UdDgQWBBTp +9tcUwn4nr77N6m6vB0MgXEvH5TAbBgcqKAAKAQEBBBAMDk11c3RlcmJlaMO2cmRl +MBMGA1UdJQQMMAoGCCsGAQUFBwMEMB8GA1UdIwQYMBaAFOtWHOnph3q+vzHzdX8q +/qzlQNOOMAkGBSsOAwIdBQADgYEALbC1Ibymb3DWwB+pEezrt87+r3xi+JGFxkt0 +tw0tOoe+ejSY8AhSuY3LseLdPNDnTtlg/GlkzijCFxBHPgUKhGokA91qIoV++fZt +3/pxjSVxl+elGDCx9WcrXB5L7m5mxSMgYGOZH2UUlFZQvtKXxU4KrXCXkQVTsg9g +RWizwj4=</dsig:X509Certificate><PublicAuthority><Code>Musterbehörde</Code></PublicAuthority></dsig:X509Data></SignerInfo><SignatureCheck><Code>0</Code></SignatureCheck><CertificateCheck><Code>0</Code></CertificateCheck></VerifyCMSSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VC0/TestGeneratorVC0.051.ErrRes.xml b/spss.test/data/VC0/TestGeneratorVC0.051.ErrRes.xml new file mode 100644 index 000000000..5b2b55035 --- /dev/null +++ b/spss.test/data/VC0/TestGeneratorVC0.051.ErrRes.xml @@ -0,0 +1 @@ +1100
\ No newline at end of file diff --git a/spss.test/data/VC0/TestGeneratorVC0.051.Req.xml b/spss.test/data/VC0/TestGeneratorVC0.051.Req.xml new file mode 100644 index 000000000..37b58bf56 --- /dev/null +++ b/spss.test/data/VC0/TestGeneratorVC0.051.Req.xml @@ -0,0 +1,27 @@ +<?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="0"><DateTime>2003-04-04T09:30:47-05:00</DateTime><CMSSignature>MIIF0AYJKoZIhvcNAQcCoIIFwTCCBb0CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCA9sw +ggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMx +MjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU +RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j +ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0G +CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR +97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb +/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0T +AQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYM +KwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBi +ZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6 +Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzW +j8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQAD +gYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj +2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd +2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0w +GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMxMTEwMjMyNDE4WjAj +BgkqhkiG9w0BCQQxFgQUWVob54034HfToUBDAErL5z6GFxowDQYJKoZIhvcNAQEBBQAEgYCROgBc +2jZawG1rLwbBArvabdXBsb3YymN9nxYPCO6rCDPI8eHe51VqB42fkT+nCIrYguVI3y/fDjhwCi4O +3tzsxoRdFJtsXIYTVJtKDusbdivZ/F068dMstQTDfNThiXhBY5QqY0BYpk5+YISclHsodebXfp6C +VAV9K35NLifAQg==</CMSSignature><DataObject><MetaInfo><MimeType>text/plain</MimeType><Description>http://localhost:8080/moa-spss-testdata/resources/testDaten.txt</Description></MetaInfo><Content><Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content></Content></DataObject><TrustProfileID>TrustProfile1</TrustProfileID></VerifyCMSSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/VC0/TestGeneratorVC0.052.ErrRes.xml b/spss.test/data/VC0/TestGeneratorVC0.052.ErrRes.xml new file mode 100644 index 000000000..50ee053e9 --- /dev/null +++ b/spss.test/data/VC0/TestGeneratorVC0.052.ErrRes.xml @@ -0,0 +1 @@ +2249
\ No newline at end of file diff --git a/spss.test/data/VC0/TestGeneratorVC0.052.Req.xml b/spss.test/data/VC0/TestGeneratorVC0.052.Req.xml new file mode 100644 index 000000000..5c81cc9e6 --- /dev/null +++ b/spss.test/data/VC0/TestGeneratorVC0.052.Req.xml @@ -0,0 +1,27 @@ +<?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="10"><DateTime>2003-04-04T09:30:47-05:00</DateTime><CMSSignature>MIIF0AYJKoZIhvcNAQcCoIIFwTCCBb0CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCA9sw +ggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMx +MjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU +RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j +ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0G +CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR +97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb +/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0T +AQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYM +KwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBi +ZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6 +Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzW +j8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQAD +gYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj +2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd +2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0w +GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMxMTEwMjMyNDE4WjAj +BgkqhkiG9w0BCQQxFgQUWVob54034HfToUBDAErL5z6GFxowDQYJKoZIhvcNAQEBBQAEgYCROgBc +2jZawG1rLwbBArvabdXBsb3YymN9nxYPCO6rCDPI8eHe51VqB42fkT+nCIrYguVI3y/fDjhwCi4O +3tzsxoRdFJtsXIYTVJtKDusbdivZ/F068dMstQTDfNThiXhBY5QqY0BYpk5+YISclHsodebXfp6C +VAV9K35NLifAQg==</CMSSignature><DataObject><MetaInfo><MimeType>text/plain</MimeType><Description>http://localhost:8080/moa-spss-testdata/resources/testDaten.txt</Description></MetaInfo><Content><Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content></Content></DataObject><TrustProfileID>TrustProfile1</TrustProfileID></VerifyCMSSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/VC0/TestGeneratorVC0.054.ErrRes.xml b/spss.test/data/VC0/TestGeneratorVC0.054.ErrRes.xml new file mode 100644 index 000000000..5b2b55035 --- /dev/null +++ b/spss.test/data/VC0/TestGeneratorVC0.054.ErrRes.xml @@ -0,0 +1 @@ +1100
\ No newline at end of file diff --git a/spss.test/data/VC0/TestGeneratorVC0.054.Req.xml b/spss.test/data/VC0/TestGeneratorVC0.054.Req.xml new file mode 100644 index 000000000..841bbb215 --- /dev/null +++ b/spss.test/data/VC0/TestGeneratorVC0.054.Req.xml @@ -0,0 +1 @@ +<?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>this is no Base64 Data</CMSSignature><DataObject><MetaInfo><MimeType>text/plain</MimeType><Description>http://localhost:8080/moa-spss-testdata/resources/testDaten.txt</Description></MetaInfo><Content><Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content></Content></DataObject><TrustProfileID>TrustProfile1</TrustProfileID></VerifyCMSSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/VC0/TestGeneratorVC0.055.ErrRes.xml b/spss.test/data/VC0/TestGeneratorVC0.055.ErrRes.xml new file mode 100644 index 000000000..19261c267 --- /dev/null +++ b/spss.test/data/VC0/TestGeneratorVC0.055.ErrRes.xml @@ -0,0 +1 @@ +2248
\ No newline at end of file diff --git a/spss.test/data/VC0/TestGeneratorVC0.055.Req.xml b/spss.test/data/VC0/TestGeneratorVC0.055.Req.xml new file mode 100644 index 000000000..2ab6692ad --- /dev/null +++ b/spss.test/data/VC0/TestGeneratorVC0.055.Req.xml @@ -0,0 +1,27 @@ +<?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>MIIF0AYJKoZIhvcNAQcCoIIFwTCCBb0CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCA9sw +ggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMx +MjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU +RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j +ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0G +CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR +97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb +/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0T +AQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYM +KwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBi +ZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6 +Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzW +j8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQAD +gYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj +2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd +2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0w +GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMxMTEwMjMyNDE4WjAj +BgkqhkiG9w0BCQQxFgQUWVob54034HfToUBDAErL5z6GFxowDQYJKoZIhvcNAQEBBQAEgYCROgBc +2jZawG1rLwbBArvabdXBsb3YymN9nxYPCO6rCDPI8eHe51VqB42fkT+nCIrYguVI3y/fDjhwCi4O +3tzsxoRdFJtsXIYTVJtKDusbdivZ/F068dMstQTDfNThiXhBY5QqY0BYpk5+YISclHsodebXfp6C +VAV9K35NLifAQg==</CMSSignature><TrustProfileID>TrustProfile1</TrustProfileID></VerifyCMSSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/VC0/TestGeneratorVC0.056.ErrRes.xml b/spss.test/data/VC0/TestGeneratorVC0.056.ErrRes.xml new file mode 100644 index 000000000..9fbf3f867 --- /dev/null +++ b/spss.test/data/VC0/TestGeneratorVC0.056.ErrRes.xml @@ -0,0 +1 @@ +2203
\ No newline at end of file diff --git a/spss.test/data/VC0/TestGeneratorVC0.056.Req.xml b/spss.test/data/VC0/TestGeneratorVC0.056.Req.xml new file mode 100644 index 000000000..6a320648c --- /dev/null +++ b/spss.test/data/VC0/TestGeneratorVC0.056.Req.xml @@ -0,0 +1,27 @@ +<?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>MIIF0AYJKoZIhvcNAQcCoIIFwTCCBb0CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCA9sw +ggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMx +MjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU +RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j +ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0G +CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR +97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb +/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0T +AQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYM +KwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBi +ZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6 +Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzW +j8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQAD +gYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj +2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd +2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0w +GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMxMTEwMjMyNDE4WjAj +BgkqhkiG9w0BCQQxFgQUWVob54034HfToUBDAErL5z6GFxowDQYJKoZIhvcNAQEBBQAEgYCROgBc +2jZawG1rLwbBArvabdXBsb3YymN9nxYPCO6rCDPI8eHe51VqB42fkT+nCIrYguVI3y/fDjhwCi4O +3tzsxoRdFJtsXIYTVJtKDusbdivZ/F068dMstQTDfNThiXhBY5QqY0BYpk5+YISclHsodebXfp6C +VAV9K35NLifAQg==</CMSSignature><DataObject><MetaInfo><MimeType>text/plain</MimeType><Description>http://localhost:8080/moa-spss-testdata/resources/testDaten.txt</Description></MetaInfo><Content><Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content></Content></DataObject><TrustProfileID>notvalidTrustProfileID</TrustProfileID></VerifyCMSSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/VC0/TestGeneratorVC0.057.ErrRes.xml b/spss.test/data/VC0/TestGeneratorVC0.057.ErrRes.xml new file mode 100644 index 000000000..19261c267 --- /dev/null +++ b/spss.test/data/VC0/TestGeneratorVC0.057.ErrRes.xml @@ -0,0 +1 @@ +2248
\ No newline at end of file diff --git a/spss.test/data/VC0/TestGeneratorVC0.057.Req.xml b/spss.test/data/VC0/TestGeneratorVC0.057.Req.xml new file mode 100644 index 000000000..ab5792860 --- /dev/null +++ b/spss.test/data/VC0/TestGeneratorVC0.057.Req.xml @@ -0,0 +1,27 @@ +<?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>MIIFxwYJKoZIhvcNAQcCoIIFuDCCBbQCAQExCzAJBgUrDgMCGgUAMCAGCSqGSIb3DQEHAaATBBFU +aGlzIGlzIGEgbWVzc2FnZaCCA8UwggPBMIIDLqADAgECAhUA6fbXFMJ+J6++zepurwdEEeNeM08w +CQYFKw4DAh0FADCBlTELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU +RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j +ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMB4XDTAyMTEx +NTA5NDA1MFoXDTAzMTIzMTIyNTkzMFoweTELMAkGA1UEBhMCQVQxDTALBgNVBAgTBFdpZW4xDTAL +BgNVBAcTBFdpZW4xFjAUBgNVBAkTDU11c3Rlcmdhc3NlIDExGzAZBgNVBAoTEk11c3Rlcm9yZ2Fu +aXNhdGlvbjEXMBUGA1UEAxMOTWF4IE11c3Rlcm1hbm4wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ +AoGBAPAPGChznc4VFa5lwZGS5lhgfFN4zu0ugf714Wmq2iRYeu4U2fj0k1Y11TY8w95d7M7p5jDP +/bXj8QH9K8LHllGUsLsaKSpRfRTIr+vfrOr1Dmc4wV9KgbjyEQiPMBRadzgUh49hbuF1vT+db7UI +pV2mawYcKEmg3tIKJW9jR7IBAgMBAAGjggEuMIIBKjAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQE +AwIHgDBnBgNVHSAEYDBeMFwGDCsGAQQBlRIBAgMBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2Vy +dGlmaWNhdGUgbWF5IGJlIHVzZWQgZm9yIGRlbW9uc3RyYXRpb24gcHVycG9zZXMgb25seTAvBgNV +HREEKDAmgSRtYXgubXVzdGVybWFubkBtdXN0ZXJvcmdhbmlzYXRpb24uYXQwHQYDVR0OBBYEFOn2 +1xTCfievvs3qbq8HQyBcS8flMBsGByooAAoBAQEEEAwOTXVzdGVyYmVow7ZyZGUwEwYDVR0lBAww +CgYIKwYBBQUHAwQwHwYDVR0jBBgwFoAU61Yc6emHer6/MfN1fyr+rOVA044wCQYFKw4DAh0FAAOB +gQAtsLUhvKZvcNbAH6kR7Ou3zv6vfGL4kYXGS3S3DS06h756NJjwCFK5jcux4t080OdO2WD8aWTO +KMIXEEc+BQqEaiQD3WoihX759m3f+nGNJXGX56UYMLH1ZytcHkvubmbFIyBgY5kfZRSUVlC+0pfF +TgqtcJeRBVOyD2BFaLPCPjGCAbUwggGxAgEBMIGvMIGVMQswCQYDVQQGEwJBVDEmMCQGA1UEChMd +R1JBWiBVTklWRVJTSVRZIE9GIFRFQ0hOT0xPR1kxRzBFBgNVBAsTPkluc2l0dXRlIGZvciBBcHBs +aWVkIEluZm9ybWF0aW9uIFByb2Nlc3NpbmcgYW5kIENvbW11bmljYXRpb25zMRUwEwYDVQQDEwxJ +QUlLIFRlc3QgQ0ECFQDp9tcUwn4nr77N6m6vB0QR414zTzAJBgUrDgMCGgUAoF0wGAYJKoZIhvcN +AQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMxMTEwMjMyNDE5WjAjBgkqhkiG9w0B +CQQxFgQUssrSHofb1X8aGSjkATtW+1U7uCowDQYJKoZIhvcNAQEBBQAEgYAtA8DMWjHpGXuJbWEy +hLHVFJZj6bFNFFHxJNikVv1uhvQuesaVZ26Go9MfyughNNfcS5hYF0vy8PN00YJouYCNaywH+tEJ +mHf++257bG/tlZIFmngSD8zoj8UjX/lBEgNGVEA9iVfUMn1oPdaRzhGX2tiA6Hczk1kUsA13iOZM +MA==</CMSSignature><DataObject><MetaInfo><MimeType>text/plain</MimeType><Description>http://localhost:8080/moa-spss-testdata/resources/testDaten.txt</Description></MetaInfo><Content><Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content></Content></DataObject><TrustProfileID>TrustProfile1</TrustProfileID></VerifyCMSSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/VC0/TestGeneratorVC0.058.ErrRes.xml b/spss.test/data/VC0/TestGeneratorVC0.058.ErrRes.xml new file mode 100644 index 000000000..5b2b55035 --- /dev/null +++ b/spss.test/data/VC0/TestGeneratorVC0.058.ErrRes.xml @@ -0,0 +1 @@ +1100
\ No newline at end of file diff --git a/spss.test/data/VC0/TestGeneratorVC0.058.Req.xml b/spss.test/data/VC0/TestGeneratorVC0.058.Req.xml new file mode 100644 index 000000000..facb651dc --- /dev/null +++ b/spss.test/data/VC0/TestGeneratorVC0.058.Req.xml @@ -0,0 +1,27 @@ +<?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>MIIF0AYJKoZIhvcNAQcCoIIFwTCCBb0CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCA9sw +ggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMx +MjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU +RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j +ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0G +CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR +97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb +/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0T +AQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYM +KwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBi +ZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6 +Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzW +j8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQAD +gYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj +2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd +2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0w +GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMxMTEwMjMyNDE4WjAj +BgkqhkiG9w0BCQQxFgQUWVob54034HfToUBDAErL5z6GFxowDQYJKoZIhvcNAQEBBQAEgYCROgBc +2jZawG1rLwbBArvabdXBsb3YymN9nxYPCO6rCDPI8eHe51VqB42fkT+nCIrYguVI3y/fDjhwCi4O +3tzsxoRdFJtsXIYTVJtKDusbdivZ/F068dMstQTDfNThiXhBY5QqY0BYpk5+YISclHsodebXfp6C +VAV9K35NLifAQg==</CMSSignature><DataObject><MetaInfo><MimeType>text/plain</MimeType><Description>http://localhost:8080/moa-spss-testdata/resources/testDaten.txt</Description></MetaInfo><Content><Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=()</Base64Content></Content></DataObject><TrustProfileID>TrustProfile1</TrustProfileID></VerifyCMSSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/VC0/TestGeneratorVC0.Config.xml b/spss.test/data/VC0/TestGeneratorVC0.Config.xml new file mode 100644 index 000000000..7d245303b --- /dev/null +++ b/spss.test/data/VC0/TestGeneratorVC0.Config.xml @@ -0,0 +1 @@ +<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:/e:/cio/projekte/basismodule/wartung/projekt/spss.test/resources/csep.xml"/> <TrustProfile id="validTrustProfileID1" uri="file:/e:/cio/projekte/basismodule/wartung/projekt/spss.test/TrustProfile1/"/></MOAConfiguration>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.001.Req.xml b/spss.test/data/VX0/TestGeneratorVX.001.Req.xml new file mode 100644 index 000000000..cb67075b9 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.001.Req.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 001--> +<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#"> + <DateTime>2003-11-11T00:47:33+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><dsig: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 URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Jl++3waHGFPf3UiFRyU8y1A95bEYnczE8lqin81AMWWFfmzFsghCKP77H/nyVnfW +2PpmSX/qhu4Cwk9MIyWMLSFRm60xEtlo4hy4oMuCB2xXEFQOyyZhPSIRHW1TrxRW +NF/Dn2vuP9xTuxzfefVNCCdPoh8OBmk4lSoayoylPM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.001.Res.xml b/spss.test/data/VX0/TestGeneratorVX.001.Res.xml new file mode 100644 index 000000000..53ba8d830 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.001.Res.xml @@ -0,0 +1,41 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> + <HashInputData> + <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.002.Req.xml b/spss.test/data/VX0/TestGeneratorVX.002.Req.xml new file mode 100644 index 000000000..8750813e5 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.002.Req.xml @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 002--> +<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 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 URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Jl++3waHGFPf3UiFRyU8y1A95bEYnczE8lqin81AMWWFfmzFsghCKP77H/nyVnfW +2PpmSX/qhu4Cwk9MIyWMLSFRm60xEtlo4hy4oMuCB2xXEFQOyyZhPSIRHW1TrxRW +NF/Dn2vuP9xTuxzfefVNCCdPoh8OBmk4lSoayoylPM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.002.Res.xml b/spss.test/data/VX0/TestGeneratorVX.002.Res.xml new file mode 100644 index 000000000..53ba8d830 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.002.Res.xml @@ -0,0 +1,41 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> + <HashInputData> + <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.003.Req.xml b/spss.test/data/VX0/TestGeneratorVX.003.Req.xml new file mode 100644 index 000000000..5f022958b --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.003.Req.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 003--> +<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#"> + <DateTime>2003-11-10T00:47:34+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><dsig: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 URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Jl++3waHGFPf3UiFRyU8y1A95bEYnczE8lqin81AMWWFfmzFsghCKP77H/nyVnfW +2PpmSX/qhu4Cwk9MIyWMLSFRm60xEtlo4hy4oMuCB2xXEFQOyyZhPSIRHW1TrxRW +NF/Dn2vuP9xTuxzfefVNCCdPoh8OBmk4lSoayoylPM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.003.Res.xml b/spss.test/data/VX0/TestGeneratorVX.003.Res.xml new file mode 100644 index 000000000..53ba8d830 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.003.Res.xml @@ -0,0 +1,41 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> + <HashInputData> + <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.004.Req.xml b/spss.test/data/VX0/TestGeneratorVX.004.Req.xml new file mode 100644 index 000000000..9a8e6bf41 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.004.Req.xml @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 004--> +<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#"> + <DateTime>2003-11-11T00:47:34+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><dsig: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 URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Jl++3waHGFPf3UiFRyU8y1A95bEYnczE8lqin81AMWWFfmzFsghCKP77H/nyVnfW +2PpmSX/qhu4Cwk9MIyWMLSFRm60xEtlo4hy4oMuCB2xXEFQOyyZhPSIRHW1TrxRW +NF/Dn2vuP9xTuxzfefVNCCdPoh8OBmk4lSoayoylPM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.004.Res.xml b/spss.test/data/VX0/TestGeneratorVX.004.Res.xml new file mode 100644 index 000000000..ff18dfcb4 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.004.Res.xml @@ -0,0 +1,39 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.005.Req.xml b/spss.test/data/VX0/TestGeneratorVX.005.Req.xml new file mode 100644 index 000000000..9ff063eba --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.005.Req.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 005--> +<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#"> + <DateTime>2003-11-11T00:47:34+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment Reference="http://localhost:8080/moa-spss-testdata/resources/SignatureVX005.xml" > + </VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.005.Res.xml b/spss.test/data/VX0/TestGeneratorVX.005.Res.xml new file mode 100644 index 000000000..027d216ed --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.005.Res.xml @@ -0,0 +1,43 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> +<dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> + </dsig:X509Data> + </SignerInfo> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <XMLDSIGManifestCheck> + <Code>1</Code> + <Info><FailedReference>1</FailedReference><ReferringSigReference>1</ReferringSigReference> </Info> + </XMLDSIGManifestCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.006.Req.xml b/spss.test/data/VX0/TestGeneratorVX.006.Req.xml new file mode 100644 index 000000000..4d2a6eb01 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.006.Req.xml @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 006--> +<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#"> + <DateTime>2003-11-11T00:47:34+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"> +<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"><dsig: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 URI="#myDocument"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>56czmK0W7eH9KbfAZcLEpHeVk8I=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>dDWGv+8umr+bj6lPgJJEEEIIAVgXHMlrmwfBJScVFkr/is/yHWPIX8x6wv0ZtV5G +7RyqE+toDkrHDpvDnRVhW6dZqkWcL0TrMktON6ItyRcm0ZXZQoJ506BIoa7Im49S +pNrzixvuQ2t2FvViRQwmmTIFQB7s6eaUxgLIKYuccKw=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature>daten</daten:Document></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <SupplementProfile> + <Content Reference="http://MyServer.com/resources/something.xsd"> + <XMLContent xml:space="preserve"><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></XMLContent> + </Content> + </SupplementProfile> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.006.Res.xml b/spss.test/data/VX0/TestGeneratorVX.006.Res.xml new file mode 100644 index 000000000..d85292b1a --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.006.Res.xml @@ -0,0 +1,39 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.007.Req.xml b/spss.test/data/VX0/TestGeneratorVX.007.Req.xml new file mode 100644 index 000000000..68fe5282b --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.007.Req.xml @@ -0,0 +1,86 @@ +<?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>PCFET0NUWVBFIERvY3VtZW50IFNZU1RFTSAiaHR0cDovL2xvY2FsaG9zdDo4MDgw +L21vYS1zcHNzLXRlc3RkYXRhL3Jlc291cmNlcy9WWC4wMDdEVEQuZHRkIj4NCjxE +b2N1bWVudCBJZD0ibXlEb2N1bWVudCIgeG1sbnM6eHNpPSJodHRwOi8vd3d3Lncz +Lm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeHNpOnNjaGVtYUxvY2F0aW9u +PSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIGh0dHA6Ly93d3cu +dzMub3JnL1RSL3htbGRzaWctY29yZS94bWxkc2lnLWNvcmUtc2NoZW1hLnhzZCI+ +PGRzaWc6U2lnbmF0dXJlIHhtbG5zOmRzaWc9Imh0dHA6Ly93d3cudzMub3JnLzIw +MDAvMDkveG1sZHNpZyMiPjxkc2lnOlNpZ25lZEluZm8+PGRzaWc6Q2Fub25pY2Fs +aXphdGlvbk1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnL1RSLzIw +MDEvUkVDLXhtbC1jMTRuLTIwMDEwMzE1Ii8+PGRzaWc6U2lnbmF0dXJlTWV0aG9k +IEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnI3Jz +YS1zaGExIi8+PGRzaWc6UmVmZXJlbmNlIFVSST0iI215RG9jdW1lbnQiPjxkc2ln +OlRyYW5zZm9ybXM+PGRzaWc6VHJhbnNmb3JtIEFsZ29yaXRobT0iaHR0cDovL3d3 +dy53My5vcmcvMjAwMC8wOS94bWxkc2lnI2VudmVsb3BlZC1zaWduYXR1cmUiLz48 +L2RzaWc6VHJhbnNmb3Jtcz48ZHNpZzpEaWdlc3RNZXRob2QgQWxnb3JpdGhtPSJo +dHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjc2hhMSIvPjxkc2lnOkRp +Z2VzdFZhbHVlPjgwcjJOUlFFYk5MMkJwamt0cmdFU2h4TW9EWT08L2RzaWc6RGln +ZXN0VmFsdWU+PC9kc2lnOlJlZmVyZW5jZT48L2RzaWc6U2lnbmVkSW5mbz48ZHNp +ZzpTaWduYXR1cmVWYWx1ZT5rYnhnNndObWg0S2dHaWNrZTMzUU5EeTNTeXNTTDZG +ODh5K2ZPMFVLRlB0MGNOQmx5L2c2QjRac3lCR1lqNGZlDQpXbk10WHBOWTlDd0N5 +RVlTUkljMHhtcDVueHhUVVpxdHUreWpzWnQ0Vi9vUFdqNkNiMy9nQVhQRG1iVVRs +QWFlDQp1cGdqQ1pIR3NPNzB1eTVlRWhZN1JSRFZ5K0VPTFFNeVpoQjVrNWhNbmVj +PTwvZHNpZzpTaWduYXR1cmVWYWx1ZT48ZHNpZzpLZXlJbmZvPjxkc2lnOlg1MDlE +YXRhPjxkc2lnOlg1MDlDZXJ0aWZpY2F0ZT5NSUlEYnpDQ0F0eWdBd0lCQWdJR0FQ +TWtBNFpzTUFrR0JTc09Bd0lkQlFBd2dhd3hDekFKQmdOVkJBWVRBa0ZVDQpNU1l3 +SkFZRFZRUUtFeDFIVWtGYUlGVk9TVlpGVWxOSlZGa2dUMFlnVkVWRFNFNVBURTlI +V1RGSE1FVUdBMVVFDQpDeE0rU1c1emFYUjFkR1VnWm05eUlFRndjR3hwWldRZ1NX +NW1iM0p0WVhScGIyNGdVSEp2WTJWemMybHVaeUJoDQpibVFnUTI5dGJYVnVhV05o +ZEdsdmJuTXhGVEFUQmdOVkJBc1RERWxCU1VzZ1ZHVnpkQ0JEUVRFVk1CTUdBMVVF +DQpBeE1NU1VGSlN5QlVaWE4wSUVOQk1CNFhEVEF6TURJd016RTBNRGMwTlZvWERU +QXpNVEl6TURJeU5Ua3pNRm93DQpnYXd4Q3pBSkJnTlZCQVlUQWtGVU1TWXdKQVlE +VlFRS0V4MUhVa0ZhSUZWT1NWWkZVbE5KVkZrZ1QwWWdWRVZEDQpTRTVQVEU5SFdU +RkhNRVVHQTFVRUN4TStTVzV6YVhSMWRHVWdabTl5SUVGd2NHeHBaV1FnU1c1bWIz +SnRZWFJwDQpiMjRnVUhKdlkyVnpjMmx1WnlCaGJtUWdRMjl0YlhWdWFXTmhkR2x2 +Ym5NeEZUQVRCZ05WQkFzVERFbEJTVXNnDQpWR1Z6ZENCRFFURVZNQk1HQTFVRUF4 +TU1TVUZKU3lCVVpYTjBJRU5CTUlHZk1BMEdDU3FHU0liM0RRRUJBUVVBDQpBNEdO +QURDQmlRS0JnUUNVV0tsNnV5Ui9pc3R5MkRMVmRCengwNzRxT2ZKK09QOEo2UFZp +OUdYNTI3dTBUVFdUDQorTExMOGJnWUN3UE9GUVNycHFTbWIyd09keFd3WVFmaGF0 +S3Z6dlV3NFViL0Jmd0VzdGZYcy94ZjZ6NElGMktPDQptbVJNREkxejhTRTE3MDFT +RlRVb1lkOVpCOEtVdHlwNmRGZDRjSXVqTzg0RE1FKzZSQVp4dHNHV0x3SURBUUFC +DQpvNEdoTUlHZU1CSUdBMVVkRXdFQi93UUlNQVlCQWY4Q0FRQXdEZ1lEVlIwUEFR +SC9CQVFEQWdIR01EZ0dBMVVkDQpId1F4TUM4d0xhQXJvQ21HSjJoMGRIQTZMeTkz +ZDNjdWFXRnBheTVoZEM5MFpYTjBMV05oTDNSbGMzUlFRMEV1DQpZM0pzYkRBZEJn +TlZIUTRFRmdRVVRDQ3dWZ0lNOTRnS2xvaWxGTFJSekRxMThyOHdId1lEVlIwakJC +Z3dGb0FVDQpUQ0N3VmdJTTk0Z0tsb2lsRkxSUnpEcTE4cjh3Q1FZRkt3NERBaDBG +QUFPQmdRQ0N4NlZQam1VZGVxR2N0UVRoDQpTZzJkRVlkbGFsL1g1azUyM25RNTRT +c29YMnNoSVFLLzh6Sk9HelFkTWplYnVwSUsrdFBpWjdTSnpzQWFNVWk0DQpIZ3Fx +M2oxRksrS3hMaXF0dDM1dHdvZlZZT3UxNVpqMFhJdThFTXp2RTA1eW50bFBqdEdi +cDlsbDhkd012YWJQDQoraldoQ1hBbjZ3MmMyeGRwaEw4bm9rU05MQT09PC9kc2ln +Olg1MDlDZXJ0aWZpY2F0ZT48ZHNpZzpYNTA5Q2VydGlmaWNhdGU+TUlJRDF6Q0NB +MFNnQXdJQkFnSUdBUE1rZlRVN01Ba0dCU3NPQXdJZEJRQXdnYXd4Q3pBSkJnTlZC +QVlUQWtGVQ0KTVNZd0pBWURWUVFLRXgxSFVrRmFJRlZPU1ZaRlVsTkpWRmtnVDBZ +Z1ZFVkRTRTVQVEU5SFdURkhNRVVHQTFVRQ0KQ3hNK1NXNXphWFIxZEdVZ1ptOXlJ +RUZ3Y0d4cFpXUWdTVzVtYjNKdFlYUnBiMjRnVUhKdlkyVnpjMmx1WnlCaA0KYm1R +Z1EyOXRiWFZ1YVdOaGRHbHZibk14RlRBVEJnTlZCQXNUREVsQlNVc2dWR1Z6ZENC +RFFURVZNQk1HQTFVRQ0KQXhNTVNVRkpTeUJVWlhOMElFTkJNQjRYRFRBek1ESXdN +ekUyTWpBMU5Wb1hEVEF6TVRJek1ESXlOVGt6TUZvdw0KZ1pneEN6QUpCZ05WQkFZ +VEFrRlVNU1l3SkFZRFZRUUtFeDFIVWtGYUlGVk9TVlpGVWxOSlZGa2dUMFlnVkVW +RA0KU0U1UFRFOUhXVEZITUVVR0ExVUVDeE0rU1c1emFYUjFkR1VnWm05eUlFRndj +R3hwWldRZ1NXNW1iM0p0WVhScA0KYjI0Z1VISnZZMlZ6YzJsdVp5QmhibVFnUTI5 +dGJYVnVhV05oZEdsdmJuTXhHREFXQmdOVkJBTVVEMGx6YjJ4aw0KWlNCQy9ISm5a +WEpwYmpDQm56QU5CZ2txaGtpRzl3MEJBUUVGQUFPQmpRQXdnWWtDZ1lFQTUzbTBx +bmc2Tzl6Vg0KSUF1SjIyUHM5MVgrcGRkaE1pQTlQMFF1c01leFErUUVrZmU0M25F +RklUb1VaM3V1b0FRRmQrbjRNWE02RDY4dA0KWmN0R1U1TzRXNUFxL2JFakk0ZWZJ +SFMwRVRoemdOQXltcW1UOVo5SUlFaHFtLzFqaFE0U1hUVzMzeTNYbjNseA0KMjZE +aVRlQXBmdHVRQjM4OFlsVitScytyVHlGOWlSVUNBd0VBQWFPQ0FSd3dnZ0VZTUF3 +R0ExVWRFd0VCL3dRQw0KTUFBd0RnWURWUjBQQVFIL0JBUURBZ2JBTUJFR0NXQ0dT +QUdHK0VJQkFRUUVBd0lGSURCbkJnTlZIU0FFWURCZQ0KTUZ3R0RDc0dBUVFCbFJJ +QkFuc0JBVEJNTUVvR0NDc0dBUVVGQndJQ01ENGFQRlJvYVhNZ1kyVnlkR2xtYVdO +aA0KZEdVZ2IyNXNlU0J0WVhrZ1ltVWdkWE5sWkNCbWIzSWdaR1Z0YjI1emRISmhk +R2x2YmlCd2RYSndiM05sY3pBOA0KQmdOVkhSOEVOVEF6TURHZ0w2QXRoaXRvZEhS +d09pOHZkM2QzTG1saGFXc3VZWFF2ZEdWemRFTkJMMmxoYVd0Zg0KZEdWemRGOXph +V2N1WTNKc01CMEdBMVVkRGdRV0JCUW9PdW9JeFM4TTFvL0RUWmtKVXMwbG5ONUE3 +VEFmQmdOVg0KSFNNRUdEQVdnQlJNSUxCV0FnejNpQXFXaUtVVXRGSE1Pclh5dnpB +SkJnVXJEZ01DSFFVQUE0R0JBQ1k4MW84bQ0KemI4WUN1VE1nZXBseVNtNW5Ba3hq +c3YxVDVuL0h6ejFjTGZTREpaMEh5TlRWeC9HRHN6WStEeDI4TWRXKzZETA0Kbzlu +V1BTRS80UCtrOUhYSmUvd0V5QXY0NE9yanZwekdHS2pxb2MzWDh2NHJ6TW82TUJS +Tmx1dTBtM3kxcGt0VA0KVi9xNGFpV0QvbmJHWGRybi9Bb0tBdk9TQVEzUWU2WCtk +VC8xPC9kc2lnOlg1MDlDZXJ0aWZpY2F0ZT48L2RzaWc6WDUwOURhdGE+PC9kc2ln +OktleUluZm8+PC9kc2lnOlNpZ25hdHVyZT4NCmRhdGVuDQo8L0RvY3VtZW50Pg==</Base64Content></VerifySignatureEnvironment><VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation></VerifySignatureInfo> <SupplementProfile> + <Content Reference="http://localhost:8080/moa-spss-testdata/resources/VX.007DTD.dtd"> + <Base64Content>PCFFTEVNRU5UIERvY3VtZW50ICgjUENEQVRBfEFOWSkqPg0KPCFBVFRMSVNUIERv +Y3VtZW50IElkIElEICNSRVFVSVJFRD4NCg==</Base64Content> + </Content> + </SupplementProfile> +<TrustProfileID>TrustProfile1</TrustProfileID></VerifyXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.007.Res.xml b/spss.test/data/VX0/TestGeneratorVX.007.Res.xml new file mode 100644 index 000000000..ff18dfcb4 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.007.Res.xml @@ -0,0 +1,39 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.008.Req.xml b/spss.test/data/VX0/TestGeneratorVX.008.Req.xml new file mode 100644 index 000000000..bb036ece9 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.008.Req.xml @@ -0,0 +1 @@ +<?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('signed-data')/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('refetsi')/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+1pJEnGxehxXsesZboVvkJa/jhuI0goCTW9KkdGOP71B7o7/vlyBbxaYKpnVNtBU4/qtTxba7M0E32X+tm/x9O6foXIM0AoP3oQBZmjo9rEJ9kfk=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIFJTCCBA2gAwIBAgICGTcwDQYJKoZIhvcNAQEFBQAwgaExCzAJBgNVBAYTAkFUMUgwRgYDVQQKEz9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4gRGF0ZW52ZXJrZWhyIEdtYkgxIzAhBgNVBAsTGmEtc2lnbi1URVNULVByZW1pdW0tRW5jLTAxMSMwIQYDVQQDExphLXNpZ24tVEVTVC1QcmVtaXVtLUVuYy0wMTAeFw0wMzAyMTAxMzIwNThaFw0wNjAyMTAxMzIwNThaMGoxCzAJBgNVBAYTAkFUMRwwGgYDVQQDExNUZXN0cGVyc29uIE1PQTQgQlJaMQwwCgYDVQQEEwNCUloxGDAWBgNVBCoTD1Rlc3RwZXJzb24gTU9BNDEVMBMGA1UEBRMMNzkwMTg3NDYxNjMzMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDS/UW1/tZeCh7HHQmj8auUTEc4edAgRDkUVKOm0tF3kE3WZlhGDZL0p84xsdIKyI+bwDCMATATkQwDo/Xxn9jJMi4/t80bNyRsHk9giA0wcvz9NgmEcDwKNqawGsR9gNeK8TyIC8AuDkj1EwtkAObMvtp/Z1phi47x3JxDDfGDpQIDAQABo4ICHzCCAhswEwYDVR0jBAwwCoAIS7OAw3GTPNgwJwYIKwYBBQUHAQMBAf8EGDAWMAgGBgQAjkYBATAKBggrBgEFBQcLATCBggYIKwYBBQUHAQEEdjB0MCkGCCsGAQUFBzABhh1odHRwOi8vd3d3LmEtdHJ1c3QuYXQ6ODIvb2NzcDBHBggrBgEFBQcwAoY7aHR0cDovL3d3dy5hLXRydXN0LmF0L2NlcnRzL2Etc2lnbi1URVNULVByZW1pdW0tU2lnLTAxYS5jcnQwgZQGA1UdIASBjDCBiTB9BgYqKAARAQQwczA1BggrBgEFBQcCARYpaHR0cDovL3d3dy5hLXRydXN0LmF0L2RvY3MvY3AvYS1zaWduLVRFU1QwOgYIKwYBBQUHAgIwLhosRGllc2VzIFplcnRpZmlrYXQgZGllbnQgbnVyIHp1IFRlc3R6d2Vja2VuICEwCAYGBACLMAEBMG8GA1UdHwRoMGYwZKBioGCGXmxkYXA6Ly9sZGFwLmEtdHJ1c3QuYXQvb3U9YS1zaWduLVRFU1QtUHJlbWl1bS1FbmMtMDEsbz1BLVRydXN0LGM9QVQ/Y2VydGlmaWNhdGVyZXZvY2F0aW9ubGlzdD8wEQYDVR0OBAoECE4DxL9ky4M+MA4GA1UdDwEB/wQEAwIGwDAgBgNVHREEGTAXgRV0ZXN0cGVyc29uNEBicnouZ3YuYXQwCQYDVR0TBAIwADANBgkqhkiG9w0BAQUFAAOCAQEAioVvsZN+NnQxXMTGdjKveTBMRTYzHflkSC8lI9XXltP5+mjIuoB2Tn6voovA8dXz9jTsnQt8f8ye0CL2bSS9UVD1jv8So3bavquW+HlkZBAZvL39APNLPjUUnWn0QOnrQAJ6W47UwGAUgEw3KcBcJaEa4Xb/8kUj618xGzWl6X0mKsVpxkrf+5Cj+nmwDqChll08/90MmhSY4M5FrvmQ9GjAN5FHVsk0FPp02tKCRzoBJtzpB1DWKHlgiDHUAXy5eD0XI7PXebPNZ4InvY/jC/IH8PRLdJT249YQmUxZ4neTtFDvb8C1Qh6k725fh3hVxqX8ZwwWj9+iGQVk53K3CA==</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>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.008.Res.xml b/spss.test/data/VX0/TestGeneratorVX.008.Res.xml new file mode 100644 index 000000000..2152cd3d5 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.008.Res.xml @@ -0,0 +1 @@ +<?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>MIIFJTCCBA2gAwIBAgICGTcwDQYJKoZIhvcNAQEFBQAwgaExCzAJBgNVBAYTAkFUMUgwRgYDVQQKEz9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4gRGF0ZW52ZXJrZWhyIEdtYkgxIzAhBgNVBAsTGmEtc2lnbi1URVNULVByZW1pdW0tRW5jLTAxMSMwIQYDVQQDExphLXNpZ24tVEVTVC1QcmVtaXVtLUVuYy0wMTAeFw0wMzAyMTAxMzIwNThaFw0wNjAyMTAxMzIwNThaMGoxCzAJBgNVBAYTAkFUMRwwGgYDVQQDExNUZXN0cGVyc29uIE1PQTQgQlJaMQwwCgYDVQQEEwNCUloxGDAWBgNVBCoTD1Rlc3RwZXJzb24gTU9BNDEVMBMGA1UEBRMMNzkwMTg3NDYxNjMzMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDS/UW1/tZeCh7HHQmj8auUTEc4edAgRDkUVKOm0tF3kE3WZlhGDZL0p84xsdIKyI+bwDCMATATkQwDo/Xxn9jJMi4/t80bNyRsHk9giA0wcvz9NgmEcDwKNqawGsR9gNeK8TyIC8AuDkj1EwtkAObMvtp/Z1phi47x3JxDDfGDpQIDAQABo4ICHzCCAhswEwYDVR0jBAwwCoAIS7OAw3GTPNgwJwYIKwYBBQUHAQMBAf8EGDAWMAgGBgQAjkYBATAKBggrBgEFBQcLATCBggYIKwYBBQUHAQEEdjB0MCkGCCsGAQUFBzABhh1odHRwOi8vd3d3LmEtdHJ1c3QuYXQ6ODIvb2NzcDBHBggrBgEFBQcwAoY7aHR0cDovL3d3dy5hLXRydXN0LmF0L2NlcnRzL2Etc2lnbi1URVNULVByZW1pdW0tU2lnLTAxYS5jcnQwgZQGA1UdIASBjDCBiTB9BgYqKAARAQQwczA1BggrBgEFBQcCARYpaHR0cDovL3d3dy5hLXRydXN0LmF0L2RvY3MvY3AvYS1zaWduLVRFU1QwOgYIKwYBBQUHAgIwLhosRGllc2VzIFplcnRpZmlrYXQgZGllbnQgbnVyIHp1IFRlc3R6d2Vja2VuICEwCAYGBACLMAEBMG8GA1UdHwRoMGYwZKBioGCGXmxkYXA6Ly9sZGFwLmEtdHJ1c3QuYXQvb3U9YS1zaWduLVRFU1QtUHJlbWl1bS1FbmMtMDEsbz1BLVRydXN0LGM9QVQ/Y2VydGlmaWNhdGVyZXZvY2F0aW9ubGlzdD8wEQYDVR0OBAoECE4DxL9ky4M+MA4GA1UdDwEB/wQEAwIGwDAgBgNVHREEGTAXgRV0ZXN0cGVyc29uNEBicnouZ3YuYXQwCQYDVR0TBAIwADANBgkqhkiG9w0BAQUFAAOCAQEAioVvsZN+NnQxXMTGdjKveTBMRTYzHflkSC8lI9XXltP5+mjIuoB2Tn6voovA8dXz9jTsnQt8f8ye0CL2bSS9UVD1jv8So3bavquW+HlkZBAZvL39APNLPjUUnWn0QOnrQAJ6W47UwGAUgEw3KcBcJaEa4Xb/8kUj618xGzWl6X0mKsVpxkrf+5Cj+nmwDqChll08/90MmhSY4M5FrvmQ9GjAN5FHVsk0FPp02tKCRzoBJtzpB1DWKHlgiDHUAXy5eD0XI7PXebPNZ4InvY/jC/IH8PRLdJT249YQmUxZ4neTtFDvb8C1Qh6k725fh3hVxqX8ZwwWj9+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>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.009.Req.xml b/spss.test/data/VX0/TestGeneratorVX.009.Req.xml new file mode 100644 index 000000000..201326a8a --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.009.Req.xml @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 009--> +<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#"> + <DateTime>2003-11-11T00:47:35+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"> +<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"><dsig: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 URI="#xpointer(id(myDocument))"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>2jmj7l5rSw0yVb/vlWAYkK/YBwk=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>EdJ7kVfAG4f52O5jXZr8UiBaschtqrau5pmpmLvUSXNyO44dapKJRhAUhh1dYWQA +62GKHrRMzYFIWKFAgslB/YHWgFxCsEZzrYp1yT+y40qMnemDO/wMhEPS1tpnhpLW +c6GZjZzC8cErefi2SZZxeB1FWdN90iqvGd8hSBLz1rg=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature>daten</daten:Document></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <SupplementProfile> + <Content Reference="http://MyServer.com/resources/something.xsd"> + <XMLContent xml:space="preserve"><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></XMLContent> + </Content> + </SupplementProfile> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.009.Res.xml b/spss.test/data/VX0/TestGeneratorVX.009.Res.xml new file mode 100644 index 000000000..d85292b1a --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.009.Res.xml @@ -0,0 +1,39 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.052.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.052.ErrRes.xml new file mode 100644 index 000000000..5b2b55035 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.052.ErrRes.xml @@ -0,0 +1 @@ +1100
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.052.Req.xml b/spss.test/data/VX0/TestGeneratorVX.052.Req.xml new file mode 100644 index 000000000..b4e44d5d7 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.052.Req.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 052--> +<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#"> + <DateTime>2003-06-30T14:02:42+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:NoValidDSigSignedInfo><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 URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:NoValidDSigSignedInfo><dsig:SignatureValue>e1wgvnq1Jf8uumQVxpGr2DfgaDwF1QyKNnUOUr70oawP+Ryo8fhdChT7/i1ZRn+K +b7yTjqlEQyP67BBuPTcUefp9Ny4y19ciISHHF1WpQe7vhm1TTmm9/GCHKZbxGat5 +3Ag2IQLlR3C3NHyp+1FvCOAcbh3GcEPlkESI+2zzCPU=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.053.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.053.ErrRes.xml new file mode 100644 index 000000000..483d07b5d --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.053.ErrRes.xml @@ -0,0 +1 @@ +2212
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.053.Req.xml b/spss.test/data/VX0/TestGeneratorVX.053.Req.xml new file mode 100644 index 000000000..acbc588db --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.053.Req.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 053--> +<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#"> + <DateTime>2003-06-30T14:02:42+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig: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 URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>e1wgvnq1Jf8uumQVxpGr2DfgaDwF1QyKNnUOUr70oawP+Ryo8fhdChT7/i1ZRn+K +b7yTjqlEQyP67BBuPTcUefp9Ny4y19ciISHHF1WpQe7vhm1TTmm9/GCHKZbxGat5 +3Ag2IQLlR3C3NHyp+1FvCOAcbh3GcEPlkESI+2zzCPU=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//invalid XPath Expression</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.054.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.054.ErrRes.xml new file mode 100644 index 000000000..483d07b5d --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.054.ErrRes.xml @@ -0,0 +1 @@ +2212
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.054.Req.xml b/spss.test/data/VX0/TestGeneratorVX.054.Req.xml new file mode 100644 index 000000000..b400bd52a --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.054.Req.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 054--> +<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#"> + <DateTime>2003-06-30T14:02:42+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig: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 URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>e1wgvnq1Jf8uumQVxpGr2DfgaDwF1QyKNnUOUr70oawP+Ryo8fhdChT7/i1ZRn+K +b7yTjqlEQyP67BBuPTcUefp9Ny4y19ciISHHF1WpQe7vhm1TTmm9/GCHKZbxGat5 +3Ag2IQLlR3C3NHyp+1FvCOAcbh3GcEPlkESI+2zzCPU=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:NoValidElement</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.055.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.055.ErrRes.xml new file mode 100644 index 000000000..9fbf3f867 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.055.ErrRes.xml @@ -0,0 +1 @@ +2203
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.055.Req.xml b/spss.test/data/VX0/TestGeneratorVX.055.Req.xml new file mode 100644 index 000000000..e91aec7bf --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.055.Req.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 055--> +<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#"> + <DateTime>2003-06-30T14:02:42+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig: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 URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>e1wgvnq1Jf8uumQVxpGr2DfgaDwF1QyKNnUOUr70oawP+Ryo8fhdChT7/i1ZRn+K +b7yTjqlEQyP67BBuPTcUefp9Ny4y19ciISHHF1WpQe7vhm1TTmm9/GCHKZbxGat5 +3Ag2IQLlR3C3NHyp+1FvCOAcbh3GcEPlkESI+2zzCPU=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>InvalidProfile</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.101.Req.xml b/spss.test/data/VX0/TestGeneratorVX.101.Req.xml new file mode 100644 index 000000000..48650c983 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.101.Req.xml @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 101--> +<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#"> + <DateTime>2003-11-11T00:47:35+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><dsig: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 URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Jl++3waHGFPf3UiFRyU8y1A95bEYnczE8lqin81AMWWFfmzFsghCKP77H/nyVnfW +2PpmSX/qhu4Cwk9MIyWMLSFRm60xEtlo4hy4oMuCB2xXEFQOyyZhPSIRHW1TrxRW +NF/Dn2vuP9xTuxzfefVNCCdPoh8OBmk4lSoayoylPM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <SupplementProfile> + <MetaInfo> + <MimeType>text/plain</MimeType> <Description>http://www.buergerkarte.at</Description> </MetaInfo> <Content Reference="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"> + <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> + </Content> + </SupplementProfile> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.101.Res.xml b/spss.test/data/VX0/TestGeneratorVX.101.Res.xml new file mode 100644 index 000000000..d85292b1a --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.101.Res.xml @@ -0,0 +1,39 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.102.Req.xml b/spss.test/data/VX0/TestGeneratorVX.102.Req.xml new file mode 100644 index 000000000..2e4c793c7 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.102.Req.xml @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 102--> +<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#"> + <DateTime>2003-11-11T00:47:35+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><dsig: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 URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Jl++3waHGFPf3UiFRyU8y1A95bEYnczE8lqin81AMWWFfmzFsghCKP77H/nyVnfW +2PpmSX/qhu4Cwk9MIyWMLSFRm60xEtlo4hy4oMuCB2xXEFQOyyZhPSIRHW1TrxRW +NF/Dn2vuP9xTuxzfefVNCCdPoh8OBmk4lSoayoylPM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <SupplementProfile> + <MetaInfo> + <MimeType>text/plain</MimeType> </MetaInfo> <Content Reference="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"> + <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> + </Content> + </SupplementProfile> +<ReturnHashInputData/> <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.102.Res.xml b/spss.test/data/VX0/TestGeneratorVX.102.Res.xml new file mode 100644 index 000000000..53ba8d830 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.102.Res.xml @@ -0,0 +1,41 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> + <HashInputData> + <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.103.Req.xml b/spss.test/data/VX0/TestGeneratorVX.103.Req.xml new file mode 100644 index 000000000..c8ae73f96 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.103.Req.xml @@ -0,0 +1,57 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 103--> +<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#"> + <DateTime>2003-11-11T00:47:35+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><dsig: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 URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Jl++3waHGFPf3UiFRyU8y1A95bEYnczE8lqin81AMWWFfmzFsghCKP77H/nyVnfW +2PpmSX/qhu4Cwk9MIyWMLSFRm60xEtlo4hy4oMuCB2xXEFQOyyZhPSIRHW1TrxRW +NF/Dn2vuP9xTuxzfefVNCCdPoh8OBmk4lSoayoylPM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <SupplementProfile> + <Content Reference="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"> + <XMLContent xml:space="preserve">Dies sind Testdaten</XMLContent> + </Content> + </SupplementProfile> +<ReturnHashInputData/> <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.103.Res.xml b/spss.test/data/VX0/TestGeneratorVX.103.Res.xml new file mode 100644 index 000000000..53ba8d830 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.103.Res.xml @@ -0,0 +1,41 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> + <HashInputData> + <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.104.Req.xml b/spss.test/data/VX0/TestGeneratorVX.104.Req.xml new file mode 100644 index 000000000..ff955286d --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.104.Req.xml @@ -0,0 +1,57 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 104 - Supplement/Content/XMLContent instead of Supplement/Content/Base64Content--> +<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#"> + <DateTime>2003-11-11T00:47:35+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><dsig: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 URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Jl++3waHGFPf3UiFRyU8y1A95bEYnczE8lqin81AMWWFfmzFsghCKP77H/nyVnfW +2PpmSX/qhu4Cwk9MIyWMLSFRm60xEtlo4hy4oMuCB2xXEFQOyyZhPSIRHW1TrxRW +NF/Dn2vuP9xTuxzfefVNCCdPoh8OBmk4lSoayoylPM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <SupplementProfile> + <Content Reference="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"> + <XMLContent xml:space="preserve">Dies sind Testdaten</XMLContent> + </Content> + </SupplementProfile> +<ReturnHashInputData/> <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.104.Res.xml b/spss.test/data/VX0/TestGeneratorVX.104.Res.xml new file mode 100644 index 000000000..53ba8d830 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.104.Res.xml @@ -0,0 +1,41 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> + <HashInputData> + <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.105.Req.xml b/spss.test/data/VX0/TestGeneratorVX.105.Req.xml new file mode 100644 index 000000000..3092d3245 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.105.Req.xml @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 105 - 2 Supplement elements--> +<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#"> + <DateTime>2003-11-11T00:47:35+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><dsig: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 URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testXML.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>Z9Rr4wyNUP2Pe0sBdLz447sJt8o=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>4iRKV9DwXTBtwfJUkkDaszoi7fMxASfl9z1znCRQcogBIv3jtu0azgS9IQUAg0yu +3P0E0KP/jEGqlZ83gptd5WbIXuht4Tv8d4YW6h9V7zQCjfjDKicRH8HQdHWRzUHL +qea2hmjvQhVCeAiFWggK3J6d2TpDINhKMc/27j0sBCY=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <SupplementProfile> + <Content Reference="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"> + <XMLContent xml:space="preserve">Dies sind Testdaten</XMLContent> + </Content> + </SupplementProfile> + <SupplementProfile> + <Content Reference="http://localhost:8080/moa-spss-testdata/resources/testXML.txt"> + <Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxIdWdvPg0K +CVRlc3QNCjwvSHVnbz4=</Base64Content> + </Content> + </SupplementProfile> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.105.Res.xml b/spss.test/data/VX0/TestGeneratorVX.105.Res.xml new file mode 100644 index 000000000..f963026dd --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.105.Res.xml @@ -0,0 +1,40 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> +<HashInputData><Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content></HashInputData><HashInputData><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxIdWdvPg0K +CVRlc3QNCjwvSHVnbz4=</Base64Content></HashInputData> <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.106.Req.xml b/spss.test/data/VX0/TestGeneratorVX.106.Req.xml new file mode 100644 index 000000000..f565e79a5 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.106.Req.xml @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 106 - 2 SupplementProfileID elements--> +<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#"> + <DateTime>2003-11-11T00:47:36+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><dsig: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 URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Jl++3waHGFPf3UiFRyU8y1A95bEYnczE8lqin81AMWWFfmzFsghCKP77H/nyVnfW +2PpmSX/qhu4Cwk9MIyWMLSFRm60xEtlo4hy4oMuCB2xXEFQOyyZhPSIRHW1TrxRW +NF/Dn2vuP9xTuxzfefVNCCdPoh8OBmk4lSoayoylPM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> +<SupplementProfileID>SupplementProfile2</SupplementProfileID><!-- Supplement Profile 2 enthaelt nicht die referenzierte URI --><SupplementProfileID>SupplementProfile1</SupplementProfileID><ReturnHashInputData/> <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.106.Res.xml b/spss.test/data/VX0/TestGeneratorVX.106.Res.xml new file mode 100644 index 000000000..53ba8d830 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.106.Res.xml @@ -0,0 +1,41 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> + <HashInputData> + <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.151.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.151.ErrRes.xml new file mode 100644 index 000000000..509145e76 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.151.ErrRes.xml @@ -0,0 +1 @@ +2264
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.151.Req.xml b/spss.test/data/VX0/TestGeneratorVX.151.Req.xml new file mode 100644 index 000000000..426adc20e --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.151.Req.xml @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 151 an URI referenced in dsig:Signature does not resolve and no SupplementProfile is available--> +<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#"> + <DateTime>2003-06-30T14:02:42+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig: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 URI="http://no.uritoresolve.com"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>e1wgvnq1Jf8uumQVxpGr2DfgaDwF1QyKNnUOUr70oawP+Ryo8fhdChT7/i1ZRn+K +b7yTjqlEQyP67BBuPTcUefp9Ny4y19ciISHHF1WpQe7vhm1TTmm9/GCHKZbxGat5 +3Ag2IQLlR3C3NHyp+1FvCOAcbh3GcEPlkESI+2zzCPU=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.153.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.153.ErrRes.xml new file mode 100644 index 000000000..c57606715 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.153.ErrRes.xml @@ -0,0 +1 @@ +2267
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.153.Req.xml b/spss.test/data/VX0/TestGeneratorVX.153.Req.xml new file mode 100644 index 000000000..5ae6efe51 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.153.Req.xml @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 153 - invalid SupplementProfileID--> +<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#"> + <DateTime>2003-06-30T14:02:43+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig: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 URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>e1wgvnq1Jf8uumQVxpGr2DfgaDwF1QyKNnUOUr70oawP+Ryo8fhdChT7/i1ZRn+K +b7yTjqlEQyP67BBuPTcUefp9Ny4y19ciISHHF1WpQe7vhm1TTmm9/GCHKZbxGat5 +3Ag2IQLlR3C3NHyp+1FvCOAcbh3GcEPlkESI+2zzCPU=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> +<SupplementProfileID>NO VALID SUPPLEMENT PROFILE ID</SupplementProfileID> <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.154.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.154.ErrRes.xml new file mode 100644 index 000000000..5b2b55035 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.154.ErrRes.xml @@ -0,0 +1 @@ +1100
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.154.Req.xml b/spss.test/data/VX0/TestGeneratorVX.154.Req.xml new file mode 100644 index 000000000..80cfd11ee --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.154.Req.xml @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 154--> +<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#"> + <DateTime>2003-06-30T14:02:43+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig: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 URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>e1wgvnq1Jf8uumQVxpGr2DfgaDwF1QyKNnUOUr70oawP+Ryo8fhdChT7/i1ZRn+K +b7yTjqlEQyP67BBuPTcUefp9Ny4y19ciISHHF1WpQe7vhm1TTmm9/GCHKZbxGat5 +3Ag2IQLlR3C3NHyp+1FvCOAcbh3GcEPlkESI+2zzCPU=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <SupplementProfile> + <MetaInfo> + <MimeType>text/plain</MimeType> <Description>http://www.buergerkarte.at</Description> </MetaInfo> <Content Reference="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/testDaten.txt"> + <Base64Content>AAAAAAAAAAAAAAAAAARGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content> + </Content> + </SupplementProfile> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.201.Req.xml b/spss.test/data/VX0/TestGeneratorVX.201.Req.xml new file mode 100644 index 000000000..c442ae3ea --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.201.Req.xml @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 201 a simple request w/ SignatureManifestCheckParams (but w/o Supplement)--> +<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#"> + <DateTime>2003-06-30T14:02:29+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig:Signature Id="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-1" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest" URI="#xpointer(id('Manifest'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>IHRIqoydkyYxCeNEHDOn/TgM7K0=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>3Zbb3C0LBzS5XgTp3a01s9UzZwI=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>znXa5lI9gbH3HQooxjQuRXO7M0V13EVPoOanz3P+Z+O7IQ/xAcwrVPWj59QpT1FL +gDusafWjNhBYD7R+o3Gwsk+8cCqUcuthSZPKDJdDBTsOzkoipmY11B3/hBZFC3Tu +ArPys8l0/ve9kIOjt4cOqmNv+9Q0mmRL28X4C0MawLg=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="Manifest"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="ETSIProperties"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + +<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" version="1.0"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><TransformParameter URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48eHNsOnN0eWxl +c2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFu +c2Zvcm0iIHZlcnNpb249IjEuMCI+PHhzbDpvdXRwdXQgbWV0aG9kPSJodG1sIiBp +bmRlbnQ9Im5vIi8+PHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGF0YTpib29rIiB4bWxu +czpkYXRhPSJodHRwOi8vdXJpLmRhdGEub3JnIj48SFRNTD48Qk9EWT48SDE+QnVj +aDogPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImRhdGE6dGl0bGUiLz48L0gxPjwvQk9E +WT48L0hUTUw+PC94c2w6dGVtcGxhdGU+PC94c2w6c3R5bGVzaGVldD4=</Base64Content></TransformParameter></VerifyTransformsInfoProfile></ReferenceInfo></SignatureManifestCheckParams> <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.201.Res.xml b/spss.test/data/VX0/TestGeneratorVX.201.Res.xml new file mode 100644 index 000000000..0afa9f231 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.201.Res.xml @@ -0,0 +1,51 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> +<ReferenceInputData><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48ZGF0YTpib29r +IHhtbG5zOmRhdGE9Imh0dHA6Ly91cmkuZGF0YS5vcmciIGRhdGE6aGFyZGJhY2s9 +InllcyI+PGRhdGE6dGl0bGU+R2VzdW5kaGVpdGxpY2hlIEF1c3dpcmt1bmdlbiBl +bGVrdHJvbmlzY2hlciBTaWduYXR1cmVuPC9kYXRhOnRpdGxlPjxkYXRhOmZpcnN0 +LW5hbWU+RWxsaXBzZTwvZGF0YTpmaXJzdC1uYW1lPjxkYXRhOmxhc3QtbmFtZT5L +dXJ2ZW5yZWljaDwvZGF0YTpsYXN0LW5hbWU+PGRhdGE6YmlydGgtZGF0ZT4xOTUx +LTA0LTE2PC9kYXRhOmJpcnRoLWRhdGU+PGRhdGE6YmlydGgtbG9jYXRpb24+SGlu +dGVybSBCZXJnPC9kYXRhOmJpcnRoLWxvY2F0aW9uPjxkYXRhOnJlZ2lzdGVyLW51 +bWJlcj42LTkzMC0yMTUxMi0xMjwvZGF0YTpyZWdpc3Rlci1udW1iZXI+PC9kYXRh +OmJvb2s+</Base64Content></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><dsig:Manifest Id="Manifest" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></XMLContent></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><etsi:SignedProperties xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></XMLContent></ReferenceInputData> <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <SignatureManifestCheck> + <Code>0</Code> + </SignatureManifestCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.202.Req.xml b/spss.test/data/VX0/TestGeneratorVX.202.Req.xml new file mode 100644 index 000000000..5c3fbdf98 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.202.Req.xml @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 202 no SignatureManifestCheckParams/@ReturnReferenceInputData--> +<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#"> + <DateTime>2003-06-30T14:02:30+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig:Signature Id="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-1" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest" URI="#xpointer(id('Manifest'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>IHRIqoydkyYxCeNEHDOn/TgM7K0=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>3Zbb3C0LBzS5XgTp3a01s9UzZwI=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>znXa5lI9gbH3HQooxjQuRXO7M0V13EVPoOanz3P+Z+O7IQ/xAcwrVPWj59QpT1FL +gDusafWjNhBYD7R+o3Gwsk+8cCqUcuthSZPKDJdDBTsOzkoipmY11B3/hBZFC3Tu +ArPys8l0/ve9kIOjt4cOqmNv+9Q0mmRL28X4C0MawLg=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="Manifest"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="ETSIProperties"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + +<SignatureManifestCheckParams><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" version="1.0"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><TransformParameter URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48eHNsOnN0eWxl +c2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFu +c2Zvcm0iIHZlcnNpb249IjEuMCI+PHhzbDpvdXRwdXQgbWV0aG9kPSJodG1sIiBp +bmRlbnQ9Im5vIi8+PHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGF0YTpib29rIiB4bWxu +czpkYXRhPSJodHRwOi8vdXJpLmRhdGEub3JnIj48SFRNTD48Qk9EWT48SDE+QnVj +aDogPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImRhdGE6dGl0bGUiLz48L0gxPjwvQk9E +WT48L0hUTUw+PC94c2w6dGVtcGxhdGU+PC94c2w6c3R5bGVzaGVldD4=</Base64Content></TransformParameter></VerifyTransformsInfoProfile></ReferenceInfo></SignatureManifestCheckParams> <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.202.Res.xml b/spss.test/data/VX0/TestGeneratorVX.202.Res.xml new file mode 100644 index 000000000..0afa9f231 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.202.Res.xml @@ -0,0 +1,51 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> +<ReferenceInputData><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48ZGF0YTpib29r +IHhtbG5zOmRhdGE9Imh0dHA6Ly91cmkuZGF0YS5vcmciIGRhdGE6aGFyZGJhY2s9 +InllcyI+PGRhdGE6dGl0bGU+R2VzdW5kaGVpdGxpY2hlIEF1c3dpcmt1bmdlbiBl +bGVrdHJvbmlzY2hlciBTaWduYXR1cmVuPC9kYXRhOnRpdGxlPjxkYXRhOmZpcnN0 +LW5hbWU+RWxsaXBzZTwvZGF0YTpmaXJzdC1uYW1lPjxkYXRhOmxhc3QtbmFtZT5L +dXJ2ZW5yZWljaDwvZGF0YTpsYXN0LW5hbWU+PGRhdGE6YmlydGgtZGF0ZT4xOTUx +LTA0LTE2PC9kYXRhOmJpcnRoLWRhdGU+PGRhdGE6YmlydGgtbG9jYXRpb24+SGlu +dGVybSBCZXJnPC9kYXRhOmJpcnRoLWxvY2F0aW9uPjxkYXRhOnJlZ2lzdGVyLW51 +bWJlcj42LTkzMC0yMTUxMi0xMjwvZGF0YTpyZWdpc3Rlci1udW1iZXI+PC9kYXRh +OmJvb2s+</Base64Content></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><dsig:Manifest Id="Manifest" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></XMLContent></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><etsi:SignedProperties xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></XMLContent></ReferenceInputData> <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <SignatureManifestCheck> + <Code>0</Code> + </SignatureManifestCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.203.Req.xml b/spss.test/data/VX0/TestGeneratorVX.203.Req.xml new file mode 100644 index 000000000..746dd3951 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.203.Req.xml @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 203 SignatureManifestCheckParams/@ReturnReferenceInputData = false--> +<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#"> + <DateTime>2003-06-30T14:02:31+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig:Signature Id="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-1" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest" URI="#xpointer(id('Manifest'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>IHRIqoydkyYxCeNEHDOn/TgM7K0=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>3Zbb3C0LBzS5XgTp3a01s9UzZwI=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>znXa5lI9gbH3HQooxjQuRXO7M0V13EVPoOanz3P+Z+O7IQ/xAcwrVPWj59QpT1FL +gDusafWjNhBYD7R+o3Gwsk+8cCqUcuthSZPKDJdDBTsOzkoipmY11B3/hBZFC3Tu +ArPys8l0/ve9kIOjt4cOqmNv+9Q0mmRL28X4C0MawLg=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="Manifest"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="ETSIProperties"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + +<SignatureManifestCheckParams ReturnReferenceInputData="false"><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" version="1.0"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><TransformParameter URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48eHNsOnN0eWxl +c2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFu +c2Zvcm0iIHZlcnNpb249IjEuMCI+PHhzbDpvdXRwdXQgbWV0aG9kPSJodG1sIiBp +bmRlbnQ9Im5vIi8+PHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGF0YTpib29rIiB4bWxu +czpkYXRhPSJodHRwOi8vdXJpLmRhdGEub3JnIj48SFRNTD48Qk9EWT48SDE+QnVj +aDogPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImRhdGE6dGl0bGUiLz48L0gxPjwvQk9E +WT48L0hUTUw+PC94c2w6dGVtcGxhdGU+PC94c2w6c3R5bGVzaGVldD4=</Base64Content></TransformParameter></VerifyTransformsInfoProfile></ReferenceInfo></SignatureManifestCheckParams> <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.203.Res.xml b/spss.test/data/VX0/TestGeneratorVX.203.Res.xml new file mode 100644 index 000000000..e9b9fbd86 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.203.Res.xml @@ -0,0 +1,42 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <SignatureManifestCheck> + <Code>0</Code> + </SignatureManifestCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.205.Req.xml b/spss.test/data/VX0/TestGeneratorVX.205.Req.xml new file mode 100644 index 000000000..e984d398f --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.205.Req.xml @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 206 - 2 dsig:Transform elements ==> Canonisierung + Stylesheet--> +<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#"> + <DateTime>2003-06-30T14:02:34+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig:Signature Id="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-1" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><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 version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest" URI="#xpointer(id('Manifest'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>IHRIqoydkyYxCeNEHDOn/TgM7K0=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>3Zbb3C0LBzS5XgTp3a01s9UzZwI=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>OytjSgIBrgFgwKJu/v0ACwO2x/PuO/gxjWrcI6hzNH6xvA5plofwYE0r9fJkaH64 +gdcVHzIlo168kg0Dnywk30qkCzKk1hsAfBtf/py8vlPR/QWsHux1xB4xiLzhxuF8 +goZ+KKcvz8Uhucy71qbcmFdCWmI55515ezbpERCq7bc=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="Manifest"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="ETSIProperties"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + +<SignatureManifestCheckParams ReturnReferenceInputData="true"><ReferenceInfo><VerifyTransformsInfoProfile><dsig:Transforms><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:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><TransformParameter URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48eHNsOnN0eWxl +c2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFu +c2Zvcm0iIHZlcnNpb249IjEuMCI+PHhzbDpvdXRwdXQgbWV0aG9kPSJodG1sIiBp +bmRlbnQ9Im5vIi8+PHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGF0YTpib29rIiB4bWxu +czpkYXRhPSJodHRwOi8vdXJpLmRhdGEub3JnIj48SFRNTD48Qk9EWT48SDE+QnVj +aDogPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImRhdGE6dGl0bGUiLz48L0gxPjwvQk9E +WT48L0hUTUw+PC94c2w6dGVtcGxhdGU+PC94c2w6c3R5bGVzaGVldD4=</Base64Content></TransformParameter></VerifyTransformsInfoProfile></ReferenceInfo></SignatureManifestCheckParams> <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.205.Res.xml b/spss.test/data/VX0/TestGeneratorVX.205.Res.xml new file mode 100644 index 000000000..0afa9f231 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.205.Res.xml @@ -0,0 +1,51 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> +<ReferenceInputData><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48ZGF0YTpib29r +IHhtbG5zOmRhdGE9Imh0dHA6Ly91cmkuZGF0YS5vcmciIGRhdGE6aGFyZGJhY2s9 +InllcyI+PGRhdGE6dGl0bGU+R2VzdW5kaGVpdGxpY2hlIEF1c3dpcmt1bmdlbiBl +bGVrdHJvbmlzY2hlciBTaWduYXR1cmVuPC9kYXRhOnRpdGxlPjxkYXRhOmZpcnN0 +LW5hbWU+RWxsaXBzZTwvZGF0YTpmaXJzdC1uYW1lPjxkYXRhOmxhc3QtbmFtZT5L +dXJ2ZW5yZWljaDwvZGF0YTpsYXN0LW5hbWU+PGRhdGE6YmlydGgtZGF0ZT4xOTUx +LTA0LTE2PC9kYXRhOmJpcnRoLWRhdGU+PGRhdGE6YmlydGgtbG9jYXRpb24+SGlu +dGVybSBCZXJnPC9kYXRhOmJpcnRoLWxvY2F0aW9uPjxkYXRhOnJlZ2lzdGVyLW51 +bWJlcj42LTkzMC0yMTUxMi0xMjwvZGF0YTpyZWdpc3Rlci1udW1iZXI+PC9kYXRh +OmJvb2s+</Base64Content></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><dsig:Manifest Id="Manifest" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></XMLContent></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><etsi:SignedProperties xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></XMLContent></ReferenceInputData> <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <SignatureManifestCheck> + <Code>0</Code> + </SignatureManifestCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.206.Req.xml b/spss.test/data/VX0/TestGeneratorVX.206.Req.xml new file mode 100644 index 000000000..b342499a6 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.206.Req.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 206 TransformParameter/Hash statt TransformParameter/Base64Content (Der Hash wird von CX1_book.xsl gebildet)--> +<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#"> + <DateTime>2003-06-30T14:02:35+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig:Signature Id="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-1" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest" URI="#xpointer(id('Manifest'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>IHRIqoydkyYxCeNEHDOn/TgM7K0=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>3Zbb3C0LBzS5XgTp3a01s9UzZwI=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>znXa5lI9gbH3HQooxjQuRXO7M0V13EVPoOanz3P+Z+O7IQ/xAcwrVPWj59QpT1FL +gDusafWjNhBYD7R+o3Gwsk+8cCqUcuthSZPKDJdDBTsOzkoipmY11B3/hBZFC3Tu +ArPys8l0/ve9kIOjt4cOqmNv+9Q0mmRL28X4C0MawLg=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="Manifest"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="ETSIProperties"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + +<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" version="1.0"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><TransformParameter URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><Hash><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></Hash></TransformParameter></VerifyTransformsInfoProfile></ReferenceInfo></SignatureManifestCheckParams> <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.206.Res.xml b/spss.test/data/VX0/TestGeneratorVX.206.Res.xml new file mode 100644 index 000000000..0afa9f231 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.206.Res.xml @@ -0,0 +1,51 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> +<ReferenceInputData><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48ZGF0YTpib29r +IHhtbG5zOmRhdGE9Imh0dHA6Ly91cmkuZGF0YS5vcmciIGRhdGE6aGFyZGJhY2s9 +InllcyI+PGRhdGE6dGl0bGU+R2VzdW5kaGVpdGxpY2hlIEF1c3dpcmt1bmdlbiBl +bGVrdHJvbmlzY2hlciBTaWduYXR1cmVuPC9kYXRhOnRpdGxlPjxkYXRhOmZpcnN0 +LW5hbWU+RWxsaXBzZTwvZGF0YTpmaXJzdC1uYW1lPjxkYXRhOmxhc3QtbmFtZT5L +dXJ2ZW5yZWljaDwvZGF0YTpsYXN0LW5hbWU+PGRhdGE6YmlydGgtZGF0ZT4xOTUx +LTA0LTE2PC9kYXRhOmJpcnRoLWRhdGU+PGRhdGE6YmlydGgtbG9jYXRpb24+SGlu +dGVybSBCZXJnPC9kYXRhOmJpcnRoLWxvY2F0aW9uPjxkYXRhOnJlZ2lzdGVyLW51 +bWJlcj42LTkzMC0yMTUxMi0xMjwvZGF0YTpyZWdpc3Rlci1udW1iZXI+PC9kYXRh +OmJvb2s+</Base64Content></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><dsig:Manifest Id="Manifest" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></XMLContent></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><etsi:SignedProperties xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></XMLContent></ReferenceInputData> <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <SignatureManifestCheck> + <Code>0</Code> + </SignatureManifestCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.208.Req.xml b/spss.test/data/VX0/TestGeneratorVX.208.Req.xml new file mode 100644 index 000000000..f1cf1407f --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.208.Req.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 208 - weder Base64Content noch Hash wird verwendet --> +<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#"> + <DateTime>2003-06-30T14:02:36+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig:Signature Id="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-1" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest" URI="#xpointer(id('Manifest'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>IHRIqoydkyYxCeNEHDOn/TgM7K0=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>3Zbb3C0LBzS5XgTp3a01s9UzZwI=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>znXa5lI9gbH3HQooxjQuRXO7M0V13EVPoOanz3P+Z+O7IQ/xAcwrVPWj59QpT1FL +gDusafWjNhBYD7R+o3Gwsk+8cCqUcuthSZPKDJdDBTsOzkoipmY11B3/hBZFC3Tu +ArPys8l0/ve9kIOjt4cOqmNv+9Q0mmRL28X4C0MawLg=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="Manifest"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="ETSIProperties"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + +<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" version="1.0"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><TransformParameter URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></VerifyTransformsInfoProfile></ReferenceInfo></SignatureManifestCheckParams> <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.208.Res.xml b/spss.test/data/VX0/TestGeneratorVX.208.Res.xml new file mode 100644 index 000000000..0afa9f231 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.208.Res.xml @@ -0,0 +1,51 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> +<ReferenceInputData><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48ZGF0YTpib29r +IHhtbG5zOmRhdGE9Imh0dHA6Ly91cmkuZGF0YS5vcmciIGRhdGE6aGFyZGJhY2s9 +InllcyI+PGRhdGE6dGl0bGU+R2VzdW5kaGVpdGxpY2hlIEF1c3dpcmt1bmdlbiBl +bGVrdHJvbmlzY2hlciBTaWduYXR1cmVuPC9kYXRhOnRpdGxlPjxkYXRhOmZpcnN0 +LW5hbWU+RWxsaXBzZTwvZGF0YTpmaXJzdC1uYW1lPjxkYXRhOmxhc3QtbmFtZT5L +dXJ2ZW5yZWljaDwvZGF0YTpsYXN0LW5hbWU+PGRhdGE6YmlydGgtZGF0ZT4xOTUx +LTA0LTE2PC9kYXRhOmJpcnRoLWRhdGU+PGRhdGE6YmlydGgtbG9jYXRpb24+SGlu +dGVybSBCZXJnPC9kYXRhOmJpcnRoLWxvY2F0aW9uPjxkYXRhOnJlZ2lzdGVyLW51 +bWJlcj42LTkzMC0yMTUxMi0xMjwvZGF0YTpyZWdpc3Rlci1udW1iZXI+PC9kYXRh +OmJvb2s+</Base64Content></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><dsig:Manifest Id="Manifest" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></XMLContent></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><etsi:SignedProperties xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></XMLContent></ReferenceInputData> <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <SignatureManifestCheck> + <Code>0</Code> + </SignatureManifestCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.209.Req.xml b/spss.test/data/VX0/TestGeneratorVX.209.Req.xml new file mode 100644 index 000000000..0313487de --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.209.Req.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 209 0 TransformParameter ==> ganzes Element raus und direkt auf CX1_book.xsl verweisen (in der Transformations-Referenz)--> +<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#"> + <DateTime>2003-06-30T14:02:36+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig:Signature Id="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-1" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:output indent="no" method="html"/><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></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>3Zbb3C0LBzS5XgTp3a01s9UzZwI=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>qeKBMCrzXCqI4a5M0Fwsng/tBIslBtIJMefvH+soUHe2PKh6UDCrPixmIuXx2GbB +DEomSF2AzeCLm9Z4tapxx0f0eJq1mJw8udzL+qANx4dgmOFwwGZ4L+TRC56VpHIR +reUrL8YKhn7vE9aU0K3XW/xp2JMG0+CHPrWES5RDdis=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object Id="ETSIProperties"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + +<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" version="1.0"><xsl:output indent="no" method="html"/><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></dsig:Transforms></VerifyTransformsInfoProfile></ReferenceInfo></SignatureManifestCheckParams> <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.209.Res.xml b/spss.test/data/VX0/TestGeneratorVX.209.Res.xml new file mode 100644 index 000000000..019319a92 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.209.Res.xml @@ -0,0 +1,51 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> +<ReferenceInputData><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48ZGF0YTpib29r +IHhtbG5zOmRhdGE9Imh0dHA6Ly91cmkuZGF0YS5vcmciIGRhdGE6aGFyZGJhY2s9 +InllcyI+PGRhdGE6dGl0bGU+R2VzdW5kaGVpdGxpY2hlIEF1c3dpcmt1bmdlbiBl +bGVrdHJvbmlzY2hlciBTaWduYXR1cmVuPC9kYXRhOnRpdGxlPjxkYXRhOmZpcnN0 +LW5hbWU+RWxsaXBzZTwvZGF0YTpmaXJzdC1uYW1lPjxkYXRhOmxhc3QtbmFtZT5L +dXJ2ZW5yZWljaDwvZGF0YTpsYXN0LW5hbWU+PGRhdGE6YmlydGgtZGF0ZT4xOTUx +LTA0LTE2PC9kYXRhOmJpcnRoLWRhdGU+PGRhdGE6YmlydGgtbG9jYXRpb24+SGlu +dGVybSBCZXJnPC9kYXRhOmJpcnRoLWxvY2F0aW9uPjxkYXRhOnJlZ2lzdGVyLW51 +bWJlcj42LTkzMC0yMTUxMi0xMjwvZGF0YTpyZWdpc3Rlci1udW1iZXI+PC9kYXRh +OmJvb2s+</Base64Content></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><etsi:SignedProperties xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></XMLContent></ReferenceInputData> <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <SignatureManifestCheck> + <Code>2</Code> + </SignatureManifestCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.210.Req.xml b/spss.test/data/VX0/TestGeneratorVX.210.Req.xml new file mode 100644 index 000000000..b58453e8d --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.210.Req.xml @@ -0,0 +1,70 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 210 2 includes--> +<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#"> + <DateTime>2003-06-30T14:02:37+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig:Signature Id="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-1" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + <xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/VX2_book0.xsl"/> + <xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/VX2_book1.xsl"/> +</xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>kK81Gw6OGWZ0V9WRv1yw1Cfr3jo=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest" URI="#xpointer(id('Manifest'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>A+nlyca9189rpvNfOVcAXs054rY=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>3Zbb3C0LBzS5XgTp3a01s9UzZwI=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>VYsDD4B3b9ch5AQ4RSiq+Jtt2WozSZhIFb5FmLZnD8za9DdJPb7zmPfy7Z3BcB4a +RL/mYpSaKCJB/L9yTpGSvoEV0tCveJ1RZn+8AKmcWs9ofka8y8kXb3LP6QtCqxA/ +1x5P66Wcwd7WNMgxR0Jq3ppKPiCJPagVt+/SEhVR0cU=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="Manifest"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/VX2_book0.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>IG9sarUVRiU1sOIxyZRQPDw4OW8=</dsig:DigestValue></dsig:Reference><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/VX2_book1.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>keikH7Iv/jkJlGdGVk4jEaoWDzI=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="ETSIProperties"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + +<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" version="1.0"> + <xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/VX2_book0.xsl"/> + <xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/VX2_book1.xsl"/> +</xsl:stylesheet></dsig:Transform></dsig:Transforms><TransformParameter URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/VX2_book0.xsl"><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48eHNsOnN0eWxl +c2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFu +c2Zvcm0iIHZlcnNpb249IjEuMCI+PHhzbDpvdXRwdXQgbWV0aG9kPSJodG1sIiBp +bmRlbnQ9Im5vIi8+PHhzbDp0ZW1wbGF0ZSBtYXRjaD0iLyI+PEhUTUw+PEJPRFk+ +PGgxPlVlYmVyc2NocmlmdDwvaDE+PHhzbDphcHBseS10ZW1wbGF0ZXMvPjwvQk9E +WT48L0hUTUw+PC94c2w6dGVtcGxhdGU+PC94c2w6c3R5bGVzaGVldD4=</Base64Content></TransformParameter><TransformParameter URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/VX2_book1.xsl"><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48eHNsOnN0eWxl +c2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFu +c2Zvcm0iIHZlcnNpb249IjEuMCI+PHhzbDpvdXRwdXQgbWV0aG9kPSJodG1sIiBp +bmRlbnQ9Im5vIi8+PHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGF0YTpib29rIiB4bWxu +czpkYXRhPSJodHRwOi8vdXJpLmRhdGEub3JnIj48SDE+QnVjaDogPHhzbDp2YWx1 +ZS1vZiBzZWxlY3Q9ImRhdGE6dGl0bGUiLz48L0gxPjwveHNsOnRlbXBsYXRlPjwv +eHNsOnN0eWxlc2hlZXQ+</Base64Content></TransformParameter></VerifyTransformsInfoProfile></ReferenceInfo></SignatureManifestCheckParams> <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.210.Res.xml b/spss.test/data/VX0/TestGeneratorVX.210.Res.xml new file mode 100644 index 000000000..a175eca8a --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.210.Res.xml @@ -0,0 +1,51 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> +<ReferenceInputData><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48ZGF0YTpib29r +IHhtbG5zOmRhdGE9Imh0dHA6Ly91cmkuZGF0YS5vcmciIGRhdGE6aGFyZGJhY2s9 +InllcyI+PGRhdGE6dGl0bGU+R2VzdW5kaGVpdGxpY2hlIEF1c3dpcmt1bmdlbiBl +bGVrdHJvbmlzY2hlciBTaWduYXR1cmVuPC9kYXRhOnRpdGxlPjxkYXRhOmZpcnN0 +LW5hbWU+RWxsaXBzZTwvZGF0YTpmaXJzdC1uYW1lPjxkYXRhOmxhc3QtbmFtZT5L +dXJ2ZW5yZWljaDwvZGF0YTpsYXN0LW5hbWU+PGRhdGE6YmlydGgtZGF0ZT4xOTUx +LTA0LTE2PC9kYXRhOmJpcnRoLWRhdGU+PGRhdGE6YmlydGgtbG9jYXRpb24+SGlu +dGVybSBCZXJnPC9kYXRhOmJpcnRoLWxvY2F0aW9uPjxkYXRhOnJlZ2lzdGVyLW51 +bWJlcj42LTkzMC0yMTUxMi0xMjwvZGF0YTpyZWdpc3Rlci1udW1iZXI+PC9kYXRh +OmJvb2s+</Base64Content></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><dsig:Manifest Id="Manifest" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/VX2_book0.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>IG9sarUVRiU1sOIxyZRQPDw4OW8=</dsig:DigestValue></dsig:Reference><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/VX2_book1.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>keikH7Iv/jkJlGdGVk4jEaoWDzI=</dsig:DigestValue></dsig:Reference></dsig:Manifest></XMLContent></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><etsi:SignedProperties xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></XMLContent></ReferenceInputData> <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <SignatureManifestCheck> + <Code>0</Code> + </SignatureManifestCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.211.Req.xml b/spss.test/data/VX0/TestGeneratorVX.211.Req.xml new file mode 100644 index 000000000..ad8871a22 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.211.Req.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 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--> +<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#"> + <DateTime>2003-06-30T14:02:37+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig:Signature Id="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-1" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest" URI="#xpointer(id('Manifest'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>IHRIqoydkyYxCeNEHDOn/TgM7K0=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>3Zbb3C0LBzS5XgTp3a01s9UzZwI=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>znXa5lI9gbH3HQooxjQuRXO7M0V13EVPoOanz3P+Z+O7IQ/xAcwrVPWj59QpT1FL +gDusafWjNhBYD7R+o3Gwsk+8cCqUcuthSZPKDJdDBTsOzkoipmY11B3/hBZFC3Tu +ArPys8l0/ve9kIOjt4cOqmNv+9Q0mmRL28X4C0MawLg=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="Manifest"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="ETSIProperties"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + +<SignatureManifestCheckParams ReturnReferenceInputData="true"><ReferenceInfo><VerifyTransformsInfoProfileID>TransformsInfoProfile1</VerifyTransformsInfoProfileID><VerifyTransformsInfoProfileID>TransformsInfoProfile2</VerifyTransformsInfoProfileID></ReferenceInfo></SignatureManifestCheckParams> <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.211.Res.xml b/spss.test/data/VX0/TestGeneratorVX.211.Res.xml new file mode 100644 index 000000000..0afa9f231 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.211.Res.xml @@ -0,0 +1,51 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> +<ReferenceInputData><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48ZGF0YTpib29r +IHhtbG5zOmRhdGE9Imh0dHA6Ly91cmkuZGF0YS5vcmciIGRhdGE6aGFyZGJhY2s9 +InllcyI+PGRhdGE6dGl0bGU+R2VzdW5kaGVpdGxpY2hlIEF1c3dpcmt1bmdlbiBl +bGVrdHJvbmlzY2hlciBTaWduYXR1cmVuPC9kYXRhOnRpdGxlPjxkYXRhOmZpcnN0 +LW5hbWU+RWxsaXBzZTwvZGF0YTpmaXJzdC1uYW1lPjxkYXRhOmxhc3QtbmFtZT5L +dXJ2ZW5yZWljaDwvZGF0YTpsYXN0LW5hbWU+PGRhdGE6YmlydGgtZGF0ZT4xOTUx +LTA0LTE2PC9kYXRhOmJpcnRoLWRhdGU+PGRhdGE6YmlydGgtbG9jYXRpb24+SGlu +dGVybSBCZXJnPC9kYXRhOmJpcnRoLWxvY2F0aW9uPjxkYXRhOnJlZ2lzdGVyLW51 +bWJlcj42LTkzMC0yMTUxMi0xMjwvZGF0YTpyZWdpc3Rlci1udW1iZXI+PC9kYXRh +OmJvb2s+</Base64Content></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><dsig:Manifest Id="Manifest" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></XMLContent></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><etsi:SignedProperties xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></XMLContent></ReferenceInputData> <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <SignatureManifestCheck> + <Code>0</Code> + </SignatureManifestCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.212.Req.xml b/spss.test/data/VX0/TestGeneratorVX.212.Req.xml new file mode 100644 index 000000000..396b6b944 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.212.Req.xml @@ -0,0 +1,66 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 212 2 ReferenceInfo (for 2 dsig:Reference (pplus Manifest + SignedProperties) : etsi:DataObjectFormat 2mal, Reference 2mal, Manifest 1mal, ReferenceInfo 2mal)--> +<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#"> + <DateTime>2003-06-30T14:02:38+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig:Signature Id="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-1" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Id="reference-2" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest" URI="#xpointer(id('Manifest'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>IHRIqoydkyYxCeNEHDOn/TgM7K0=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('ETSIProperties')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>3oEcsv39iZNxiHenc45eX5CYENI=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>H8yxgwiP3heWrNkvx7cSXrs0jEM1P1doihddEhG7nJVzpTEEVq2aYVUpnezarD8W +YaKrFY+VyyxQezR7IupgpnoKMBwf5GO0bM4BFhp3T8Ykq8uw93z1MeYXLzbI1IEe +iTRIvw7KH9cQPmg9dgCAp3+SEpSluCNRSjB3a1HNT0U=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="Manifest"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="ETSIProperties"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat><etsi:DataObjectFormat ObjectReference="#reference-2"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + +<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" version="1.0"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><TransformParameter URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48eHNsOnN0eWxl +c2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFu +c2Zvcm0iIHZlcnNpb249IjEuMCI+PHhzbDpvdXRwdXQgbWV0aG9kPSJodG1sIiBp +bmRlbnQ9Im5vIi8+PHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGF0YTpib29rIiB4bWxu +czpkYXRhPSJodHRwOi8vdXJpLmRhdGEub3JnIj48SFRNTD48Qk9EWT48SDE+QnVj +aDogPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImRhdGE6dGl0bGUiLz48L0gxPjwvQk9E +WT48L0hUTUw+PC94c2w6dGVtcGxhdGU+PC94c2w6c3R5bGVzaGVldD4=</Base64Content></TransformParameter></VerifyTransformsInfoProfile></ReferenceInfo> +<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" version="1.0"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><TransformParameter URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48eHNsOnN0eWxl +c2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFu +c2Zvcm0iIHZlcnNpb249IjEuMCI+PHhzbDpvdXRwdXQgbWV0aG9kPSJodG1sIiBp +bmRlbnQ9Im5vIi8+PHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGF0YTpib29rIiB4bWxu +czpkYXRhPSJodHRwOi8vdXJpLmRhdGEub3JnIj48SFRNTD48Qk9EWT48SDE+QnVj +aDogPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImRhdGE6dGl0bGUiLz48L0gxPjwvQk9E +WT48L0hUTUw+PC94c2w6dGVtcGxhdGU+PC94c2w6c3R5bGVzaGVldD4=</Base64Content></TransformParameter></VerifyTransformsInfoProfile></ReferenceInfo></SignatureManifestCheckParams> <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.212.Res.xml b/spss.test/data/VX0/TestGeneratorVX.212.Res.xml new file mode 100644 index 000000000..ed6b91884 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.212.Res.xml @@ -0,0 +1,60 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> +<ReferenceInputData><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48ZGF0YTpib29r +IHhtbG5zOmRhdGE9Imh0dHA6Ly91cmkuZGF0YS5vcmciIGRhdGE6aGFyZGJhY2s9 +InllcyI+PGRhdGE6dGl0bGU+R2VzdW5kaGVpdGxpY2hlIEF1c3dpcmt1bmdlbiBl +bGVrdHJvbmlzY2hlciBTaWduYXR1cmVuPC9kYXRhOnRpdGxlPjxkYXRhOmZpcnN0 +LW5hbWU+RWxsaXBzZTwvZGF0YTpmaXJzdC1uYW1lPjxkYXRhOmxhc3QtbmFtZT5L +dXJ2ZW5yZWljaDwvZGF0YTpsYXN0LW5hbWU+PGRhdGE6YmlydGgtZGF0ZT4xOTUx +LTA0LTE2PC9kYXRhOmJpcnRoLWRhdGU+PGRhdGE6YmlydGgtbG9jYXRpb24+SGlu +dGVybSBCZXJnPC9kYXRhOmJpcnRoLWxvY2F0aW9uPjxkYXRhOnJlZ2lzdGVyLW51 +bWJlcj42LTkzMC0yMTUxMi0xMjwvZGF0YTpyZWdpc3Rlci1udW1iZXI+PC9kYXRh +OmJvb2s+</Base64Content></ReferenceInputData><ReferenceInputData><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48ZGF0YTpib29r +IHhtbG5zOmRhdGE9Imh0dHA6Ly91cmkuZGF0YS5vcmciIGRhdGE6aGFyZGJhY2s9 +InllcyI+PGRhdGE6dGl0bGU+R2VzdW5kaGVpdGxpY2hlIEF1c3dpcmt1bmdlbiBl +bGVrdHJvbmlzY2hlciBTaWduYXR1cmVuPC9kYXRhOnRpdGxlPjxkYXRhOmZpcnN0 +LW5hbWU+RWxsaXBzZTwvZGF0YTpmaXJzdC1uYW1lPjxkYXRhOmxhc3QtbmFtZT5L +dXJ2ZW5yZWljaDwvZGF0YTpsYXN0LW5hbWU+PGRhdGE6YmlydGgtZGF0ZT4xOTUx +LTA0LTE2PC9kYXRhOmJpcnRoLWRhdGU+PGRhdGE6YmlydGgtbG9jYXRpb24+SGlu +dGVybSBCZXJnPC9kYXRhOmJpcnRoLWxvY2F0aW9uPjxkYXRhOnJlZ2lzdGVyLW51 +bWJlcj42LTkzMC0yMTUxMi0xMjwvZGF0YTpyZWdpc3Rlci1udW1iZXI+PC9kYXRh +OmJvb2s+</Base64Content></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><dsig:Manifest Id="Manifest" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></XMLContent></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><etsi:SignedProperties xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat><etsi:DataObjectFormat ObjectReference="#reference-2"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></XMLContent></ReferenceInputData> <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <SignatureManifestCheck> + <Code>0</Code> + </SignatureManifestCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.213.Req.xml b/spss.test/data/VX0/TestGeneratorVX.213.Req.xml new file mode 100644 index 000000000..dce1a9a17 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.213.Req.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 213 kein TransformParameter element obwohl in Transforms URIs referenziert werden--> +<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#"> + <DateTime>2003-06-30T14:02:39+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig:Signature Id="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-1" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest" URI="#xpointer(id('Manifest'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>IHRIqoydkyYxCeNEHDOn/TgM7K0=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xpointer(id('ETSIProperties'))/*/*"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>AsSNl5J8RuhnUlHMsM9yiFXppPM=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>ai8VjchIvVKPVxTiQGcHNG6CS/nxAUjbdjpg+G477vNfCdk3zoi21eTGyBWDGLvE +Ig8OPkkgUuZCq3mZMA/061rg08GbZPNfcDsMkotzasblF+ZLK9TC5v8vvxZ2P5dn +8qsuooOmp0MaII/0on8c9g3M0sJG7MrEgdIfTc0FZac=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="Manifest"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="ETSIProperties"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + +<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" version="1.0"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms></VerifyTransformsInfoProfile></ReferenceInfo></SignatureManifestCheckParams> <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.213.Res.xml b/spss.test/data/VX0/TestGeneratorVX.213.Res.xml new file mode 100644 index 000000000..d2402e5ec --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.213.Res.xml @@ -0,0 +1,51 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> +<ReferenceInputData><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48ZGF0YTpib29r +IHhtbG5zOmRhdGE9Imh0dHA6Ly91cmkuZGF0YS5vcmciIGRhdGE6aGFyZGJhY2s9 +InllcyI+PGRhdGE6dGl0bGU+R2VzdW5kaGVpdGxpY2hlIEF1c3dpcmt1bmdlbiBl +bGVrdHJvbmlzY2hlciBTaWduYXR1cmVuPC9kYXRhOnRpdGxlPjxkYXRhOmZpcnN0 +LW5hbWU+RWxsaXBzZTwvZGF0YTpmaXJzdC1uYW1lPjxkYXRhOmxhc3QtbmFtZT5L +dXJ2ZW5yZWljaDwvZGF0YTpsYXN0LW5hbWU+PGRhdGE6YmlydGgtZGF0ZT4xOTUx +LTA0LTE2PC9kYXRhOmJpcnRoLWRhdGU+PGRhdGE6YmlydGgtbG9jYXRpb24+SGlu +dGVybSBCZXJnPC9kYXRhOmJpcnRoLWxvY2F0aW9uPjxkYXRhOnJlZ2lzdGVyLW51 +bWJlcj42LTkzMC0yMTUxMi0xMjwvZGF0YTpyZWdpc3Rlci1udW1iZXI+PC9kYXRh +OmJvb2s+</Base64Content></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><dsig:Manifest Id="Manifest" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></XMLContent></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><dsig:Object Id="ETSIProperties" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></XMLContent></ReferenceInputData> <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <SignatureManifestCheck> + <Code>1</Code> +<Info><FailedReference>1</FailedReference></Info> </SignatureManifestCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.214.Req.xml b/spss.test/data/VX0/TestGeneratorVX.214.Req.xml new file mode 100644 index 000000000..f3e9332f8 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.214.Req.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 214 1 VerifyTransformsInfoID ==> Passt aber nicht zur Transformation (XSLT <==> Canonisiserung)--> +<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#"> + <DateTime>2003-06-30T14:02:40+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig:Signature Id="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-1" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest" URI="#xpointer(id('Manifest'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>IHRIqoydkyYxCeNEHDOn/TgM7K0=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xpointer(id('ETSIProperties'))/*/*"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>AsSNl5J8RuhnUlHMsM9yiFXppPM=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>ai8VjchIvVKPVxTiQGcHNG6CS/nxAUjbdjpg+G477vNfCdk3zoi21eTGyBWDGLvE +Ig8OPkkgUuZCq3mZMA/061rg08GbZPNfcDsMkotzasblF+ZLK9TC5v8vvxZ2P5dn +8qsuooOmp0MaII/0on8c9g3M0sJG7MrEgdIfTc0FZac=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="Manifest"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="ETSIProperties"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + +<SignatureManifestCheckParams ReturnReferenceInputData="true"><ReferenceInfo><VerifyTransformsInfoProfileID>TransformsInfoProfile2</VerifyTransformsInfoProfileID></ReferenceInfo></SignatureManifestCheckParams> <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.214.Res.xml b/spss.test/data/VX0/TestGeneratorVX.214.Res.xml new file mode 100644 index 000000000..d2402e5ec --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.214.Res.xml @@ -0,0 +1,51 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> +<ReferenceInputData><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48ZGF0YTpib29r +IHhtbG5zOmRhdGE9Imh0dHA6Ly91cmkuZGF0YS5vcmciIGRhdGE6aGFyZGJhY2s9 +InllcyI+PGRhdGE6dGl0bGU+R2VzdW5kaGVpdGxpY2hlIEF1c3dpcmt1bmdlbiBl +bGVrdHJvbmlzY2hlciBTaWduYXR1cmVuPC9kYXRhOnRpdGxlPjxkYXRhOmZpcnN0 +LW5hbWU+RWxsaXBzZTwvZGF0YTpmaXJzdC1uYW1lPjxkYXRhOmxhc3QtbmFtZT5L +dXJ2ZW5yZWljaDwvZGF0YTpsYXN0LW5hbWU+PGRhdGE6YmlydGgtZGF0ZT4xOTUx +LTA0LTE2PC9kYXRhOmJpcnRoLWRhdGU+PGRhdGE6YmlydGgtbG9jYXRpb24+SGlu +dGVybSBCZXJnPC9kYXRhOmJpcnRoLWxvY2F0aW9uPjxkYXRhOnJlZ2lzdGVyLW51 +bWJlcj42LTkzMC0yMTUxMi0xMjwvZGF0YTpyZWdpc3Rlci1udW1iZXI+PC9kYXRh +OmJvb2s+</Base64Content></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><dsig:Manifest Id="Manifest" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></XMLContent></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><dsig:Object Id="ETSIProperties" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></XMLContent></ReferenceInputData> <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <SignatureManifestCheck> + <Code>1</Code> +<Info><FailedReference>1</FailedReference></Info> </SignatureManifestCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.215.Req.xml b/spss.test/data/VX0/TestGeneratorVX.215.Req.xml new file mode 100644 index 000000000..6b8d4d6da --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.215.Req.xml @@ -0,0 +1,66 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 215 number of ReferenceInfo is different from number of dsig:Reference in the signature--> +<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#"> + <DateTime>2003-06-30T14:02:40+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig:Signature Id="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-1" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest" URI="#xpointer(id('Manifest'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>IHRIqoydkyYxCeNEHDOn/TgM7K0=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xpointer(id('ETSIProperties')/*/*)"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>3Zbb3C0LBzS5XgTp3a01s9UzZwI=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>nOGGxTHiJjB/JhDGXqOUqwYgpmauvIWE8ewOPWaB62IP0CVoEdVDeu6zz0axJ2wj +6s37syqpnuYyYIQI90M8JNskws+0tEFMk97fR8oXV+/mJSfxmbCM2UohlMbyCrVU +xGPmM6hbn11+E1jZNMxeLorB/eOHBlhxaYw/SC/r1+s=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="Manifest"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="ETSIProperties"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + +<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" version="1.0"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><TransformParameter URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48eHNsOnN0eWxl +c2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFu +c2Zvcm0iIHZlcnNpb249IjEuMCI+PHhzbDpvdXRwdXQgbWV0aG9kPSJodG1sIiBp +bmRlbnQ9Im5vIi8+PHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGF0YTpib29rIiB4bWxu +czpkYXRhPSJodHRwOi8vdXJpLmRhdGEub3JnIj48SFRNTD48Qk9EWT48SDE+QnVj +aDogPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImRhdGE6dGl0bGUiLz48L0gxPjwvQk9E +WT48L0hUTUw+PC94c2w6dGVtcGxhdGU+PC94c2w6c3R5bGVzaGVldD4=</Base64Content></TransformParameter></VerifyTransformsInfoProfile></ReferenceInfo> +<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" version="1.0"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><TransformParameter URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48eHNsOnN0eWxl +c2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFu +c2Zvcm0iIHZlcnNpb249IjEuMCI+PHhzbDpvdXRwdXQgbWV0aG9kPSJodG1sIiBp +bmRlbnQ9Im5vIi8+PHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGF0YTpib29rIiB4bWxu +czpkYXRhPSJodHRwOi8vdXJpLmRhdGEub3JnIj48SFRNTD48Qk9EWT48SDE+QnVj +aDogPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImRhdGE6dGl0bGUiLz48L0gxPjwvQk9E +WT48L0hUTUw+PC94c2w6dGVtcGxhdGU+PC94c2w6c3R5bGVzaGVldD4=</Base64Content></TransformParameter></VerifyTransformsInfoProfile></ReferenceInfo></SignatureManifestCheckParams> <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.215.Res.xml b/spss.test/data/VX0/TestGeneratorVX.215.Res.xml new file mode 100644 index 000000000..4e78f37db --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.215.Res.xml @@ -0,0 +1,51 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> +<ReferenceInputData><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48ZGF0YTpib29r +IHhtbG5zOmRhdGE9Imh0dHA6Ly91cmkuZGF0YS5vcmciIGRhdGE6aGFyZGJhY2s9 +InllcyI+PGRhdGE6dGl0bGU+R2VzdW5kaGVpdGxpY2hlIEF1c3dpcmt1bmdlbiBl +bGVrdHJvbmlzY2hlciBTaWduYXR1cmVuPC9kYXRhOnRpdGxlPjxkYXRhOmZpcnN0 +LW5hbWU+RWxsaXBzZTwvZGF0YTpmaXJzdC1uYW1lPjxkYXRhOmxhc3QtbmFtZT5L +dXJ2ZW5yZWljaDwvZGF0YTpsYXN0LW5hbWU+PGRhdGE6YmlydGgtZGF0ZT4xOTUx +LTA0LTE2PC9kYXRhOmJpcnRoLWRhdGU+PGRhdGE6YmlydGgtbG9jYXRpb24+SGlu +dGVybSBCZXJnPC9kYXRhOmJpcnRoLWxvY2F0aW9uPjxkYXRhOnJlZ2lzdGVyLW51 +bWJlcj42LTkzMC0yMTUxMi0xMjwvZGF0YTpyZWdpc3Rlci1udW1iZXI+PC9kYXRh +OmJvb2s+</Base64Content></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><dsig:Manifest Id="Manifest" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></XMLContent></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><etsi:SignedProperties xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></XMLContent></ReferenceInputData> <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <SignatureManifestCheck> + <Code>1</Code> + </SignatureManifestCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.216.Req.xml b/spss.test/data/VX0/TestGeneratorVX.216.Req.xml new file mode 100644 index 000000000..2ecd7441e --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.216.Req.xml @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 216 number of References id bigger then number of ReferenceInfos--> +<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#"> + <DateTime>2003-06-30T14:02:41+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig:Signature Id="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-1" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Id="reference-2" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest" URI="#xpointer(id('Manifest'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>IHRIqoydkyYxCeNEHDOn/TgM7K0=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xpointer(id('ETSIProperties')/*/*)"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>3oEcsv39iZNxiHenc45eX5CYENI=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>atNVyFxVaOfBZ5SDWFBlnYwJfht7CIbc0JuJkcQ4dhJO2sVCuvpGk7atbB3QPR5j +A9R0babjaHrMekSxKPTndy1eUPNXk79qJ7BWJn6k5Psndn7GMy/3+yiobGN3+AZ4 +twdHFhMfYo87epB6EW/ssqN6JK/LlJAe2wGoBAjbLOE=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="Manifest"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="ETSIProperties"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat><etsi:DataObjectFormat ObjectReference="#reference-2"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + +<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" version="1.0"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><TransformParameter URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48eHNsOnN0eWxl +c2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFu +c2Zvcm0iIHZlcnNpb249IjEuMCI+PHhzbDpvdXRwdXQgbWV0aG9kPSJodG1sIiBp +bmRlbnQ9Im5vIi8+PHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGF0YTpib29rIiB4bWxu +czpkYXRhPSJodHRwOi8vdXJpLmRhdGEub3JnIj48SFRNTD48Qk9EWT48SDE+QnVj +aDogPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImRhdGE6dGl0bGUiLz48L0gxPjwvQk9E +WT48L0hUTUw+PC94c2w6dGVtcGxhdGU+PC94c2w6c3R5bGVzaGVldD4=</Base64Content></TransformParameter></VerifyTransformsInfoProfile></ReferenceInfo></SignatureManifestCheckParams> <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.216.Res.xml b/spss.test/data/VX0/TestGeneratorVX.216.Res.xml new file mode 100644 index 000000000..9204f0f80 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.216.Res.xml @@ -0,0 +1,60 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> +<ReferenceInputData><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48ZGF0YTpib29r +IHhtbG5zOmRhdGE9Imh0dHA6Ly91cmkuZGF0YS5vcmciIGRhdGE6aGFyZGJhY2s9 +InllcyI+PGRhdGE6dGl0bGU+R2VzdW5kaGVpdGxpY2hlIEF1c3dpcmt1bmdlbiBl +bGVrdHJvbmlzY2hlciBTaWduYXR1cmVuPC9kYXRhOnRpdGxlPjxkYXRhOmZpcnN0 +LW5hbWU+RWxsaXBzZTwvZGF0YTpmaXJzdC1uYW1lPjxkYXRhOmxhc3QtbmFtZT5L +dXJ2ZW5yZWljaDwvZGF0YTpsYXN0LW5hbWU+PGRhdGE6YmlydGgtZGF0ZT4xOTUx +LTA0LTE2PC9kYXRhOmJpcnRoLWRhdGU+PGRhdGE6YmlydGgtbG9jYXRpb24+SGlu +dGVybSBCZXJnPC9kYXRhOmJpcnRoLWxvY2F0aW9uPjxkYXRhOnJlZ2lzdGVyLW51 +bWJlcj42LTkzMC0yMTUxMi0xMjwvZGF0YTpyZWdpc3Rlci1udW1iZXI+PC9kYXRh +OmJvb2s+</Base64Content></ReferenceInputData><ReferenceInputData><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48ZGF0YTpib29r +IHhtbG5zOmRhdGE9Imh0dHA6Ly91cmkuZGF0YS5vcmciIGRhdGE6aGFyZGJhY2s9 +InllcyI+PGRhdGE6dGl0bGU+R2VzdW5kaGVpdGxpY2hlIEF1c3dpcmt1bmdlbiBl +bGVrdHJvbmlzY2hlciBTaWduYXR1cmVuPC9kYXRhOnRpdGxlPjxkYXRhOmZpcnN0 +LW5hbWU+RWxsaXBzZTwvZGF0YTpmaXJzdC1uYW1lPjxkYXRhOmxhc3QtbmFtZT5L +dXJ2ZW5yZWljaDwvZGF0YTpsYXN0LW5hbWU+PGRhdGE6YmlydGgtZGF0ZT4xOTUx +LTA0LTE2PC9kYXRhOmJpcnRoLWRhdGU+PGRhdGE6YmlydGgtbG9jYXRpb24+SGlu +dGVybSBCZXJnPC9kYXRhOmJpcnRoLWxvY2F0aW9uPjxkYXRhOnJlZ2lzdGVyLW51 +bWJlcj42LTkzMC0yMTUxMi0xMjwvZGF0YTpyZWdpc3Rlci1udW1iZXI+PC9kYXRh +OmJvb2s+</Base64Content></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><dsig:Manifest Id="Manifest" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></XMLContent></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><etsi:SignedProperties xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat><etsi:DataObjectFormat ObjectReference="#reference-2"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></XMLContent></ReferenceInputData> <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <SignatureManifestCheck> + <Code>1</Code> + </SignatureManifestCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.217.Req.xml b/spss.test/data/VX0/TestGeneratorVX.217.Req.xml new file mode 100644 index 000000000..9e8a6e38c --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.217.Req.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 217 - TransformParameter/@URI resolves but Hash does not match - which hashing algorithm?--> +<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#"> + <DateTime>2003-06-30T14:02:41+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig:Signature Id="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-1" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest" URI="#xpointer(id('Manifest'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>IHRIqoydkyYxCeNEHDOn/TgM7K0=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xpointer(id('ETSIProperties'))/*/*"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>AsSNl5J8RuhnUlHMsM9yiFXppPM=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>ai8VjchIvVKPVxTiQGcHNG6CS/nxAUjbdjpg+G477vNfCdk3zoi21eTGyBWDGLvE +Ig8OPkkgUuZCq3mZMA/061rg08GbZPNfcDsMkotzasblF+ZLK9TC5v8vvxZ2P5dn +8qsuooOmp0MaII/0on8c9g3M0sJG7MrEgdIfTc0FZac=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="Manifest"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="ETSIProperties"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + +<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" version="1.0"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><TransformParameter URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><Hash><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>abcdvOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></Hash></TransformParameter></VerifyTransformsInfoProfile></ReferenceInfo></SignatureManifestCheckParams> <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.217.Res.xml b/spss.test/data/VX0/TestGeneratorVX.217.Res.xml new file mode 100644 index 000000000..d2402e5ec --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.217.Res.xml @@ -0,0 +1,51 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> +<ReferenceInputData><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48ZGF0YTpib29r +IHhtbG5zOmRhdGE9Imh0dHA6Ly91cmkuZGF0YS5vcmciIGRhdGE6aGFyZGJhY2s9 +InllcyI+PGRhdGE6dGl0bGU+R2VzdW5kaGVpdGxpY2hlIEF1c3dpcmt1bmdlbiBl +bGVrdHJvbmlzY2hlciBTaWduYXR1cmVuPC9kYXRhOnRpdGxlPjxkYXRhOmZpcnN0 +LW5hbWU+RWxsaXBzZTwvZGF0YTpmaXJzdC1uYW1lPjxkYXRhOmxhc3QtbmFtZT5L +dXJ2ZW5yZWljaDwvZGF0YTpsYXN0LW5hbWU+PGRhdGE6YmlydGgtZGF0ZT4xOTUx +LTA0LTE2PC9kYXRhOmJpcnRoLWRhdGU+PGRhdGE6YmlydGgtbG9jYXRpb24+SGlu +dGVybSBCZXJnPC9kYXRhOmJpcnRoLWxvY2F0aW9uPjxkYXRhOnJlZ2lzdGVyLW51 +bWJlcj42LTkzMC0yMTUxMi0xMjwvZGF0YTpyZWdpc3Rlci1udW1iZXI+PC9kYXRh +OmJvb2s+</Base64Content></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><dsig:Manifest Id="Manifest" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></XMLContent></ReferenceInputData><ReferenceInputData><XMLContent xml:space="preserve"><dsig:Object Id="ETSIProperties" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></XMLContent></ReferenceInputData> <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <SignatureManifestCheck> + <Code>1</Code> +<Info><FailedReference>1</FailedReference></Info> </SignatureManifestCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.251.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.251.ErrRes.xml new file mode 100644 index 000000000..4b92a8c24 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.251.ErrRes.xml @@ -0,0 +1 @@ +2268
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.251.Req.xml b/spss.test/data/VX0/TestGeneratorVX.251.Req.xml new file mode 100644 index 000000000..fa9328a75 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.251.Req.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 251 - VerifyTransformsInfoID: invalidID--> +<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#"> + <DateTime>2003-06-30T14:02:43+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig:Signature Id="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-1" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest" URI="#xpointer(id('Manifest'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>IHRIqoydkyYxCeNEHDOn/TgM7K0=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xpointer(id('ETSIProperties'))/*/*"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>AsSNl5J8RuhnUlHMsM9yiFXppPM=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>ai8VjchIvVKPVxTiQGcHNG6CS/nxAUjbdjpg+G477vNfCdk3zoi21eTGyBWDGLvE +Ig8OPkkgUuZCq3mZMA/061rg08GbZPNfcDsMkotzasblF+ZLK9TC5v8vvxZ2P5dn +8qsuooOmp0MaII/0on8c9g3M0sJG7MrEgdIfTc0FZac=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="Manifest"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="ETSIProperties"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + +<SignatureManifestCheckParams ReturnReferenceInputData="true"><ReferenceInfo><VerifyTransformsInfoProfileID>InvalidTransformsProfile</VerifyTransformsInfoProfileID></ReferenceInfo></SignatureManifestCheckParams> <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.253.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.253.ErrRes.xml new file mode 100644 index 000000000..8e20b01e7 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.253.ErrRes.xml @@ -0,0 +1 @@ +2202
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.253.Req.xml b/spss.test/data/VX0/TestGeneratorVX.253.Req.xml new file mode 100644 index 000000000..3c3676495 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.253.Req.xml @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 253 mismatching dsig:Transform/@Algorithm and dsig:Transform content--> +<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#"> + <DateTime>2003-06-30T14:02:44+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig:Signature Id="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-1" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest" URI="#xpointer(id('Manifest'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>IHRIqoydkyYxCeNEHDOn/TgM7K0=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xpointer(id('ETSIProperties'))/*/*"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>AsSNl5J8RuhnUlHMsM9yiFXppPM=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>ai8VjchIvVKPVxTiQGcHNG6CS/nxAUjbdjpg+G477vNfCdk3zoi21eTGyBWDGLvE +Ig8OPkkgUuZCq3mZMA/061rg08GbZPNfcDsMkotzasblF+ZLK9TC5v8vvxZ2P5dn +8qsuooOmp0MaII/0on8c9g3M0sJG7MrEgdIfTc0FZac=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="Manifest"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>vOdhPFsohETLeLwPnqWQv6IVPuQ=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="ETSIProperties"><etsi:QualifyingProperties Target="#signature" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2003-03-01T00:01:01</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>dL59VDpBsujcngd207z0ohPl1/U=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-1"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + +<SignatureManifestCheckParams ReturnReferenceInputData="true"><ReferenceInfo><VerifyTransformsInfoProfile><dsig:Transforms><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:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><TransformParameter URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48eHNsOnN0eWxl +c2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFu +c2Zvcm0iIHZlcnNpb249IjEuMCI+PHhzbDpvdXRwdXQgbWV0aG9kPSJodG1sIiBp +bmRlbnQ9Im5vIi8+PHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGF0YTpib29rIiB4bWxu +czpkYXRhPSJodHRwOi8vdXJpLmRhdGEub3JnIj48SFRNTD48Qk9EWT48SDE+QnVj +aDogPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImRhdGE6dGl0bGUiLz48L0gxPjwvQk9E +WT48L0hUTUw+PC94c2w6dGVtcGxhdGU+PC94c2w6c3R5bGVzaGVldD4=</Base64Content></TransformParameter></VerifyTransformsInfoProfile></ReferenceInfo></SignatureManifestCheckParams> <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.301.Req.xml b/spss.test/data/VX0/TestGeneratorVX.301.Req.xml new file mode 100644 index 000000000..3f7377943 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.301.Req.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 301--> +<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#"> + <DateTime>2003-11-11T00:47:36+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><dsig: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#WithComments"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>nfi816Qlw4EnxE+bwLQLXh3VN/L1EnMZfUQBfJu4qd0G3Rjhjm9JQ4kYSAJhj8Kz +YwzXhPT9u9I4ystFWHwomqKNxCvXv2Rrc4hknEB4hljgWEH3iS63zVGc0jw2xkzs +rusMghJ8XcFAdA9UpV4Q8clJ6CukcwNvT1/UqSNL0V0=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.301.Res.xml b/spss.test/data/VX0/TestGeneratorVX.301.Res.xml new file mode 100644 index 000000000..53ba8d830 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.301.Res.xml @@ -0,0 +1,41 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> + <HashInputData> + <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.302.Req.xml b/spss.test/data/VX0/TestGeneratorVX.302.Req.xml new file mode 100644 index 000000000..b65bd3af8 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.302.Req.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 302--> +<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#"> + <DateTime>2003-11-11T00:47:36+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Ht8IuwiSSusf6l9tWKUrZjK+GBiIToDKtQzplkpxKO4GSbp68T23v75Cx22j4t/l +ZPHLfqCq18q07k6ttn/HWJ1pfOD2aKulYkEc3ZGEMULrZDnnSGaGWg0PZ8WHVanv +NxiS14BaPOheH/YId9iscaJCUpGcwcqwULeYtVg1n04=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.302.Res.xml b/spss.test/data/VX0/TestGeneratorVX.302.Res.xml new file mode 100644 index 000000000..53ba8d830 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.302.Res.xml @@ -0,0 +1,41 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> + <HashInputData> + <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.303.Req.xml b/spss.test/data/VX0/TestGeneratorVX.303.Req.xml new file mode 100644 index 000000000..b9b19a3e1 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.303.Req.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 303--> +<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#"> + <DateTime>2003-11-11T00:47:36+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#WithComments"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>vK330KVBSt/9CVMycwiOPefSLRE7gF+VpNvEJzQ9ck3tlerONixlyARlIhOi99KG +GcdTaLxnut3yfJVzLn2Q6EYzRo65k/gLZk0Im/ok66zoQDygcc/NT9wjIccSSKUJ +19qdnMdwjGENmjocA8+6AztVXgsPyXpEzjFFoK+iFOM=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.303.Res.xml b/spss.test/data/VX0/TestGeneratorVX.303.Res.xml new file mode 100644 index 000000000..53ba8d830 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.303.Res.xml @@ -0,0 +1,41 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> + <HashInputData> + <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.304.Req.xml b/spss.test/data/VX0/TestGeneratorVX.304.Req.xml new file mode 100644 index 000000000..49b49c9e2 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.304.Req.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 304--> +<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#"> + <DateTime>2003-11-11T00:47:36+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><dsig: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.buergerkarte.at/namespaces/ecdsa/200206030#ecdsa-sha1"/><dsig:Reference URI="#xpointer(id('envelopedData')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>KZKXkaGNqsksALCWzXl8uMObNXHJIeiyL1P0VEspJDqhGMd/5Qi4REhoZ/YTmych</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIICGDCCAdCgAwIBAgIDAQpMMAkGByqGSM49BAEwTTELMAkGA1UEBhMCQVQxDTAL +BgNVBAoTBElBSUsxFTATBgNVBAsTDEphdmFTZWN1cml0eTEYMBYGA1UEAxMPSUFJ +SyBFQ0RTQSBUZXN0MB4XDTAzMDIxMDA5NDgwN1oXDTA0MDIxMDA5NDgwN1owTTEL +MAkGA1UEBhMCQVQxDTALBgNVBAoTBElBSUsxFTATBgNVBAsTDEphdmFTZWN1cml0 +eTEYMBYGA1UEAxMPSUFJSyBFQ0RTQSBUZXN0MIHrMIG0BgcqhkjOPQIBMIGoAgEB +MB0GByqGSM49AQIwEgICAL8GCSqGSM49AQIDAgIBCTA0BBgoZlN7Z2dSY2po9WVU +4SZAJ2tknvdSYmcEGC5F71cfAHhvZ7AIG5SVo9lUYvXeCqGF7AQxBDaz2viiMgb5 +xPKZ17IanDaRN/LISuGqDXZb5zQzs/leMyky5w6iRcokGOoO+YAY+wIYQAAAAAAA +AAAAAAAABKIOkMOQZ8iTu7mlAgECAzIABFh+sRJVup8mJdsDqlk2w1Cer2qkFxJU +7VeLKaB6z8+W/jN6fPrc2u8MYJCZlL7T0aMNMAswCQYDVR0TBAIwADAJBgcqhkjO +PQQBAzcAMDQCGBjRkQdnZmCv4mLwj72JBSFW1b0DIYvXXAIYILVW1F8IHAldw56h +C3FJH2VuOdON4tia</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object Id="envelopedData">Dies sind Testdaten</dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.304.Res.xml b/spss.test/data/VX0/TestGeneratorVX.304.Res.xml new file mode 100644 index 000000000..eef51e82d --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.304.Res.xml @@ -0,0 +1,29 @@ +<?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>CN=IAIK ECDSA Test,OU=JavaSecurity,O=IAIK,C=AT</dsig:X509SubjectName> <dsig:X509IssuerSerial> +<dsig:X509IssuerName>CN=IAIK ECDSA Test,OU=JavaSecurity,O=IAIK,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>68172</dsig:X509SerialNumber> </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIICGDCCAdCgAwIBAgIDAQpMMAkGByqGSM49BAEwTTELMAkGA1UEBhMCQVQxDTAL +BgNVBAoTBElBSUsxFTATBgNVBAsTDEphdmFTZWN1cml0eTEYMBYGA1UEAxMPSUFJ +SyBFQ0RTQSBUZXN0MB4XDTAzMDIxMDA5NDgwN1oXDTA0MDIxMDA5NDgwN1owTTEL +MAkGA1UEBhMCQVQxDTALBgNVBAoTBElBSUsxFTATBgNVBAsTDEphdmFTZWN1cml0 +eTEYMBYGA1UEAxMPSUFJSyBFQ0RTQSBUZXN0MIHrMIG0BgcqhkjOPQIBMIGoAgEB +MB0GByqGSM49AQIwEgICAL8GCSqGSM49AQIDAgIBCTA0BBgoZlN7Z2dSY2po9WVU +4SZAJ2tknvdSYmcEGC5F71cfAHhvZ7AIG5SVo9lUYvXeCqGF7AQxBDaz2viiMgb5 +xPKZ17IanDaRN/LISuGqDXZb5zQzs/leMyky5w6iRcokGOoO+YAY+wIYQAAAAAAA +AAAAAAAABKIOkMOQZ8iTu7mlAgECAzIABFh+sRJVup8mJdsDqlk2w1Cer2qkFxJU +7VeLKaB6z8+W/jN6fPrc2u8MYJCZlL7T0aMNMAswCQYDVR0TBAIwADAJBgcqhkjO +PQQBAzcAMDQCGBjRkQdnZmCv4mLwj72JBSFW1b0DIYvXXAIYILVW1F8IHAldw56h +C3FJH2VuOdON4tia</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> + <HashInputData> + <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.305.Req.xml b/spss.test/data/VX0/TestGeneratorVX.305.Req.xml new file mode 100644 index 000000000..ab42e6963 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.305.Req.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 305--> +<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#"> + <DateTime>2003-11-11T00:47:36+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><dsig: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 URI="#xpointer(id('envelopedData')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>DiDUmnYefQ8E8Bom8F2aHyhj5kek2+SyC5kF7LaHAZeEiEtybjoYMlzsVCLa/TnK +n1ev2jTej9Ngnq1nadGBsRVK+2DJVSowPihCp6A0lmpWYhec/NX1uW2fBLLvE+57 +WimvfRdaNCXfsd5YcuiurnZf9LyTsnUpL1FaHBYsPIM=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object Id="envelopedData">Dies sind Testdaten</dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.305.Res.xml b/spss.test/data/VX0/TestGeneratorVX.305.Res.xml new file mode 100644 index 000000000..13fa022d1 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.305.Res.xml @@ -0,0 +1,41 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> + <HashInputData> +<Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.307.Req.xml b/spss.test/data/VX0/TestGeneratorVX.307.Req.xml new file mode 100644 index 000000000..fb3a89328 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.307.Req.xml @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 307--> +<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#"> + <DateTime>2003-11-11T00:47:37+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><dsig: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 URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Jl++3waHGFPf3UiFRyU8y1A95bEYnczE8lqin81AMWWFfmzFsghCKP77H/nyVnfW +2PpmSX/qhu4Cwk9MIyWMLSFRm60xEtlo4hy4oMuCB2xXEFQOyyZhPSIRHW1TrxRW +NF/Dn2vuP9xTuxzfefVNCCdPoh8OBmk4lSoayoylPM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <SupplementProfile> + <Content Reference="e:/cio/projekte/basismodule/wartung/projekt/spss.test/resources/testSimple.txt"> + <XMLContent xml:space="preserve">Dies sind Testdaten</XMLContent> + </Content> + </SupplementProfile> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.307.Res.xml b/spss.test/data/VX0/TestGeneratorVX.307.Res.xml new file mode 100644 index 000000000..53ba8d830 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.307.Res.xml @@ -0,0 +1,41 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> + <HashInputData> + <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.308.Req.xml b/spss.test/data/VX0/TestGeneratorVX.308.Req.xml new file mode 100644 index 000000000..a78a9e877 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.308.Req.xml @@ -0,0 +1,57 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 308--> +<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#"> + <DateTime>2003-11-11T00:47:37+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><dsig: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 URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Jl++3waHGFPf3UiFRyU8y1A95bEYnczE8lqin81AMWWFfmzFsghCKP77H/nyVnfW +2PpmSX/qhu4Cwk9MIyWMLSFRm60xEtlo4hy4oMuCB2xXEFQOyyZhPSIRHW1TrxRW +NF/Dn2vuP9xTuxzfefVNCCdPoh8OBmk4lSoayoylPM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <SupplementProfile> + <Content Reference="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"> + <XMLContent xml:space="preserve">VERAENDERTE DATEN und die Ursprungsdaten: Dies sind Testdaten</XMLContent> + </Content> + </SupplementProfile> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.308.Res.xml b/spss.test/data/VX0/TestGeneratorVX.308.Res.xml new file mode 100644 index 000000000..0e2923716 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.308.Res.xml @@ -0,0 +1,39 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> + <SignatureCheck> + <Code>1</Code><Info><FailedReference>1</FailedReference></Info> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.310.Req.xml b/spss.test/data/VX0/TestGeneratorVX.310.Req.xml new file mode 100644 index 000000000..fd387fe64 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.310.Req.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 310--> +<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#"> + <DateTime>2003-11-11T00:47:37+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><dsig: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 URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txtbase64.enc"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>yZw6dc9F2qEtFHkfhmPv03/hsvOoQCiV6Oo4jLt0Z15K0mCkZwMmIm4Khbl1tS3y +z0tp3VtOO1EhBCAuJiKBDB9cqCR/KCPwF7SccsxszL02TSMp7o8FPgS0Wfxf7E7c +hW73FYoSDQv+mdpmiEX3RzK6isXdBsr/0hucLNmmx4Y=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.310.Res.xml b/spss.test/data/VX0/TestGeneratorVX.310.Res.xml new file mode 100644 index 000000000..53ba8d830 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.310.Res.xml @@ -0,0 +1,41 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> + <HashInputData> + <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.311.Req.xml b/spss.test/data/VX0/TestGeneratorVX.311.Req.xml new file mode 100644 index 000000000..fdccc3d25 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.311.Req.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 311--> +<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#"> + <DateTime>2003-11-11T00:47:37+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><dsig: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 URI="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116"><dsig:XPath xmlns:data="http://uri.data.org">ancestor-or-self::text()/ancestor-or-self::data:first-name</dsig:XPath></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>hYDjF19Ot0YaX6w1nuhs1MVZ1VU=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Fd5tZfxUd+cGwSXqyZGlzV0XkL2/HnazGNb60hB6Usy3VLT6khzDeNJJ3ogDTLio +nMsR3m32CIotYircyGcxCw8G7vC9wYmi0OtzZGf8Vsj1rygDogpQDIoqyPwLLnGw +DRUWev0L3DzSZ54WPvaJNGzwGSxZGIOiM9FWGKS6MZs=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.311.Res.xml b/spss.test/data/VX0/TestGeneratorVX.311.Res.xml new file mode 100644 index 000000000..2a69686e8 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.311.Res.xml @@ -0,0 +1,41 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> + <HashInputData> + <Base64Content>RWxsaXBzZQ==</Base64Content> </HashInputData> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.312.Req.xml b/spss.test/data/VX0/TestGeneratorVX.312.Req.xml new file mode 100644 index 000000000..73d10dc63 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.312.Req.xml @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 312--> +<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#"> + <DateTime>2003-11-11T00:47:37+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><dsig:Signature Id="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-1" URI="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2002/06/xmldsig-filter2"><xf2:XPath Filter="subtract" xmlns:data="http://uri.data.org" xmlns:xf2="http://www.w3.org/2002/06/xmldsig-filter2">/data:book/data:first-name</xf2:XPath></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>Sx4DuAkpeSaD7yHkYaRmxiRN174=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>tEFJUmD3VH+sHSeMpkeb8Ktmus0d8p0RkrMITLNW16yIzAWP7OTP26cQR4OBEWGi +O64f3nGMK5B1u3TkKLBm1AjUEm+c1qeF11kwJlhjMUF6ZuBb1OUbYFQeWXihjLaA +JoJ+z00aV17TPzuMBlK0AySa6OJNZ8KmvdgGV4CUd2U=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.312.Res.xml b/spss.test/data/VX0/TestGeneratorVX.312.Res.xml new file mode 100644 index 000000000..d85292b1a --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.312.Res.xml @@ -0,0 +1,39 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.313.Req.xml b/spss.test/data/VX0/TestGeneratorVX.313.Req.xml new file mode 100644 index 000000000..976c6bf24 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.313.Req.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 313--> +<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#"> + <DateTime>2003-11-11T00:47:37+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><data:Document Id="myDocument" xmlns:data="http://uri.data.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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"><dsig: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 URI=""><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>52I8Zb2jLEgSZrR91P6IDAjXzks=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>2SnLG0gsjJAjLLm0mBKu6h4f6IfvPo513pjaUC+NK8Diw/5KGHxdKRiDRxR1x6X8 +Hwq2/BFfKpWeYmRe7lnG3BfEweJZ22LnEBcKdm4HFZ+17V0xlGkJeK7bTZxiBhiW +6sSPKv2YefqOEKGcr+bHvuxacMGPH5+5sNrwEAySacA=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></data:Document></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.313.Res.xml b/spss.test/data/VX0/TestGeneratorVX.313.Res.xml new file mode 100644 index 000000000..51953ce11 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.313.Res.xml @@ -0,0 +1,48 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> + <HashInputData> + <Base64Content>PGRhdGE6RG9jdW1lbnQgeG1sbnM6ZGF0YT0iaHR0cDovL3VyaS5kYXRhLm9yZyIg +eG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0 +YW5jZSIgSWQ9Im15RG9jdW1lbnQiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDov +L3VyaS5kYXRhLm9yZyBodHRwOi8vbW9hLXRlc3QuYnJ6LmludHJhLmd2LmF0L1Rl +c3REYXRlbkdlbmVyYXRvci9yZXNvdXJjZXMvVlguMDA2U2NoZW1hLnhzZCBodHRw +Oi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIGh0dHA6Ly93d3cudzMub3Jn +L1RSL3htbGRzaWctY29yZS94bWxkc2lnLWNvcmUtc2NoZW1hLnhzZCI+PC9kYXRh +OkRvY3VtZW50Pg==</Base64Content> </HashInputData> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.314.Req.xml b/spss.test/data/VX0/TestGeneratorVX.314.Req.xml new file mode 100644 index 000000000..56be10205 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.314.Req.xml @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 314--> +<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#"> + <DateTime>2003-11-11T00:47:37+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><dsig:Signature Id="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-1" URI="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://localhost:8080/moa-spss-testdata/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>0tXNPITF3dxGNngFwjsfXXEpgsOoco4NQCrVNE1bl8HkYbwKK3o9mc6dZktRL7Xd +1Epa3C2qiBVD8WRVTQpdre9xU+CIno0Xrkxu2oMOSEX5fMfAyR31m99oZ1JbEwlh +S+bOA8c4An7uuaEpo9hj/Hi5wxXYx1a9NG6cpTdWXM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.314.Res.xml b/spss.test/data/VX0/TestGeneratorVX.314.Res.xml new file mode 100644 index 000000000..d85292b1a --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.314.Res.xml @@ -0,0 +1,39 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.314_2.Req.xml b/spss.test/data/VX0/TestGeneratorVX.314_2.Req.xml new file mode 100644 index 000000000..dd4e2e67a --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.314_2.Req.xml @@ -0,0 +1,57 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 314_2--> +<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#"> + <DateTime>2003-11-11T00:47:38+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><dsig:Signature Id="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-1" URI="http://localhost:8080/moa-spss-testdata/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://localhost:8080/moa-spss-testdata/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>0tXNPITF3dxGNngFwjsfXXEpgsOoco4NQCrVNE1bl8HkYbwKK3o9mc6dZktRL7Xd +1Epa3C2qiBVD8WRVTQpdre9xU+CIno0Xrkxu2oMOSEX5fMfAyR31m99oZ1JbEwlh +S+bOA8c4An7uuaEpo9hj/Hi5wxXYx1a9NG6cpTdWXM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <SupplementProfile> + <Content Reference="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"> + <XMLContent xml:space="preserve"><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></XMLContent> + </Content> + </SupplementProfile> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.314_2.Res.xml b/spss.test/data/VX0/TestGeneratorVX.314_2.Res.xml new file mode 100644 index 000000000..d85292b1a --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.314_2.Res.xml @@ -0,0 +1,39 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.315.Req.xml b/spss.test/data/VX0/TestGeneratorVX.315.Req.xml new file mode 100644 index 000000000..849406b10 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.315.Req.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 315--> +<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#"> + <DateTime>2003-11-11T00:47:38+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><dsig: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 URI="http://localhost:8080/moa-spss-testdata/resources/test_wo_canonicalisation.XML"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>noDYepFSHUtrjZJLcYTpfLv9pDU=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Tmqp2rugsYcPeXVvDCGbgLuALFRrtvKlRbfIWaIZmEDPND+iYCmA3iTYeXTyoKOq +xRabRM+c44ZFpiNe5AWSwItRND0WEDDJLKLj0e3qWI5UNRBJOdtn+tbvH+LqOVc3 +v1DcPGJTJrWzNS82C9rO8wBNWMjP3Oq9VFuVDXbYfcY=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.315.Res.xml b/spss.test/data/VX0/TestGeneratorVX.315.Res.xml new file mode 100644 index 000000000..567b77447 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.315.Res.xml @@ -0,0 +1,44 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> + <HashInputData> +<Base64Content>PG4xOkVsZW0xIHhtbG5zOm4wPSJmb286YmFyIiB4bWxuczpuMT0iaHR0cDovL2V4 +YW1wbGUubmV0IiB4bWxuczpuMz0iZnRwOi8vZXhhbXBsZS5vcmciIGE9IlRlc3Rh +IiBiPSJUZXN0YiIgeG1sOmxhbmc9ImVuIj4KCVRlc3QKICAgIDxuMzpFbGVtMj48 +L24zOkVsZW0yPgo8L24xOkVsZW0xPg==</Base64Content> </HashInputData> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.316.Req.xml b/spss.test/data/VX0/TestGeneratorVX.316.Req.xml new file mode 100644 index 000000000..8e937e2a9 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.316.Req.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 316--> +<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#"> + <DateTime>2003-11-11T00:47:38+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><dsig: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 URI="http://localhost:8080/moa-spss-testdata/resources/test_wo_canonicalisation.XML"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>QA/O0pwheK8W+EYsGfWPq+0tcmc=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>g1H+4i7HStmjk/YM8gwDHGGjg24ymXNYarElrnTVrjxOcqmgb2seyeqSCmhGdMmp +mUUwa9UgE/y51zv9ySMXX3Z5NXTtQ5982pYNK3IG8vcy4/ogGG+ipmkFWv1WTDoz +yKtWReS6DuG5KuIFSaYGmuJvwQw2KWlqR/Ukfw79+XE=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.316.Res.xml b/spss.test/data/VX0/TestGeneratorVX.316.Res.xml new file mode 100644 index 000000000..ee4a7218f --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.316.Res.xml @@ -0,0 +1,45 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> + <HashInputData> +<Base64Content>PCEtLTFzdCBDb21tZW50LS0+CjxuMTpFbGVtMSB4bWxuczpuMD0iZm9vOmJhciIg +eG1sbnM6bjE9Imh0dHA6Ly9leGFtcGxlLm5ldCIgeG1sbnM6bjM9ImZ0cDovL2V4 +YW1wbGUub3JnIiBhPSJUZXN0YSIgYj0iVGVzdGIiIHhtbDpsYW5nPSJlbiI+CglU +ZXN0PCEtLTJuZCBDb21tZW50LS0+CiAgICA8bjM6RWxlbTI+PC9uMzpFbGVtMj4K +PC9uMTpFbGVtMT4=</Base64Content> </HashInputData> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.317.Req.xml b/spss.test/data/VX0/TestGeneratorVX.317.Req.xml new file mode 100644 index 000000000..4c57e28ad --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.317.Req.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 317--> +<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#"> + <DateTime>2003-11-11T00:47:38+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><dsig: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 URI="http://localhost:8080/moa-spss-testdata/resources/test_wo_canonicalisation.XML"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>kzG6AYYX+4vA/hV5wGdEXmIoaY8=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>fKk2FLYQqDmEjimybPEZYZAUfrnLDTVN3dfwZrNMfv656pNoM5CHfSUWaCIytDz1 +CIQrJgkndJIZyzCbS6zCYL6M5ggoMJYi885+8wxnjwsxuHGtBzZ5HOP+lR7bphs+ +aOWzTMNFrX88yMTOmyZgnYghukbuyqNDnz69H0uVqHo=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.317.Res.xml b/spss.test/data/VX0/TestGeneratorVX.317.Res.xml new file mode 100644 index 000000000..39a59b15d --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.317.Res.xml @@ -0,0 +1,44 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> + <HashInputData> +<Base64Content>PG4xOkVsZW0xIHhtbG5zOm4xPSJodHRwOi8vZXhhbXBsZS5uZXQiIGE9IlRlc3Rh +IiBiPSJUZXN0YiIgeG1sOmxhbmc9ImVuIj4KCVRlc3QKICAgIDxuMzpFbGVtMiB4 +bWxuczpuMz0iZnRwOi8vZXhhbXBsZS5vcmciPjwvbjM6RWxlbTI+CjwvbjE6RWxl +bTE+</Base64Content> </HashInputData> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.318.Req.xml b/spss.test/data/VX0/TestGeneratorVX.318.Req.xml new file mode 100644 index 000000000..9fafde5d1 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.318.Req.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 318--> +<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#"> + <DateTime>2003-11-11T00:47:38+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><dsig: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 URI="http://localhost:8080/moa-spss-testdata/resources/test_wo_canonicalisation.XML"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#WithComments"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>9g4s3jILoN3mdH3/6AgvA1qDUAw=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Q5F+MEJ6AGIwJEHcfXdPnjY8+eAerMeLCtc+XOvmLoCyav1iOZ/+FApe492ysh6X +UP+47L9PGsixUgDYNBeHDgyBHJqtA4wdBpafwucMVXWoIWcmMLDDVAde1aqG6zrF +k5cwAgl+my6y7kVXUNhrzEiG6FjRn+lIIXiXwJL2Jm0=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.318.Res.xml b/spss.test/data/VX0/TestGeneratorVX.318.Res.xml new file mode 100644 index 000000000..6b45e6cec --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.318.Res.xml @@ -0,0 +1,44 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> + <HashInputData> +<Base64Content>PCEtLTFzdCBDb21tZW50LS0+CjxuMTpFbGVtMSB4bWxuczpuMT0iaHR0cDovL2V4 +YW1wbGUubmV0IiBhPSJUZXN0YSIgYj0iVGVzdGIiIHhtbDpsYW5nPSJlbiI+CglU +ZXN0PCEtLTJuZCBDb21tZW50LS0+CiAgICA8bjM6RWxlbTIgeG1sbnM6bjM9ImZ0 +cDovL2V4YW1wbGUub3JnIj48L24zOkVsZW0yPgo8L24xOkVsZW0xPg==</Base64Content> </HashInputData> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.318_2.Req.xml b/spss.test/data/VX0/TestGeneratorVX.318_2.Req.xml new file mode 100644 index 000000000..717eaecc3 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.318_2.Req.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 318_2--> +<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#"> + <DateTime>2003-11-11T00:47:38+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><dsig: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 URI="http://localhost:8080/moa-spss-testdata/resources/test_wo_canonicalisation.XMLbase64.enc"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/><dsig:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"/><dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>kzG6AYYX+4vA/hV5wGdEXmIoaY8=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>qePkwtq8XOEES14aGffykQFoZZrGMIMDRiFio/wvGKIaBj+wZTPvmz2wTNRPpmMw +x0pY89tUvM1t6kbSrKT4otJE8gSm8bADcNEOSrVJZc/0w31msUWHl/r5la4cg6yC +maEmtUMEd6Db/YlUJb/7RLX1TBx7VDZmJtpNOhMkVkY=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.318_2.Res.xml b/spss.test/data/VX0/TestGeneratorVX.318_2.Res.xml new file mode 100644 index 000000000..39a59b15d --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.318_2.Res.xml @@ -0,0 +1,44 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> + <HashInputData> +<Base64Content>PG4xOkVsZW0xIHhtbG5zOm4xPSJodHRwOi8vZXhhbXBsZS5uZXQiIGE9IlRlc3Rh +IiBiPSJUZXN0YiIgeG1sOmxhbmc9ImVuIj4KCVRlc3QKICAgIDxuMzpFbGVtMiB4 +bWxuczpuMz0iZnRwOi8vZXhhbXBsZS5vcmciPjwvbjM6RWxlbTI+CjwvbjE6RWxl +bTE+</Base64Content> </HashInputData> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.319.Req.xml b/spss.test/data/VX0/TestGeneratorVX.319.Req.xml new file mode 100644 index 000000000..2232f661d --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.319.Req.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 319--> +<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#"> + <DateTime>2003-11-11T00:47:38+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><dsig: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 URI="#xpointer(id('envelopedData')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>CbVbswvEV7LFR6OfM4sx9WULZVpXznGEbWpHW5ZfvefqPIvYKV6N9bkeL6OpP9es +yypfuimz3CaYsrNE80Tw27awj9ll1ZhJZBkoh0sAmVC7UitesIY7gFQIurl3CFFC +nhPLT95a6aC8njsIR06RX16Htv37MVVxh4U8rNbucJg=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object Id="envelopedData">Dies sind Testdaten</dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.319.Res.xml b/spss.test/data/VX0/TestGeneratorVX.319.Res.xml new file mode 100644 index 000000000..eac5419c6 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.319.Res.xml @@ -0,0 +1,41 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> + <HashInputData> +<Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content></HashInputData><HashInputData><Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.320.Req.xml b/spss.test/data/VX0/TestGeneratorVX.320.Req.xml new file mode 100644 index 000000000..0dbdc8cf9 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.320.Req.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 320--> +<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#"> + <DateTime>2003-11-11T00:47:38+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><dsig: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 URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Jl++3waHGFPf3UiFRyU8y1A95bEYnczE8lqin81AMWWFfmzFsghCKP77H/nyVnfW +2PpmSX/qhu4Cwk9MIyWMLSFRm60xEtlo4hy4oMuCB2xXEFQOyyZhPSIRHW1TrxRW +NF/Dn2vuP9xTuxzfefVNCCdPoh8OBmk4lSoayoylPM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:RetrievalMethod Type="http://www.w3.org/2000/09/xmldsig#X509Data" URI="http://localhost:8080/moa-spss-testdata/resources/X509Data.xml"/></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.320.Res.xml b/spss.test/data/VX0/TestGeneratorVX.320.Res.xml new file mode 100644 index 000000000..0b5e9b4ee --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.320.Res.xml @@ -0,0 +1,41 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> +<dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> + </dsig:X509Data> + </SignerInfo> + <HashInputData> + <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.320_2.Req.xml b/spss.test/data/VX0/TestGeneratorVX.320_2.Req.xml new file mode 100644 index 000000000..b597d736e --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.320_2.Req.xml @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 320_2--> +<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#"> + <DateTime>2003-11-11T00:47:39+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><dsig: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 URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Jl++3waHGFPf3UiFRyU8y1A95bEYnczE8lqin81AMWWFfmzFsghCKP77H/nyVnfW +2PpmSX/qhu4Cwk9MIyWMLSFRm60xEtlo4hy4oMuCB2xXEFQOyyZhPSIRHW1TrxRW +NF/Dn2vuP9xTuxzfefVNCCdPoh8OBmk4lSoayoylPM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:RetrievalMethod Type="http://www.w3.org/2000/09/xmldsig#X509Data" URI="http://localhost:8080/moa-spss-testdata/resources/TEMPX509Data.xml"/></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <SupplementProfile> + <Content Reference="http://localhost:8080/moa-spss-testdata/resources/TEMPX509Data.xml"> + <XMLContent xml:space="preserve"> +<!-- edited with XML Spy v4.4 U (http://www.xmlspy.com) by Stephan Grill (Anecon) --> +<dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> + <dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate> + <dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> +</dsig:X509Data> +</XMLContent> + </Content> + </SupplementProfile> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.320_2.Res.xml b/spss.test/data/VX0/TestGeneratorVX.320_2.Res.xml new file mode 100644 index 000000000..0b5e9b4ee --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.320_2.Res.xml @@ -0,0 +1,41 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> +<dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> + </dsig:X509Data> + </SignerInfo> + <HashInputData> + <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.321.Req.xml b/spss.test/data/VX0/TestGeneratorVX.321.Req.xml new file mode 100644 index 000000000..6c99f8819 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.321.Req.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 321--> +<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#"> + <DateTime>2003-11-11T00:47:39+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><dsig: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 URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Jl++3waHGFPf3UiFRyU8y1A95bEYnczE8lqin81AMWWFfmzFsghCKP77H/nyVnfW +2PpmSX/qhu4Cwk9MIyWMLSFRm60xEtlo4hy4oMuCB2xXEFQOyyZhPSIRHW1TrxRW +NF/Dn2vuP9xTuxzfefVNCCdPoh8OBmk4lSoayoylPM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:RetrievalMethod Type="http://www.w3.org/2000/09/xmldsig#rawX509Certificate" URI="http://localhost:8080/moa-spss-testdata/resources/test-ee2003_normal.der"/></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.321.Res.xml b/spss.test/data/VX0/TestGeneratorVX.321.Res.xml new file mode 100644 index 000000000..0b5e9b4ee --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.321.Res.xml @@ -0,0 +1,41 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> +<dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> + </dsig:X509Data> + </SignerInfo> + <HashInputData> + <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.322.Req.xml b/spss.test/data/VX0/TestGeneratorVX.322.Req.xml new file mode 100644 index 000000000..74fa6f506 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.322.Req.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 322--> +<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#"> + <DateTime>2003-11-11T00:47:39+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><dsig: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 Type="http://www.w3.org/2000/09/xmldsig#Manifest" URI="#xpointer(id('manifestObject'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>xtKRiVK6LS6Zy4AKnpTCBG+g88k=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>dw/kXd3Racja+0Rgtie1x0N2kFlZ/IougAs/nIrkFb+GRfjV1oo3ZZeRUunfkZXX +3ZnszKpnzfLOTcczPrIxsFQ95QrUSa17BA+ff1yYBa4kurwak8aq9jd3jDcKf3EF +KNFOALW0Ltw3/DdPi0cblkIX/TCCKH8XtVkqrSwqyZc=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="manifestObject"><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.322.Res.xml b/spss.test/data/VX0/TestGeneratorVX.322.Res.xml new file mode 100644 index 000000000..6200f4451 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.322.Res.xml @@ -0,0 +1,50 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> +<HashInputData><Base64Content>PGRzaWc6TWFuaWZlc3QgeG1sbnM6ZHNpZz0iaHR0cDovL3d3dy53My5vcmcvMjAw +MC8wOS94bWxkc2lnIyIgSWQ9Im1hbmlmZXN0T2JqZWN0Ij48ZHNpZzpSZWZlcmVu +Y2UgVVJJPSJodHRwOi8vbG9jYWxob3N0OjgwODAvbW9hLXNwc3MtdGVzdGRhdGEv +cmVzb3VyY2VzL3Rlc3RTaW1wbGUudHh0Ij48ZHNpZzpEaWdlc3RNZXRob2QgQWxn +b3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjc2hhMSI+ +PC9kc2lnOkRpZ2VzdE1ldGhvZD48ZHNpZzpEaWdlc3RWYWx1ZT5PM1BPdGdaWHJH +bXcrMmJ0WXJkdVN2cHRTZG89PC9kc2lnOkRpZ2VzdFZhbHVlPjwvZHNpZzpSZWZl +cmVuY2U+PC9kc2lnOk1hbmlmZXN0Pg==</Base64Content></HashInputData> <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <XMLDSIGManifestCheck> + <Code>0</Code> + <Info> <ReferringSigReference>1</ReferringSigReference> </Info> + </XMLDSIGManifestCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.323.Req.xml b/spss.test/data/VX0/TestGeneratorVX.323.Req.xml new file mode 100644 index 000000000..4eabd302c --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.323.Req.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 323--> +<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#"> + <DateTime>2003-11-11T00:47:39+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><dsig: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 Type="http://www.w3.org/2000/09/xmldsig#Manifest" URI="#xpointer(id('manifestObject'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>xtKRiVK6LS6Zy4AKnpTCBG+g88k=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.w3.org/2000/09/xmldsig#Manifest" URI="#xpointer(id('manifestObject2'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>hiDVMvq5dg1IgHyzdLTFxVVa2uc=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>IkQtRTGQhkqg4oPYYe2aLQyELfSFBEhmvtqJ7H8utU9J4RL7x6TTRhP5zQj1Tr/O +iyUlVskXAkKGLOeOCrUQwvfrF9DkT3Lb7nGUmsD52LJszw9bNVcRYLygiOr42Km4 +nRQZIvxIJiXfHKo4JY6SvLlDFntGDjblsgNZW8BRDcE=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="manifestObject"><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object><dsig:Manifest Id="manifestObject2"><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testXML.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>Z9Rr4wyNUP2Pe0sBdLz447sJt8o=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.323.Res.xml b/spss.test/data/VX0/TestGeneratorVX.323.Res.xml new file mode 100644 index 000000000..d38f762b9 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.323.Res.xml @@ -0,0 +1,61 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> +<HashInputData><Base64Content>PGRzaWc6TWFuaWZlc3QgeG1sbnM6ZHNpZz0iaHR0cDovL3d3dy53My5vcmcvMjAw +MC8wOS94bWxkc2lnIyIgSWQ9Im1hbmlmZXN0T2JqZWN0Ij48ZHNpZzpSZWZlcmVu +Y2UgVVJJPSJodHRwOi8vbG9jYWxob3N0OjgwODAvbW9hLXNwc3MtdGVzdGRhdGEv +cmVzb3VyY2VzL3Rlc3RTaW1wbGUudHh0Ij48ZHNpZzpEaWdlc3RNZXRob2QgQWxn +b3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjc2hhMSI+ +PC9kc2lnOkRpZ2VzdE1ldGhvZD48ZHNpZzpEaWdlc3RWYWx1ZT5PM1BPdGdaWHJH +bXcrMmJ0WXJkdVN2cHRTZG89PC9kc2lnOkRpZ2VzdFZhbHVlPjwvZHNpZzpSZWZl +cmVuY2U+PC9kc2lnOk1hbmlmZXN0Pg==</Base64Content></HashInputData><HashInputData><Base64Content>PGRzaWc6TWFuaWZlc3QgeG1sbnM6ZHNpZz0iaHR0cDovL3d3dy53My5vcmcvMjAw +MC8wOS94bWxkc2lnIyIgSWQ9Im1hbmlmZXN0T2JqZWN0MiI+PGRzaWc6UmVmZXJl +bmNlIFVSST0iaHR0cDovL2xvY2FsaG9zdDo4MDgwL21vYS1zcHNzLXRlc3RkYXRh +L3Jlc291cmNlcy90ZXN0WE1MLnR4dCI+PGRzaWc6RGlnZXN0TWV0aG9kIEFsZ29y +aXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnI3NoYTEiPjwv +ZHNpZzpEaWdlc3RNZXRob2Q+PGRzaWc6RGlnZXN0VmFsdWU+WjlScjR3eU5VUDJQ +ZTBzQmRMejQ0N3NKdDhvPTwvZHNpZzpEaWdlc3RWYWx1ZT48L2RzaWc6UmVmZXJl +bmNlPjwvZHNpZzpNYW5pZmVzdD4=</Base64Content></HashInputData> <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <XMLDSIGManifestCheck> + <Code>0</Code> + <Info> <ReferringSigReference>1</ReferringSigReference> </Info> + </XMLDSIGManifestCheck> + <XMLDSIGManifestCheck> + <Code>0</Code> + <Info> <ReferringSigReference>2</ReferringSigReference> </Info> + </XMLDSIGManifestCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.324.Req.xml b/spss.test/data/VX0/TestGeneratorVX.324.Req.xml new file mode 100644 index 000000000..ee02136b7 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.324.Req.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 324--> +<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#"> + <DateTime>2003-11-11T00:47:39+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><dsig: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 Type="http://www.w3.org/2000/09/xmldsig#Manifest" URI="#xpointer(id('manifestObject'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>6D2Nt8ZJb1XEXUEpZ8M3jUMAYqg=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>IOXCDvHayZAF6TR1ZzhR+sFoO4uUvYY2Xo7iUjlJs4MAUd6aoMZvyHxqacTh2KM3 +XN6UuyM0fq8leITg+gscQoS73FXhO5qMG/Mp+T92COBW6f8bZ85jSAYGVF1cPmdQ +5UMuU8RPtxH5CxXoSFyQkzACbGTDnSc9JfoKV5BQXZ4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="manifestObject"><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference><dsig:Reference URI="http://localhost:8080/moa-spss-testdata/resources/testXML.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>Z9Rr4wyNUP2Pe0sBdLz447sJt8o=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.324.Res.xml b/spss.test/data/VX0/TestGeneratorVX.324.Res.xml new file mode 100644 index 000000000..db57bca47 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.324.Res.xml @@ -0,0 +1,55 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> +<HashInputData><Base64Content>PGRzaWc6TWFuaWZlc3QgeG1sbnM6ZHNpZz0iaHR0cDovL3d3dy53My5vcmcvMjAw +MC8wOS94bWxkc2lnIyIgSWQ9Im1hbmlmZXN0T2JqZWN0Ij48ZHNpZzpSZWZlcmVu +Y2UgVVJJPSJodHRwOi8vbG9jYWxob3N0OjgwODAvbW9hLXNwc3MtdGVzdGRhdGEv +cmVzb3VyY2VzL3Rlc3RTaW1wbGUudHh0Ij48ZHNpZzpEaWdlc3RNZXRob2QgQWxn +b3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjc2hhMSI+ +PC9kc2lnOkRpZ2VzdE1ldGhvZD48ZHNpZzpEaWdlc3RWYWx1ZT5PM1BPdGdaWHJH +bXcrMmJ0WXJkdVN2cHRTZG89PC9kc2lnOkRpZ2VzdFZhbHVlPjwvZHNpZzpSZWZl +cmVuY2U+PGRzaWc6UmVmZXJlbmNlIFVSST0iaHR0cDovL2xvY2FsaG9zdDo4MDgw +L21vYS1zcHNzLXRlc3RkYXRhL3Jlc291cmNlcy90ZXN0WE1MLnR4dCI+PGRzaWc6 +RGlnZXN0TWV0aG9kIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8w +OS94bWxkc2lnI3NoYTEiPjwvZHNpZzpEaWdlc3RNZXRob2Q+PGRzaWc6RGlnZXN0 +VmFsdWU+WjlScjR3eU5VUDJQZTBzQmRMejQ0N3NKdDhvPTwvZHNpZzpEaWdlc3RW +YWx1ZT48L2RzaWc6UmVmZXJlbmNlPjwvZHNpZzpNYW5pZmVzdD4=</Base64Content></HashInputData> <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <XMLDSIGManifestCheck> + <Code>0</Code> + <Info> <ReferringSigReference>1</ReferringSigReference> </Info> + </XMLDSIGManifestCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.325.Req.xml b/spss.test/data/VX0/TestGeneratorVX.325.Req.xml new file mode 100644 index 000000000..5da199f78 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.325.Req.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 325--> +<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#"> + <DateTime>2003-11-11T00:47:39+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><dsig: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 Type="http://www.w3.org/2000/09/xmldsig#Manifest" URI="#xpointer(id('manifestObject'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>W3OgtGHJLYYnhOXqmZIW05FU5oo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>KRE56cFvvz8z3CO6JGcSLVnfzBk8onz2Ri6P5q+oNLUuP/7Pzl9kImZTophZyDkW +dh70iJ1XOKJM69WKzEtd0MhgGh4JkW6hjoaIxCjPjfE6RhUJpNSdzXSCt3izf+/p +B9dQ6nukJrDJP73qUxtBo/j/tUmbG2sxANwCtvXmHBk=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="manifestObject"><dsig:Reference URI="#xpointer(id('envelopedData')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>2jmj7l5rSw0yVb/vlWAYkK/YBwk=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="envelopedData">Dies sind Testdaten</dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.325.Res.xml b/spss.test/data/VX0/TestGeneratorVX.325.Res.xml new file mode 100644 index 000000000..195ef28ab --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.325.Res.xml @@ -0,0 +1,51 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> +<HashInputData><Base64Content>PGRzaWc6TWFuaWZlc3QgeG1sbnM6ZHNpZz0iaHR0cDovL3d3dy53My5vcmcvMjAw +MC8wOS94bWxkc2lnIyIgSWQ9Im1hbmlmZXN0T2JqZWN0Ij48ZHNpZzpSZWZlcmVu +Y2UgVVJJPSIjeHBvaW50ZXIoaWQoJ2VudmVsb3BlZERhdGEnKS9ub2RlKCkpIiB4 +bWxuczpkc2lnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIj48 +ZHNpZzpEaWdlc3RNZXRob2QgQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8y +MDAwLzA5L3htbGRzaWcjc2hhMSIgeG1sbnM6ZHNpZz0iaHR0cDovL3d3dy53My5v +cmcvMjAwMC8wOS94bWxkc2lnIyIvPjxkc2lnOkRpZ2VzdFZhbHVlPjJqbWo3bDVy +U3cweVZiL3ZsV0FZa0svWUJ3az08L2RzaWc6RGlnZXN0VmFsdWU+PC9kc2lnOlJl +ZmVyZW5jZT48L2RzaWc6TWFuaWZlc3Q+</Base64Content></HashInputData> <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <XMLDSIGManifestCheck> + <Code>1</Code> + <Info><FailedReference>1</FailedReference><ReferringSigReference>1</ReferringSigReference> </Info> + </XMLDSIGManifestCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.326.Req.xml b/spss.test/data/VX0/TestGeneratorVX.326.Req.xml new file mode 100644 index 000000000..6c11b9767 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.326.Req.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 326--> +<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#"> + <DateTime>2003-11-11T00:47:39+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><dsig: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 Type="http://www.w3.org/2000/09/xmldsig#Manifest" URI="#xpointer(id('manifestObject'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>W3OgtGHJLYYnhOXqmZIW05FU5oo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>KRE56cFvvz8z3CO6JGcSLVnfzBk8onz2Ri6P5q+oNLUuP/7Pzl9kImZTophZyDkW +dh70iJ1XOKJM69WKzEtd0MhgGh4JkW6hjoaIxCjPjfE6RhUJpNSdzXSCt3izf+/p +B9dQ6nukJrDJP73qUxtBo/j/tUmbG2sxANwCtvXmHBk=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="manifestObject"><dsig:Reference URI="#xpointer(id('envelopedData')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>2jmj7l5rSw0yVb/vlWAYkK/YBwk=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="envelopedData">Dies sind veraenderte Daten und die Ursprungsdaten: +Dies sind Testdaten</dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.326.Res.xml b/spss.test/data/VX0/TestGeneratorVX.326.Res.xml new file mode 100644 index 000000000..d7c1e4c10 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.326.Res.xml @@ -0,0 +1,43 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <XMLDSIGManifestCheck> + <Code>1</Code> + <Info><FailedReference>1</FailedReference><ReferringSigReference>1</ReferringSigReference> </Info> + </XMLDSIGManifestCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.327.Req.xml b/spss.test/data/VX0/TestGeneratorVX.327.Req.xml new file mode 100644 index 000000000..28dedbf5b --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.327.Req.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 327--> +<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#"> + <DateTime>2003-11-11T00:47:39+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><dsig: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 URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Jl++3waHGFPf3UiFRyU8y1A95bEYnczE8lqin81AMWWFfmzFsghCKP77H/nyVnfW +2PpmSX/qhu4Cwk9MIyWMLSFRm60xEtlo4hy4oMuCB2xXEFQOyyZhPSIRHW1TrxRW +NF/Dn2vuP9xTuxzfefVNCCdPoh8OBmk4lSoayoylPM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:RetrievalMethod Type="http://www.w3.org/2000/09/xmldsig#rawX509Certificate" URI="#xpointer(id('rawCertAsBase64')/node())"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/></dsig:Transforms></dsig:RetrievalMethod></dsig:KeyInfo><dsig:Object Id="rawCertAsBase64">MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.327.Res.xml b/spss.test/data/VX0/TestGeneratorVX.327.Res.xml new file mode 100644 index 000000000..53ba8d830 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.327.Res.xml @@ -0,0 +1,41 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> + <HashInputData> + <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.351.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.351.ErrRes.xml new file mode 100644 index 000000000..f5f4d9a5b --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.351.ErrRes.xml @@ -0,0 +1 @@ +2240
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.351.Req.xml b/spss.test/data/VX0/TestGeneratorVX.351.Req.xml new file mode 100644 index 000000000..701bed38a --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.351.Req.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 351--> +<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#"> + <DateTime>2003-06-30T14:02:44+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/unknownCanonicalzationMethod"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>e1wgvnq1Jf8uumQVxpGr2DfgaDwF1QyKNnUOUr70oawP+Ryo8fhdChT7/i1ZRn+K +b7yTjqlEQyP67BBuPTcUefp9Ny4y19ciISHHF1WpQe7vhm1TTmm9/GCHKZbxGat5 +3Ag2IQLlR3C3NHyp+1FvCOAcbh3GcEPlkESI+2zzCPU=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.352.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.352.ErrRes.xml new file mode 100644 index 000000000..f5f4d9a5b --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.352.ErrRes.xml @@ -0,0 +1 @@ +2240
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.352.Req.xml b/spss.test/data/VX0/TestGeneratorVX.352.Req.xml new file mode 100644 index 000000000..f8ec8611d --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.352.Req.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 352--> +<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#"> + <DateTime>2003-06-30T14:02:44+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig: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/TR/2001/unknownSignatureMethod"/><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>e1wgvnq1Jf8uumQVxpGr2DfgaDwF1QyKNnUOUr70oawP+Ryo8fhdChT7/i1ZRn+K +b7yTjqlEQyP67BBuPTcUefp9Ny4y19ciISHHF1WpQe7vhm1TTmm9/GCHKZbxGat5 +3Ag2IQLlR3C3NHyp+1FvCOAcbh3GcEPlkESI+2zzCPU=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.354.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.354.ErrRes.xml new file mode 100644 index 000000000..f5f4d9a5b --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.354.ErrRes.xml @@ -0,0 +1 @@ +2240
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.354.Req.xml b/spss.test/data/VX0/TestGeneratorVX.354.Req.xml new file mode 100644 index 000000000..6877decf0 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.354.Req.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 354--> +<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#"> + <DateTime>2003-06-30T14:02:44+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig: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 URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/TR/2001/unknownDigestMethod"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>e1wgvnq1Jf8uumQVxpGr2DfgaDwF1QyKNnUOUr70oawP+Ryo8fhdChT7/i1ZRn+K +b7yTjqlEQyP67BBuPTcUefp9Ny4y19ciISHHF1WpQe7vhm1TTmm9/GCHKZbxGat5 +3Ag2IQLlR3C3NHyp+1FvCOAcbh3GcEPlkESI+2zzCPU=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.356.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.356.ErrRes.xml new file mode 100644 index 000000000..f5f4d9a5b --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.356.ErrRes.xml @@ -0,0 +1 @@ +2240
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.356.Req.xml b/spss.test/data/VX0/TestGeneratorVX.356.Req.xml new file mode 100644 index 000000000..c404d3a31 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.356.Req.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 356--> +<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#"> + <DateTime>2003-06-30T14:02:44+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig: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 URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/testDaten.txtbase64.enc"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/2001/unknownTransformsMethod"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>rt+ij8pPm7w1QBsi7ZKfCLZSCXfWiSAIZ2OVKvIf5i6BDhQ5g+4Vdjl20+t8vBaU +vdnIeaZqffOi5+ECdPTtpxO6zcUIZcsb6fR6UBHylopSJR+iA057ppd1lExRIbTM +yyOqhrgnQHf2JHzQkKHH46nL72Y3A3j2joohCfFQsXo=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.357.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.357.ErrRes.xml new file mode 100644 index 000000000..f5f4d9a5b --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.357.ErrRes.xml @@ -0,0 +1 @@ +2240
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.357.Req.xml b/spss.test/data/VX0/TestGeneratorVX.357.Req.xml new file mode 100644 index 000000000..639733007 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.357.Req.xml @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 357 nicht zu Reference/Transforms/Transform/@Algorithm passender Inha--> +<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#"> + <DateTime>2003-06-30T14:02:45+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig:Signature Id="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-1" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/BookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>hadYFe2IqIFBJT2n3gH0ODmd3nrkGXNfxHs9rNTo9PL0scyxI2jwDfNxKCrVpnM/ +mHLQOXWKDSK9xQvoGOlCAMGZekDQNlMFvgOOclNjpx2Ka49WVTXWQQTLq83L7mbt +6y+lgV4hQZeVPKQXgrX5mGPQyJGCTugklW0A7PSwkEc=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.359.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.359.ErrRes.xml new file mode 100644 index 000000000..93d1b43bd --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.359.ErrRes.xml @@ -0,0 +1 @@ +2243
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.359.Req.xml b/spss.test/data/VX0/TestGeneratorVX.359.Req.xml new file mode 100644 index 000000000..8d1c7428a --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.359.Req.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 359--> +<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#"> + <DateTime>2003-06-30T14:02:45+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig: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 URI="#xpointer(id('envelopedData')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>bluTLafswdmsDkwdNk/j/HVd1eo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>nK7gJ9m6E9MMl0DuL2m/F/wyrFc2V5wTV2eYj3UAO1qbFhQzKtbz4dKrV+4HlaxT +u/1IbP+ZWvmylwNnsT+WSGAPGw5/L9YNUVkxRi14Pal6nHgx0Cr5zN48hd278jcg +7kNgVHFHqutWLPXPVuTrR8C96JdFINiFdnCKEALsk+A=</dsig:SignatureValue><dsig:Object Id="envelopedData">Dies sind Testdaten +2. Zeile +3. Zeile +aus</dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.360.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.360.ErrRes.xml new file mode 100644 index 000000000..f5f4d9a5b --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.360.ErrRes.xml @@ -0,0 +1 @@ +2240
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.360.Req.xml b/spss.test/data/VX0/TestGeneratorVX.360.Req.xml new file mode 100644 index 000000000..7ef55d252 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.360.Req.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 360--> +<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#"> + <DateTime>2003-06-30T14:02:45+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig: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 URI="#xpointer(id('envelopedData')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>bluTLafswdmsDkwdNk/j/HVd1eo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>nK7gJ9m6E9MMl0DuL2m/F/wyrFc2V5wTV2eYj3UAO1qbFhQzKtbz4dKrV+4HlaxT +u/1IbP+ZWvmylwNnsT+WSGAPGw5/L9YNUVkxRi14Pal6nHgx0Cr5zN48hd278jcg +7kNgVHFHqutWLPXPVuTrR8C96JdFINiFdnCKEALsk+A=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509SubjectName>Some kind of Subject</dsig:X509SubjectName></dsig:X509Data></dsig:KeyInfo><dsig:Object Id="envelopedData">Dies sind Testdaten +2. Zeile +3. Zeile +aus</dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.360_2.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.360_2.ErrRes.xml new file mode 100644 index 000000000..f5f4d9a5b --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.360_2.ErrRes.xml @@ -0,0 +1 @@ +2240
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.360_2.Req.xml b/spss.test/data/VX0/TestGeneratorVX.360_2.Req.xml new file mode 100644 index 000000000..8456be252 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.360_2.Req.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 360_2--> +<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#"> + <DateTime>2003-06-30T14:02:45+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig: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 URI="#xpointer(id('envelopedData')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>bluTLafswdmsDkwdNk/j/HVd1eo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>nK7gJ9m6E9MMl0DuL2m/F/wyrFc2V5wTV2eYj3UAO1qbFhQzKtbz4dKrV+4HlaxT +u/1IbP+ZWvmylwNnsT+WSGAPGw5/L9YNUVkxRi14Pal6nHgx0Cr5zN48hd278jcg +7kNgVHFHqutWLPXPVuTrR8C96JdFINiFdnCKEALsk+A=</dsig:SignatureValue><dsig:KeyInfo><dsig:KeyName>Some kind of string as KeyName</dsig:KeyName></dsig:KeyInfo><dsig:Object Id="envelopedData">Dies sind Testdaten +2. Zeile +3. Zeile +aus</dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.362.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.362.ErrRes.xml new file mode 100644 index 000000000..f5f4d9a5b --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.362.ErrRes.xml @@ -0,0 +1 @@ +2240
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.362.Req.xml b/spss.test/data/VX0/TestGeneratorVX.362.Req.xml new file mode 100644 index 000000000..6f7525203 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.362.Req.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 362--> +<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#"> + <DateTime>2003-06-30T14:02:45+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig: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 URI="#xpointer(id('envelopedData')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>bluTLafswdmsDkwdNk/j/HVd1eo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>nK7gJ9m6E9MMl0DuL2m/F/wyrFc2V5wTV2eYj3UAO1qbFhQzKtbz4dKrV+4HlaxT +u/1IbP+ZWvmylwNnsT+WSGAPGw5/L9YNUVkxRi14Pal6nHgx0Cr5zN48hd278jcg +7kNgVHFHqutWLPXPVuTrR8C96JdFINiFdnCKEALsk+A=</dsig:SignatureValue><dsig:KeyInfo> <dsig:X509Data> + <dsig:X509Certificate>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</dsig:X509Certificate> + </dsig:X509Data> +</dsig:KeyInfo><dsig:Object Id="envelopedData">Dies sind Testdaten +2. Zeile +3. Zeile +aus</dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.363.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.363.ErrRes.xml new file mode 100644 index 000000000..5b2b55035 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.363.ErrRes.xml @@ -0,0 +1 @@ +1100
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.363.Req.xml b/spss.test/data/VX0/TestGeneratorVX.363.Req.xml new file mode 100644 index 000000000..6d09ed714 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.363.Req.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 363--> +<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#"> + <DateTime>2003-06-30T14:02:45+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig: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 URI="#xpointer(id('envelopedData')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>bluTLafswdmsDkwdNk/j/HVd1eo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>nK7gJ9m6E9MMl0DuL2m/F/wyrFc2V5wTV2eYj3UAO1qbFhQzKtbz4dKrV+4HlaxT +u/1IbP+ZWvmylwNnsT+WSGAPGw5/L9YNUVkxRi14Pal6nHgx0Cr5zN48hd278jcg +7kNgVHFHqutWLPXPVuTrR8C96JdFINiFdnCKEALsk+A=</dsig:SignatureValue><dsig:KeyInfo> <dsig:X509Data> + <dsig:X509Certificate>( no BASE64 data )</dsig:X509Certificate> + </dsig:X509Data> +</dsig:KeyInfo><dsig:Object Id="envelopedData">Dies sind Testdaten +2. Zeile +3. Zeile +aus</dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.364.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.364.ErrRes.xml new file mode 100644 index 000000000..f5f4d9a5b --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.364.ErrRes.xml @@ -0,0 +1 @@ +2240
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.364.Req.xml b/spss.test/data/VX0/TestGeneratorVX.364.Req.xml new file mode 100644 index 000000000..e0c594eae --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.364.Req.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 364--> +<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#"> + <DateTime>2003-06-30T14:02:45+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig: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 URI="#xpointer(id('envelopedData')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>bluTLafswdmsDkwdNk/j/HVd1eo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>nK7gJ9m6E9MMl0DuL2m/F/wyrFc2V5wTV2eYj3UAO1qbFhQzKtbz4dKrV+4HlaxT +u/1IbP+ZWvmylwNnsT+WSGAPGw5/L9YNUVkxRi14Pal6nHgx0Cr5zN48hd278jcg +7kNgVHFHqutWLPXPVuTrR8C96JdFINiFdnCKEALsk+A=</dsig:SignatureValue><dsig:KeyInfo><dsig:RetrievalMethod Type="http://www.w3.org/2000/09/noValidRetrievalMethodType" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/X509Data.xml"/></dsig:KeyInfo><dsig:Object Id="envelopedData">Dies sind Testdaten +2. Zeile +3. Zeile +aus</dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.365.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.365.ErrRes.xml new file mode 100644 index 000000000..f5f4d9a5b --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.365.ErrRes.xml @@ -0,0 +1 @@ +2240
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.365.Req.xml b/spss.test/data/VX0/TestGeneratorVX.365.Req.xml new file mode 100644 index 000000000..5fa59d97e --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.365.Req.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 365--> +<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#"> + <DateTime>2003-06-30T14:02:45+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig: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 URI="#xpointer(id('envelopedData')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>bluTLafswdmsDkwdNk/j/HVd1eo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>nK7gJ9m6E9MMl0DuL2m/F/wyrFc2V5wTV2eYj3UAO1qbFhQzKtbz4dKrV+4HlaxT +u/1IbP+ZWvmylwNnsT+WSGAPGw5/L9YNUVkxRi14Pal6nHgx0Cr5zN48hd278jcg +7kNgVHFHqutWLPXPVuTrR8C96JdFINiFdnCKEALsk+A=</dsig:SignatureValue><dsig:KeyInfo><dsig:RetrievalMethod Type="http://www.w3.org/2000/09/xmldsig#X509Data" URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/test-ee2003_normal.der"/></dsig:KeyInfo><dsig:Object Id="envelopedData">Dies sind Testdaten +2. Zeile +3. Zeile +aus</dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.366.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.366.ErrRes.xml new file mode 100644 index 000000000..f5f4d9a5b --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.366.ErrRes.xml @@ -0,0 +1 @@ +2240
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.366.Req.xml b/spss.test/data/VX0/TestGeneratorVX.366.Req.xml new file mode 100644 index 000000000..36d7a75b0 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.366.Req.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 366--> +<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#"> + <DateTime>2003-06-30T14:02:46+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig: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 URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>e1wgvnq1Jf8uumQVxpGr2DfgaDwF1QyKNnUOUr70oawP+Ryo8fhdChT7/i1ZRn+K +b7yTjqlEQyP67BBuPTcUefp9Ny4y19ciISHHF1WpQe7vhm1TTmm9/GCHKZbxGat5 +3Ag2IQLlR3C3NHyp+1FvCOAcbh3GcEPlkESI+2zzCPU=</dsig:SignatureValue><dsig:KeyInfo><dsig:RetrievalMethod Type="http://www.w3.org/2000/09/xmldsig#rawX509Certificate" URI="#xpointer(id('rawCertAsBase64')/node())"><dsig:Transforms><dsig:Transform Algorithm="http://Invalid.URI.com"/></dsig:Transforms></dsig:RetrievalMethod></dsig:KeyInfo><dsig:Object Id="rawCertAsBase64">MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.367.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.367.ErrRes.xml new file mode 100644 index 000000000..f5f4d9a5b --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.367.ErrRes.xml @@ -0,0 +1 @@ +2240
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.367.Req.xml b/spss.test/data/VX0/TestGeneratorVX.367.Req.xml new file mode 100644 index 000000000..1ee5f74ff --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.367.Req.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 367--> +<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#"> + <DateTime>2003-06-30T14:02:46+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig: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 URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>e1wgvnq1Jf8uumQVxpGr2DfgaDwF1QyKNnUOUr70oawP+Ryo8fhdChT7/i1ZRn+K +b7yTjqlEQyP67BBuPTcUefp9Ny4y19ciISHHF1WpQe7vhm1TTmm9/GCHKZbxGat5 +3Ag2IQLlR3C3NHyp+1FvCOAcbh3GcEPlkESI+2zzCPU=</dsig:SignatureValue><dsig:KeyInfo><dsig:RetrievalMethod Type="http://www.w3.org/2000/09/xmldsig#X509Data" URI="#xpointer(id('rawCertAsBase64')/node())"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/></dsig:Transforms></dsig:RetrievalMethod></dsig:KeyInfo><dsig:Object Id="rawCertAsBase64">MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.369.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.369.ErrRes.xml new file mode 100644 index 000000000..a8964c48c --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.369.ErrRes.xml @@ -0,0 +1 @@ +2262
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.369.Req.xml b/spss.test/data/VX0/TestGeneratorVX.369.Req.xml new file mode 100644 index 000000000..af2870826 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.369.Req.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 369--> +<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#"> + <DateTime>2003-06-30T14:02:46+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig: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 Type="http://www.w3.org/2000/09/xmldsig#Manifest" URI="#xpointer(id('NoValidManifestObject'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>cdHj8fffTXYR2DJPRAh8E3DV7EY=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>CJJ08NzpzOqOkdgYTvh4sem1cEm+yjSjcTiRi2vtwKecczzAI/RPASDCjeyxxqiq +27/K1nkNXGe+FEfaO4wb8uTBT+HVAMsrnlpeSjzgpBh+xVm3aOPP14WFmNGbi9H1 +WdCaLNbwdBrCPBi3bpAGqH6wpAhh+/I1cZHrBZrP/QI=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="manifestObject"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/VX0/TestGeneratorVX.370.ErrRes.xml b/spss.test/data/VX0/TestGeneratorVX.370.ErrRes.xml new file mode 100644 index 000000000..a8964c48c --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.370.ErrRes.xml @@ -0,0 +1 @@ +2262
\ No newline at end of file diff --git a/spss.test/data/VX0/TestGeneratorVX.370.Req.xml b/spss.test/data/VX0/TestGeneratorVX.370.Req.xml new file mode 100644 index 000000000..4794a8481 --- /dev/null +++ b/spss.test/data/VX0/TestGeneratorVX.370.Req.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 370--> +<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#"> + <DateTime>2003-06-30T14:02:46+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent xml:space="preserve"><dsig: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 Type="http://www.w3.org/2000/09/xmldsig#Manifest" URI="#xpointer(id('manifestObject'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>cdHj8fffTXYR2DJPRAh8E3DV7EY=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>CJJ08NzpzOqOkdgYTvh4sem1cEm+yjSjcTiRi2vtwKecczzAI/RPASDCjeyxxqiq +27/K1nkNXGe+FEfaO4wb8uTBT+HVAMsrnlpeSjzgpBh+xVm3aOPP14WFmNGbi9H1 +WdCaLNbwdBrCPBi3bpAGqH6wpAhh+/I1cZHrBZrP/QI=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="manifestObject"><dsig:Reference URI="http://moa-test.brz.intra.gv.at/TestDatenGenerator/resources/testDaten.txt"><dsig:DigestMethod Algorithm="noValidDigestAlg"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/feature41/TestGeneratorFeature41.001.Req.xml b/spss.test/data/feature41/TestGeneratorFeature41.001.Req.xml new file mode 100644 index 000000000..0075b4e69 --- /dev/null +++ b/spss.test/data/feature41/TestGeneratorFeature41.001.Req.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- +Erstellung einer Signatur + - Detached Signature + - Content per LocRef (URL-Mapping) +--> + +<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="testDaten.txt"> + <LocRefContent>http://localhost:8080/moa-spss-testdata/resources/documents/testDaten.txt</LocRefContent> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/feature41/TestGeneratorFeature41.001.Res.xml b/spss.test/data/feature41/TestGeneratorFeature41.001.Res.xml new file mode 100644 index 000000000..42243a174 --- /dev/null +++ b/spss.test/data/feature41/TestGeneratorFeature41.001.Res.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + ><SignatureEnvironment><dsig:Signature Id="signature-1-1" 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-1-1" URI="testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>oqqpIw2v+DyzBB2Btc9RE38O/p5Wp/y4m/j4TSwNl4FbZkAY2DbWk9Uac5TiwdCh +h8ss8fQGIQSFiTdh2VY5zFe77rMOR/kQfuIiTvt+8uzxCo/a1iPpvr0joppih6kd +OLgv2ZzD/DZeB2uF3BdNpkd1AEUSi4OnnLaQ+rW7hog=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/feature41/TestGeneratorFeature41.002.Req.xml b/spss.test/data/feature41/TestGeneratorFeature41.002.Req.xml new file mode 100644 index 000000000..b98cf5a9a --- /dev/null +++ b/spss.test/data/feature41/TestGeneratorFeature41.002.Req.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- +Erstellung einer Signatur + - Enveloping Signature + - Content per LocRef +--> + +<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="enveloping" ChildOfManifest="false"> + <DataObject> + <LocRefContent>http://localhost:8080/moa-spss-testdata/resources/documents/testSimple.txt</LocRefContent> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/feature41/TestGeneratorFeature41.002.Res.xml b/spss.test/data/feature41/TestGeneratorFeature41.002.Res.xml new file mode 100644 index 000000000..f2373768c --- /dev/null +++ b/spss.test/data/feature41/TestGeneratorFeature41.002.Res.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + ><SignatureEnvironment><dsig:Signature Id="signature-1-1" 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-1-1" URI="#xpointer(id('signed-data-1-1-1')/node())"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>BZcl/8GN5YI1fRFkTmv3YVstrVtFS5XquQoylfkXya4KsNRrhW8Sd0go+JxfbbaQ +FP671mer7rlj42zYxgAB1rfr0zogy9gkSf69GftRdHH1z5w79lGgzQga5PbY7d24 +AKt/oETiJcGFH0C3XVWxOIZdK9z4jMrMvkAoEVJ06G4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object Id="signed-data-1-1-1">RGllcyBzaW5kIFRlc3RkYXRlbg==</dsig:Object></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/feature41/TestGeneratorFeature41.003.Req.xml b/spss.test/data/feature41/TestGeneratorFeature41.003.Req.xml new file mode 100644 index 000000000..f3d566d96 --- /dev/null +++ b/spss.test/data/feature41/TestGeneratorFeature41.003.Req.xml @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- +Erstellung einer Signatur + - Signaturumgebung per LocRef +--> + +<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="http://localhost:8080/moa-spss-testdata/resources/documents/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"> + <CreateSignatureEnvironment> + <LocRefContent>http://localhost:8080/moa-spss-testdata/resources/testDocument.xml</LocRefContent> + </CreateSignatureEnvironment> + <CreateSignatureEnvironmentProfile> + <CreateSignatureLocation Index="0">//data:Document</CreateSignatureLocation> + </CreateSignatureEnvironmentProfile> + </CreateSignatureInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/feature41/TestGeneratorFeature41.003.Res.xml b/spss.test/data/feature41/TestGeneratorFeature41.003.Res.xml new file mode 100644 index 000000000..58662eabd --- /dev/null +++ b/spss.test/data/feature41/TestGeneratorFeature41.003.Res.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" ><SignatureEnvironment><data:Document xmlns:data="http://uri.data.org"><dsig:Signature Id="signature-1-1" 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-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/documents/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>ENTKWRJqIf5z5OfmsQ1Txj/EhH0jiJBtb7eFghQTLKz4xHmzxieAtMS26K2nH+PH +zSPBYiEWHj6ewQ8R0IXL7thHWEiAKahMTwZ4URKgwjn7uSVxbqR/YIaC/BFjMiUd +1umPkeSB1hHnfZZpQLZd7sRpth0653R7g/Qmmor3r2k=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature>Dies sind Testdaten</data:Document></SignatureEnvironment> </CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/feature41/TestGeneratorFeature41.004.Req.xml b/spss.test/data/feature41/TestGeneratorFeature41.004.Req.xml new file mode 100644 index 000000000..19a67ddd6 --- /dev/null +++ b/spss.test/data/feature41/TestGeneratorFeature41.004.Req.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- +Erstellung einer Signatur + - Supplement zur CreateSignatureEnvironment per LocRef +--> + +<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="#document"/> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <dsig:Transforms> + <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> + </dsig:Transforms> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + <CreateSignatureInfo xmlns:data="http://uri.data.org"> + <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://anywhere.org/testDocument.schema.xsd">Dies sind Testdaten</data:Document> + </XMLContent> + </CreateSignatureEnvironment> + <CreateSignatureEnvironmentProfile> + <CreateSignatureLocation Index="0">//data:Document</CreateSignatureLocation> + <Supplement> + <Content Reference="http://anywhere.org/testDocument.schema.xsd"> + <LocRefContent>http://localhost:8080/moa-spss-testdata/resources/schemas/testDocument.schema.xsd</LocRefContent> + </Content> + </Supplement> + </CreateSignatureEnvironmentProfile> + </CreateSignatureInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest> diff --git a/spss.test/data/feature41/TestGeneratorFeature41.004.Res.xml b/spss.test/data/feature41/TestGeneratorFeature41.004.Res.xml new file mode 100644 index 000000000..555338faf --- /dev/null +++ b/spss.test/data/feature41/TestGeneratorFeature41.004.Res.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" ><SignatureEnvironment><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"><dsig:Signature Id="signature-1-1" 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-1-1" URI="#document"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>cfkbUQ6pYpnOZg0nHpe4QJD2EtU=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Qcb3A9TDoayqprHRS65bCXZHqBQSfAVfWru0scRT+7J52ZgF+fXUv3jYVNNtSlpT +a9IkY2z9NXIrYlRVH1U5AIvGECDircEpEDKwaMB1dmVvo1GXn5hos+BYBGGqp6n6 +xnZ4S8hD+4QiJPnFdsixGt4DlOMaD1+uWwpaW7SPC+I=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature>Dies sind Testdaten</data:Document></SignatureEnvironment> </CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/feature41/TestGeneratorFeature41.005.Req.xml b/spss.test/data/feature41/TestGeneratorFeature41.005.Req.xml new file mode 100644 index 000000000..89f5387de --- /dev/null +++ b/spss.test/data/feature41/TestGeneratorFeature41.005.Req.xml @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- +Erstellung einer Signatur + - Supplement zu CreateTransformsInfo per LocRef +--> + +<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="http://localhost:8080/moa-spss-testdata/resources/documents/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="http://localhost:8080/moa-spss-testdata/resources/stylesheets/book.notavailable.xsl"/></xsl:stylesheet> + </dsig:Transform> + </dsig:Transforms> + <FinalDataMetaInfo> + <MimeType>text/html</MimeType> + <Description>http://www.description.com</Description> + </FinalDataMetaInfo> + </CreateTransformsInfo> + <Supplement> + <Content Reference="http://localhost:8080/moa-spss-testdata/resources/stylesheets/book.notavailable.xsl"> + <LocRefContent>http://localhost:8080/moa-spss-testdata/resources/stylesheets/book.xsl</LocRefContent> + </Content> + </Supplement> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest> diff --git a/spss.test/data/feature41/TestGeneratorFeature41.005.Res.xml b/spss.test/data/feature41/TestGeneratorFeature41.005.Res.xml new file mode 100644 index 000000000..c8bc9088e --- /dev/null +++ b/spss.test/data/feature41/TestGeneratorFeature41.005.Res.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?><CreateXMLSignatureResponse + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + ><SignatureEnvironment><dsig:Signature Id="signature-1-1" 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-1-1" URI="http://localhost:8080/moa-spss-testdata/resources/documents/bookData.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://localhost:8080/moa-spss-testdata/resources/stylesheets/book.notavailable.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>+GL+SPHHr39XrA/lY2YLkOAUfuo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>lBx1/ZwAQrBp+9iYDzJ8zwcg7jT3Y6L6dF3i9YvZ6SV+E63Hk6QwiR8sYb5QqX7a +Gfnk34Zus8xWyIC6Z+E7mlDMd1TK/1jPj4Ut6Tvq6JemwncKUgcPAofdgRG7JP15 +DuaiaE1o36Y4N9Ri7wXDg6+Iwo7tgx1aMWwcdeza7Lk=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/feature41/TestGeneratorFeature41.006.Req.xml b/spss.test/data/feature41/TestGeneratorFeature41.006.Req.xml new file mode 100644 index 000000000..09f93fa8d --- /dev/null +++ b/spss.test/data/feature41/TestGeneratorFeature41.006.Req.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- +Pruefung einer Signature + - Signaturumgebung per LocRef +--> + +<VerifyXMLSignatureRequest + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> + <DateTime>2003-11-11T00:47:33+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <LocRefContent>http://localhost:8080/moa-spss-testdata/resources/documents/simpleSignature.xml</LocRefContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/feature41/TestGeneratorFeature41.006.Res.xml b/spss.test/data/feature41/TestGeneratorFeature41.006.Res.xml new file mode 100644 index 000000000..53ba8d830 --- /dev/null +++ b/spss.test/data/feature41/TestGeneratorFeature41.006.Res.xml @@ -0,0 +1,41 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> + <HashInputData> + <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content> </HashInputData> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/feature41/TestGeneratorFeature41.007.Req.xml b/spss.test/data/feature41/TestGeneratorFeature41.007.Req.xml new file mode 100644 index 000000000..bb745fd8e --- /dev/null +++ b/spss.test/data/feature41/TestGeneratorFeature41.007.Req.xml @@ -0,0 +1,67 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- +Pruefung einer Signatur + - Datenobjekt als Supplement per LocRef +--> + +<VerifyXMLSignatureRequest + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> + <DateTime>2003-11-11T00:47:35+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment > + <XMLContent xml:space="preserve"><dsig: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 URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Jl++3waHGFPf3UiFRyU8y1A95bEYnczE8lqin81AMWWFfmzFsghCKP77H/nyVnfW +2PpmSX/qhu4Cwk9MIyWMLSFRm60xEtlo4hy4oMuCB2xXEFQOyyZhPSIRHW1TrxRW +NF/Dn2vuP9xTuxzfefVNCCdPoh8OBmk4lSoayoylPM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature></XMLContent></VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <SupplementProfile> + <MetaInfo> + <MimeType>text/plain</MimeType> + <Description>http://www.buergerkarte.at</Description> + </MetaInfo> + <Content Reference="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"> + <LocRefContent>http://localhost:8080/moa-spss-testdata/resources/documents/testSimple.txt</LocRefContent> + </Content> + </SupplementProfile> + <TrustProfileID>TrustProfile1</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.test/data/feature41/TestGeneratorFeature41.007.Res.xml b/spss.test/data/feature41/TestGeneratorFeature41.007.Res.xml new file mode 100644 index 000000000..d85292b1a --- /dev/null +++ b/spss.test/data/feature41/TestGeneratorFeature41.007.Res.xml @@ -0,0 +1,39 @@ +<?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>CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + +<dsig:X509Certificate >MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> </dsig:X509Data> + </SignerInfo> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss.test/data/feature41/TestGeneratorFeature41.050.ErrRes.xml b/spss.test/data/feature41/TestGeneratorFeature41.050.ErrRes.xml new file mode 100644 index 000000000..c290966ea --- /dev/null +++ b/spss.test/data/feature41/TestGeneratorFeature41.050.ErrRes.xml @@ -0,0 +1 @@ +3201
\ No newline at end of file diff --git a/spss.test/data/feature41/TestGeneratorFeature41.050.Req.xml b/spss.test/data/feature41/TestGeneratorFeature41.050.Req.xml new file mode 100644 index 000000000..c5e21783a --- /dev/null +++ b/spss.test/data/feature41/TestGeneratorFeature41.050.Req.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- +Erstellung einer Signatur + - Detached Signature + - Content per LocRef (URL-Mapping) - nicht aufloesbar +--> + +<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="testdaten.txt"> + <LocRefContent>http://example.org/object.notavailable.txt</LocRefContent> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/feature41/TestGeneratorFeature41.051.ErrRes.xml b/spss.test/data/feature41/TestGeneratorFeature41.051.ErrRes.xml new file mode 100644 index 000000000..ba3f056ed --- /dev/null +++ b/spss.test/data/feature41/TestGeneratorFeature41.051.ErrRes.xml @@ -0,0 +1 @@ +3203
\ No newline at end of file diff --git a/spss.test/data/feature41/TestGeneratorFeature41.051.Req.xml b/spss.test/data/feature41/TestGeneratorFeature41.051.Req.xml new file mode 100644 index 000000000..775869a68 --- /dev/null +++ b/spss.test/data/feature41/TestGeneratorFeature41.051.Req.xml @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- +Erstellung einer Signatur + - Signaturumgebung per LocRef - nicht aufloesbar +--> + +<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="http://localhost:8080/moa-spss-testdata/resources/documents/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"> + <CreateSignatureEnvironment> + <LocRefContent>http://example.org/signatureEnvironment.notavailable.xml</LocRefContent> + </CreateSignatureEnvironment> + <CreateSignatureEnvironmentProfile> + <CreateSignatureLocation Index="0">//data:Document</CreateSignatureLocation> + </CreateSignatureEnvironmentProfile> + </CreateSignatureInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss.test/data/feature41/TestGeneratorFeature41.052.ErrRes.xml b/spss.test/data/feature41/TestGeneratorFeature41.052.ErrRes.xml new file mode 100644 index 000000000..a04556cdc --- /dev/null +++ b/spss.test/data/feature41/TestGeneratorFeature41.052.ErrRes.xml @@ -0,0 +1 @@ +3202
\ No newline at end of file diff --git a/spss.test/data/feature41/TestGeneratorFeature41.052.Req.xml b/spss.test/data/feature41/TestGeneratorFeature41.052.Req.xml new file mode 100644 index 000000000..a47f954c6 --- /dev/null +++ b/spss.test/data/feature41/TestGeneratorFeature41.052.Req.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- +Erstellung einer Signatur + - Supplement zur CreateSignatureEnvironment per LocRef +--> + +<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="#document"/> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <dsig:Transforms> + <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> + </dsig:Transforms> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + <CreateSignatureInfo xmlns:data="http://uri.data.org"> + <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://anywhere.org/testDocument.schema.xsd">Dies sind Testdaten</data:Document> + </XMLContent> + </CreateSignatureEnvironment> + <CreateSignatureEnvironmentProfile> + <CreateSignatureLocation Index="0">//data:Document</CreateSignatureLocation> + <Supplement> + <Content Reference="http://anywhere.org/testDocument.schema.xsd"> + <LocRefContent>http://example.org/testDocument.schema.notavailable.xsd</LocRefContent> + </Content> + </Supplement> + </CreateSignatureEnvironmentProfile> + </CreateSignatureInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest> diff --git a/spss.test/data/feature41/readme.txt b/spss.test/data/feature41/readme.txt new file mode 100644 index 000000000..d22612e6d --- /dev/null +++ b/spss.test/data/feature41/readme.txt @@ -0,0 +1,9 @@ +Autor: Gregor Karlinger +Datum: 2003-11-11 + +* Zum Generieren der Testdaten wird die Ressource + "resources/stylesheets/book.notavailable.xml" benötigt. + +* Bevor die Testfälle ablaufen sollen, ist diese Ressource + vom Webserver zu entfernen. Sie darf nicht mehr zur Ver- + fügung stehen.
\ No newline at end of file diff --git a/spss.test/lib/SignatureAlgorithmImplECDSA.jar b/spss.test/lib/SignatureAlgorithmImplECDSA.jar Binary files differnew file mode 100644 index 000000000..6df580e13 --- /dev/null +++ b/spss.test/lib/SignatureAlgorithmImplECDSA.jar diff --git a/spss.test/lib/axis-1.0/axis.jar b/spss.test/lib/axis-1.0/axis.jar Binary files differnew file mode 100644 index 000000000..7cf31027a --- /dev/null +++ b/spss.test/lib/axis-1.0/axis.jar diff --git a/spss.test/lib/axis-1.0/jaxrpc.jar b/spss.test/lib/axis-1.0/jaxrpc.jar Binary files differnew file mode 100644 index 000000000..4a2081643 --- /dev/null +++ b/spss.test/lib/axis-1.0/jaxrpc.jar diff --git a/spss.test/lib/axis-1.0/saaj.jar b/spss.test/lib/axis-1.0/saaj.jar Binary files differnew file mode 100644 index 000000000..cf43f1fcd --- /dev/null +++ b/spss.test/lib/axis-1.0/saaj.jar diff --git a/spss.test/lib/axis-1.0/wsdl4j.jar b/spss.test/lib/axis-1.0/wsdl4j.jar Binary files differnew file mode 100644 index 000000000..e90968e03 --- /dev/null +++ b/spss.test/lib/axis-1.0/wsdl4j.jar diff --git a/spss.test/lib/commons-discovery-0.2/commons-discovery.jar b/spss.test/lib/commons-discovery-0.2/commons-discovery.jar Binary files differnew file mode 100644 index 000000000..b88554847 --- /dev/null +++ b/spss.test/lib/commons-discovery-0.2/commons-discovery.jar diff --git a/spss.test/lib/iaik-moa-20030703/iaik-moa-full.jar b/spss.test/lib/iaik-moa-20030703/iaik-moa-full.jar Binary files differnew file mode 100644 index 000000000..30d5f4828 --- /dev/null +++ b/spss.test/lib/iaik-moa-20030703/iaik-moa-full.jar diff --git a/spss.test/lib/iaik-moa-20030703/iaikPkcs11Provider.jar b/spss.test/lib/iaik-moa-20030703/iaikPkcs11Provider.jar Binary files differnew file mode 100644 index 000000000..52c32ff7e --- /dev/null +++ b/spss.test/lib/iaik-moa-20030703/iaikPkcs11Provider.jar diff --git a/spss.test/lib/iaik-moa-20030703/iaikPkcs11Wrapper.jar b/spss.test/lib/iaik-moa-20030703/iaikPkcs11Wrapper.jar Binary files differnew file mode 100644 index 000000000..5d69f255c --- /dev/null +++ b/spss.test/lib/iaik-moa-20030703/iaikPkcs11Wrapper.jar diff --git a/spss.test/lib/iaik-moa-20030703/iaik_cms.jar b/spss.test/lib/iaik-moa-20030703/iaik_cms.jar Binary files differnew file mode 100644 index 000000000..0f8be7bf0 --- /dev/null +++ b/spss.test/lib/iaik-moa-20030703/iaik_cms.jar diff --git a/spss.test/lib/iaik-moa-20030703/iaik_ecc.jar b/spss.test/lib/iaik-moa-20030703/iaik_ecc.jar Binary files differnew file mode 100644 index 000000000..8c528a215 --- /dev/null +++ b/spss.test/lib/iaik-moa-20030703/iaik_ecc.jar diff --git a/spss.test/lib/iaik-moa-20030703/iaik_jce_full.jar b/spss.test/lib/iaik-moa-20030703/iaik_jce_full.jar Binary files differnew file mode 100644 index 000000000..8d0f093e6 --- /dev/null +++ b/spss.test/lib/iaik-moa-20030703/iaik_jce_full.jar diff --git a/spss.test/lib/iaik-moa-20030703/ixsil.jar b/spss.test/lib/iaik-moa-20030703/ixsil.jar Binary files differnew file mode 100644 index 000000000..606430367 --- /dev/null +++ b/spss.test/lib/iaik-moa-20030703/ixsil.jar diff --git a/spss.test/lib/iaik-moa-20030703/signed/iaikPkcs11Provider_signed.jar b/spss.test/lib/iaik-moa-20030703/signed/iaikPkcs11Provider_signed.jar Binary files differnew file mode 100644 index 000000000..fd56f9911 --- /dev/null +++ b/spss.test/lib/iaik-moa-20030703/signed/iaikPkcs11Provider_signed.jar diff --git a/spss.test/lib/iaik-moa-20030703/signed/iaik_ecc.jar b/spss.test/lib/iaik-moa-20030703/signed/iaik_ecc.jar Binary files differnew file mode 100644 index 000000000..4279ff571 --- /dev/null +++ b/spss.test/lib/iaik-moa-20030703/signed/iaik_ecc.jar diff --git a/spss.test/lib/iaik-moa-20030703/signed/iaik_jce_full.jar b/spss.test/lib/iaik-moa-20030703/signed/iaik_jce_full.jar Binary files differnew file mode 100644 index 000000000..13f0b90be --- /dev/null +++ b/spss.test/lib/iaik-moa-20030703/signed/iaik_jce_full.jar diff --git a/spss.test/lib/iaik-moa-20030703/win32/pkcs11wrapper.dll b/spss.test/lib/iaik-moa-20030703/win32/pkcs11wrapper.dll Binary files differnew file mode 100644 index 000000000..dcc61609e --- /dev/null +++ b/spss.test/lib/iaik-moa-20030703/win32/pkcs11wrapper.dll diff --git a/spss.test/lib/iaik_javax_crypto.jar b/spss.test/lib/iaik_javax_crypto.jar Binary files differnew file mode 100644 index 000000000..04ce59443 --- /dev/null +++ b/spss.test/lib/iaik_javax_crypto.jar diff --git a/spss.test/lib/jaxen-1.0/jaxen-core.jar b/spss.test/lib/jaxen-1.0/jaxen-core.jar Binary files differnew file mode 100644 index 000000000..e52bf679c --- /dev/null +++ b/spss.test/lib/jaxen-1.0/jaxen-core.jar diff --git a/spss.test/lib/jaxen-1.0/jaxen-dom.jar b/spss.test/lib/jaxen-1.0/jaxen-dom.jar Binary files differnew file mode 100644 index 000000000..1a9926357 --- /dev/null +++ b/spss.test/lib/jaxen-1.0/jaxen-dom.jar diff --git a/spss.test/lib/jaxen-1.0/saxpath.jar b/spss.test/lib/jaxen-1.0/saxpath.jar Binary files differnew file mode 100644 index 000000000..2b43955ba --- /dev/null +++ b/spss.test/lib/jaxen-1.0/saxpath.jar diff --git a/spss.test/lib/jaxp-1.2_01/dom.jar b/spss.test/lib/jaxp-1.2_01/dom.jar Binary files differnew file mode 100644 index 000000000..f91f80a8b --- /dev/null +++ b/spss.test/lib/jaxp-1.2_01/dom.jar diff --git a/spss.test/lib/jaxp-1.2_01/jaxp-api.jar b/spss.test/lib/jaxp-1.2_01/jaxp-api.jar Binary files differnew file mode 100644 index 000000000..7a3295ee6 --- /dev/null +++ b/spss.test/lib/jaxp-1.2_01/jaxp-api.jar diff --git a/spss.test/lib/jaxp-1.2_01/sax.jar b/spss.test/lib/jaxp-1.2_01/sax.jar Binary files differnew file mode 100644 index 000000000..9ffb844e5 --- /dev/null +++ b/spss.test/lib/jaxp-1.2_01/sax.jar diff --git a/spss.test/lib/jce.jar b/spss.test/lib/jce.jar Binary files differnew file mode 100644 index 000000000..0809ec1af --- /dev/null +++ b/spss.test/lib/jce.jar diff --git a/spss.test/lib/jprov.jar b/spss.test/lib/jprov.jar Binary files differnew file mode 100644 index 000000000..dc3563ec7 --- /dev/null +++ b/spss.test/lib/jprov.jar diff --git a/spss.test/lib/jsse-1.0.3_01/jcert.jar b/spss.test/lib/jsse-1.0.3_01/jcert.jar Binary files differnew file mode 100644 index 000000000..d33134214 --- /dev/null +++ b/spss.test/lib/jsse-1.0.3_01/jcert.jar diff --git a/spss.test/lib/jsse-1.0.3_01/jnet.jar b/spss.test/lib/jsse-1.0.3_01/jnet.jar Binary files differnew file mode 100644 index 000000000..e1d340093 --- /dev/null +++ b/spss.test/lib/jsse-1.0.3_01/jnet.jar diff --git a/spss.test/lib/jsse-1.0.3_01/jsse.jar b/spss.test/lib/jsse-1.0.3_01/jsse.jar Binary files differnew file mode 100644 index 000000000..123188c5e --- /dev/null +++ b/spss.test/lib/jsse-1.0.3_01/jsse.jar diff --git a/spss.test/lib/xalan-j-2.2/bsf.jar b/spss.test/lib/xalan-j-2.2/bsf.jar Binary files differnew file mode 100644 index 000000000..19036c1bc --- /dev/null +++ b/spss.test/lib/xalan-j-2.2/bsf.jar diff --git a/spss.test/lib/xalan-j-2.2/xalan.jar b/spss.test/lib/xalan-j-2.2/xalan.jar Binary files differnew file mode 100644 index 000000000..8dd6dca25 --- /dev/null +++ b/spss.test/lib/xalan-j-2.2/xalan.jar diff --git a/spss.test/lib/xerces-j-2.0.2/xercesImpl.jar b/spss.test/lib/xerces-j-2.0.2/xercesImpl.jar Binary files differnew file mode 100644 index 000000000..f25d73cd7 --- /dev/null +++ b/spss.test/lib/xerces-j-2.0.2/xercesImpl.jar diff --git a/spss.test/lib/xerces-j-2.0.2/xmlParserAPIs.jar b/spss.test/lib/xerces-j-2.0.2/xmlParserAPIs.jar Binary files differnew file mode 100644 index 000000000..c1fa1d645 --- /dev/null +++ b/spss.test/lib/xerces-j-2.0.2/xmlParserAPIs.jar diff --git a/spss.test/resources/100kb.txt b/spss.test/resources/100kb.txt new file mode 100644 index 000000000..486169d0f --- /dev/null +++ b/spss.test/resources/100kb.txt @@ -0,0 +1 @@ +Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Some
\ No newline at end of file diff --git a/spss.test/resources/10kb.txt b/spss.test/resources/10kb.txt new file mode 100644 index 000000000..f944d657e --- /dev/null +++ b/spss.test/resources/10kb.txt @@ -0,0 +1 @@ +Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be
\ No newline at end of file diff --git a/spss.test/resources/1kb.txt b/spss.test/resources/1kb.txt new file mode 100644 index 000000000..3c408baa2 --- /dev/null +++ b/spss.test/resources/1kb.txt @@ -0,0 +1 @@ +Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to
\ No newline at end of file diff --git a/spss.test/resources/1mb.txt b/spss.test/resources/1mb.txt new file mode 100644 index 000000000..b3bb7dddc --- /dev/null +++ b/spss.test/resources/1mb.txt @@ -0,0 +1 @@ +Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to b
\ No newline at end of file diff --git a/spss.test/resources/20kb.txt b/spss.test/resources/20kb.txt new file mode 100644 index 000000000..71f407d5a --- /dev/null +++ b/spss.test/resources/20kb.txt @@ -0,0 +1 @@ +Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Someth
\ No newline at end of file diff --git a/spss.test/resources/500kb.txt b/spss.test/resources/500kb.txt new file mode 100644 index 000000000..02afda5fb --- /dev/null +++ b/spss.test/resources/500kb.txt @@ -0,0 +1 @@ +Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Sign
\ No newline at end of file diff --git a/spss.test/resources/50kb.txt b/spss.test/resources/50kb.txt new file mode 100644 index 000000000..6c810121f --- /dev/null +++ b/spss.test/resources/50kb.txt @@ -0,0 +1 @@ +Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) Something to be Signed :) So
\ No newline at end of file diff --git a/spss.test/resources/BookData.xml b/spss.test/resources/BookData.xml new file mode 100644 index 000000000..0d18d79d3 --- /dev/null +++ b/spss.test/resources/BookData.xml @@ -0,0 +1 @@ +<?xml version="1.0" encoding="UTF-8"?><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>
\ No newline at end of file diff --git a/spss.test/resources/BookData_wo_NS.xml b/spss.test/resources/BookData_wo_NS.xml new file mode 100644 index 000000000..d52f3890b --- /dev/null +++ b/spss.test/resources/BookData_wo_NS.xml @@ -0,0 +1 @@ +<?xml version="1.0" encoding="UTF-8"?><book hardback="yes"><title>Gesundheitliche <!--Comment -->Auswirkungen elektronischer Signaturen</title><first-name>Ellipse</first-name><last-name>Kurvenreich</last-name><birth-date>1951-04-16</birth-date><birth-location>Hinterm Berg</birth-location><register-number>6-930-21512-12</register-number></book>
\ No newline at end of file diff --git a/spss.test/resources/CSEP.xml b/spss.test/resources/CSEP.xml new file mode 100644 index 000000000..708cdd328 --- /dev/null +++ b/spss.test/resources/CSEP.xml @@ -0,0 +1 @@ +<?xml version="1.0" encoding="UTF-8"?><CreateSignatureEnvironmentProfile xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><CreateSignatureLocation Index="0">/data:Document</CreateSignatureLocation></CreateSignatureEnvironmentProfile>
\ No newline at end of file diff --git a/spss.test/resources/CX1_book.xsl b/spss.test/resources/CX1_book.xsl new file mode 100644 index 000000000..b484b9583 --- /dev/null +++ b/spss.test/resources/CX1_book.xsl @@ -0,0 +1 @@ +<?xml version="1.0" encoding="UTF-8"?><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>
\ No newline at end of file diff --git a/spss.test/resources/CX1_book_not_here.xsl b/spss.test/resources/CX1_book_not_here.xsl new file mode 100644 index 000000000..b484b9583 --- /dev/null +++ b/spss.test/resources/CX1_book_not_here.xsl @@ -0,0 +1 @@ +<?xml version="1.0" encoding="UTF-8"?><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>
\ No newline at end of file diff --git a/spss.test/resources/CX1_bookprofile.xsl b/spss.test/resources/CX1_bookprofile.xsl new file mode 100644 index 000000000..ca41d793f --- /dev/null +++ b/spss.test/resources/CX1_bookprofile.xsl @@ -0,0 +1 @@ +<?xml version="1.0" encoding="UTF-8"?><CreateTransformsInfoProfile xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><CreateTransformsInfo><dsig:Transforms xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><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></dsig:Transforms><FinalDataMetaInfo><MimeType>text/html</MimeType></FinalDataMetaInfo></CreateTransformsInfo></CreateTransformsInfoProfile>
\ No newline at end of file diff --git a/spss.test/resources/CX1_bookref.xsl b/spss.test/resources/CX1_bookref.xsl new file mode 100644 index 000000000..1b628fcd3 --- /dev/null +++ b/spss.test/resources/CX1_bookref.xsl @@ -0,0 +1 @@ +<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:include href="http://localhost:8080/moa-spss-testdata/resources/CX1_book.xsl"/></xsl:stylesheet>
\ No newline at end of file diff --git a/spss.test/resources/CX1_bookref_not_here.xsl b/spss.test/resources/CX1_bookref_not_here.xsl new file mode 100644 index 000000000..37ea9eaef --- /dev/null +++ b/spss.test/resources/CX1_bookref_not_here.xsl @@ -0,0 +1 @@ +<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:include href="http://localhost:8080/moa-spss-testdata/resources/CX1_book_not_here.xsl"/></xsl:stylesheet>
\ No newline at end of file diff --git a/spss.test/resources/DSA.1024.p12 b/spss.test/resources/DSA.1024.p12 Binary files differnew file mode 100644 index 000000000..e180e607d --- /dev/null +++ b/spss.test/resources/DSA.1024.p12 diff --git a/spss.test/resources/DSA.512.p12 b/spss.test/resources/DSA.512.p12 Binary files differnew file mode 100644 index 000000000..8f7a201ac --- /dev/null +++ b/spss.test/resources/DSA.512.p12 diff --git a/spss.test/resources/HSMRSAKEY.cer b/spss.test/resources/HSMRSAKEY.cer new file mode 100644 index 000000000..222fa8142 --- /dev/null +++ b/spss.test/resources/HSMRSAKEY.cer @@ -0,0 +1,13 @@ +-----BEGIN CERTIFICATE-----
+MIIB6TCCAVICASowDQYJKoZIhvcNAQEFBQAwPTESMBAGA1UEAxMJSFNNUlNBS0VZ
+MQwwCgYDVQQKEwNCUloxDDAKBgNVBAsTA01PQTELMAkGA1UEBhMCQVQwHhcNMDMw
+MzA2MTYxMzIwWhcNMDQwMzA2MTYxMzIwWjA9MRIwEAYDVQQDEwlIU01SU0FLRVkx
+DDAKBgNVBAoTA0JSWjEMMAoGA1UECxMDTU9BMQswCQYDVQQGEwJBVDCBnzANBgkq
+hkiG9w0BAQEFAAOBjQAwgYkCgYEAw+chYCv2l01xPWi3Y6Sss3PsB7qGgKBn28lC
+x2a/OjTnutCZ2pUWmcj5H4hR8zCiLvQ02wfzL0fbDKNgvLZtoQTxXVTi9LKOQ4ZT
+TpGrylJsBw1E/Lr0lfntAmukxBGKiRp6VUKt7mANeCSVI8U2GJ9ZCOALBLMbGy96
+hU1h180CAwD4KzANBgkqhkiG9w0BAQUFAAOBgQBCZfvgNdomKUx6qaCCkxWXU7An
+Yk7UyMPQdbMkL6g2gqpyOy4ubGBmu/fbGmWFmh36BmJqFQdKMsjPUqlbX/NzSNVX
+qV6sViyEi44eIRPX+eQbnxN14hH2+seKYUPmSxppyB+IJ1egvQGGFN24HrJImP6c
+5lhtkYVThTkMHDvGPg==
+-----END CERTIFICATE-----
diff --git a/spss.test/resources/IAIKRootMusterbehoerde.cer b/spss.test/resources/IAIKRootMusterbehoerde.cer Binary files differnew file mode 100644 index 000000000..21dc972b9 --- /dev/null +++ b/spss.test/resources/IAIKRootMusterbehoerde.cer diff --git a/spss.test/resources/Max_Mustermann (max).p12 b/spss.test/resources/Max_Mustermann (max).p12 Binary files differnew file mode 100644 index 000000000..b18a842e2 --- /dev/null +++ b/spss.test/resources/Max_Mustermann (max).p12 diff --git a/spss.test/resources/Max_Mustermann.cer b/spss.test/resources/Max_Mustermann.cer Binary files differnew file mode 100644 index 000000000..b5b39633d --- /dev/null +++ b/spss.test/resources/Max_Mustermann.cer diff --git a/spss.test/resources/SignatureVX005.xml b/spss.test/resources/SignatureVX005.xml new file mode 100644 index 000000000..0cbec2e6f --- /dev/null +++ b/spss.test/resources/SignatureVX005.xml @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 325--> +<dsig: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 Type="http://www.w3.org/2000/09/xmldsig#Manifest" URI="#xpointer(id('manifestObject'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>W3OgtGHJLYYnhOXqmZIW05FU5oo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>KRE56cFvvz8z3CO6JGcSLVnfzBk8onz2Ri6P5q+oNLUuP/7Pzl9kImZTophZyDkW +dh70iJ1XOKJM69WKzEtd0MhgGh4JkW6hjoaIxCjPjfE6RhUJpNSdzXSCt3izf+/p +B9dQ6nukJrDJP73qUxtBo/j/tUmbG2sxANwCtvXmHBk=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="manifestObject"><dsig:Reference URI="#xpointer(id('envelopedData')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>2jmj7l5rSw0yVb/vlWAYkK/YBwk=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="envelopedData">Dies sind Testdaten +2. Zeile Testdaten</dsig:Object></dsig:Signature>
\ No newline at end of file diff --git a/spss.test/resources/SignatureVX005Cert.xml b/spss.test/resources/SignatureVX005Cert.xml new file mode 100644 index 000000000..f6c5a8a4f --- /dev/null +++ b/spss.test/resources/SignatureVX005Cert.xml @@ -0,0 +1,21 @@ +<dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> diff --git a/spss.test/resources/SignatureVX006Document.xml b/spss.test/resources/SignatureVX006Document.xml new file mode 100644 index 000000000..0cbec2e6f --- /dev/null +++ b/spss.test/resources/SignatureVX006Document.xml @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Testnumber: 325--> +<dsig: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 Type="http://www.w3.org/2000/09/xmldsig#Manifest" URI="#xpointer(id('manifestObject'))"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>W3OgtGHJLYYnhOXqmZIW05FU5oo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>KRE56cFvvz8z3CO6JGcSLVnfzBk8onz2Ri6P5q+oNLUuP/7Pzl9kImZTophZyDkW +dh70iJ1XOKJM69WKzEtd0MhgGh4JkW6hjoaIxCjPjfE6RhUJpNSdzXSCt3izf+/p +B9dQ6nukJrDJP73qUxtBo/j/tUmbG2sxANwCtvXmHBk=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object><dsig:Manifest Id="manifestObject"><dsig:Reference URI="#xpointer(id('envelopedData')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>2jmj7l5rSw0yVb/vlWAYkK/YBwk=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="envelopedData">Dies sind Testdaten +2. Zeile Testdaten</dsig:Object></dsig:Signature>
\ No newline at end of file diff --git a/spss.test/resources/TEMPX509Data.xml b/spss.test/resources/TEMPX509Data.xml new file mode 100644 index 000000000..5214a44e2 --- /dev/null +++ b/spss.test/resources/TEMPX509Data.xml @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- edited with XML Spy v4.4 U (http://www.xmlspy.com) by Stephan Grill (Anecon) --> +<dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> + <dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate> + <dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> +</dsig:X509Data> diff --git a/spss.test/resources/TestGeneratorVX.Config.xml b/spss.test/resources/TestGeneratorVX.Config.xml new file mode 100644 index 000000000..974299c7c --- /dev/null +++ b/spss.test/resources/TestGeneratorVX.Config.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<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>
\ No newline at end of file diff --git a/spss.test/resources/VC0.011.cms.ber.b64.txt b/spss.test/resources/VC0.011.cms.ber.b64.txt new file mode 100644 index 000000000..e6e0fbd48 --- /dev/null +++ b/spss.test/resources/VC0.011.cms.ber.b64.txt @@ -0,0 +1,48 @@ +MIII2AIBATELMAkGBSsOAwIaBQAwggECBgkqhkiG9w0BBwGggfQEgfE8c2wxMDpJ +bmZvYm94UmVhZFJlcXVlc3QgeG1sbnM6c2wxMD0naHR0cDovL3d3dy5idWVyZ2Vy +a2FydGUuYXQvbmFtZXNwYWNlcy9zZWN1cml0eWxheWVyLzIwMDIwMjI1Iyc+PHNs +MTA6SW5mb2JveElkZW50aWZpZXI+SWRlbnRpdHlMaW5rPC9zbDEwOkluZm9ib3hJ +ZGVudGlmaWVyPjxzbDEwOkJpbmFyeUZpbGVQYXJhbWV0ZXJzIENvbnRlbnRJc1hN +TEVudGl0eT0ndHJ1ZScvPjwvc2wxMDpJbmZvYm94UmVhZFJlcXVlc3Q+oIIFKTCC +BSUwggQNoAMCAQICAhk3MA0GCSqGSIb3DQEBBQUAMIGhMQswCQYDVQQGEwJBVDFI +MEYGA1UEChM/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBpbSBl +bGVrdHIuIERhdGVudmVya2VociBHbWJIMSMwIQYDVQQLExphLXNpZ24tVEVTVC1Q +cmVtaXVtLUVuYy0wMTEjMCEGA1UEAxMaYS1zaWduLVRFU1QtUHJlbWl1bS1FbmMt +MDEwHhcNMDMwMjEwMTMyMDU4WhcNMDYwMjEwMTMyMDU4WjBqMQswCQYDVQQGEwJB +VDEcMBoGA1UEAxMTVGVzdHBlcnNvbiBNT0E0IEJSWjEMMAoGA1UEBBMDQlJaMRgw +FgYDVQQqEw9UZXN0cGVyc29uIE1PQTQxFTATBgNVBAUTDDc5MDE4NzQ2MTYzMzCB +nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0v1Ftf7WXgoexx0Jo/GrlExHOHnQ +IEQ5FFSjptLRd5BN1mZYRg2S9KfOMbHSCsiPm8AwjAEwE5EMA6P18Z/YyTIuP7fN +GzckbB5PYIgNMHL8/TYJhHA8CjamsBrEfYDXivE8iAvALg5I9RMLZADmzL7af2da +YYuO8dycQw3xg6UCAwEAAaOCAh8wggIbMBMGA1UdIwQMMAqACEuzgMNxkzzYMCcG +CCsGAQUFBwEDAQH/BBgwFjAIBgYEAI5GAQEwCgYIKwYBBQUHCwEwgYIGCCsGAQUF +BwEBBHYwdDApBggrBgEFBQcwAYYdaHR0cDovL3d3dy5hLXRydXN0LmF0OjgyL29j +c3AwRwYIKwYBBQUHMAKGO2h0dHA6Ly93d3cuYS10cnVzdC5hdC9jZXJ0cy9hLXNp +Z24tVEVTVC1QcmVtaXVtLVNpZy0wMWEuY3J0MIGUBgNVHSAEgYwwgYkwfQYGKigA +EQEEMHMwNQYIKwYBBQUHAgEWKWh0dHA6Ly93d3cuYS10cnVzdC5hdC9kb2NzL2Nw +L2Etc2lnbi1URVNUMDoGCCsGAQUFBwICMC4aLERpZXNlcyBaZXJ0aWZpa2F0IGRp +ZW50IG51ciB6dSBUZXN0endlY2tlbiAhMAgGBgQAizABATBvBgNVHR8EaDBmMGSg +YqBghl5sZGFwOi8vbGRhcC5hLXRydXN0LmF0L291PWEtc2lnbi1URVNULVByZW1p +dW0tRW5jLTAxLG89QS1UcnVzdCxjPUFUP2NlcnRpZmljYXRlcmV2b2NhdGlvbmxp +c3Q/MBEGA1UdDgQKBAhOA8S/ZMuDPjAOBgNVHQ8BAf8EBAMCBsAwIAYDVR0RBBkw +F4EVdGVzdHBlcnNvbjRAYnJ6Lmd2LmF0MAkGA1UdEwQCMAAwDQYJKoZIhvcNAQEF +BQADggEBAIqFb7GTfjZ0MVzExnYyr3kwTEU2Mx35ZEgvJSPV15bT+fpoyLqAdk5+ +r6KLwPHV8/Y07J0LfH/MntAi9m0kvVFQ9Y7/EqN22r6rlvh5ZGQQGby9/QDzSz41 +FJ1p9EDp60ACeluO1MBgFIBMNynAXCWhGuF2//JFI+tfMRs1pel9JirFacZK3/uQ +o/p5sA6goZZdPP/dDJoUmODORa75kPRowDeRR1bJNBT6dNrSgkc6ASbc6QdQ1ih5 +YIgx1AF8uXg9FyOz13mzzWeCJ72P4wvyB/D0S3SU9uPWEJlMWeJ3k7RQ72/AtUIe +pO9uX4d4Vcal/GcMFo/fohkFZOdytwgxggKRMIICjQIBATCBqDCBoTELMAkGA1UE +BhMCQVQxSDBGBgNVBAoTP0EtVHJ1c3QgR2VzLiBmLiBTaWNoZXJoZWl0c3N5c3Rl +bWUgaW0gZWxla3RyLiBEYXRlbnZlcmtlaHIgR21iSDEjMCEGA1UECxMaYS1zaWdu +LVRFU1QtUHJlbWl1bS1FbmMtMDExIzAhBgNVBAMTGmEtc2lnbi1URVNULVByZW1p +dW0tRW5jLTAxAgIZNzAJBgUrDgMCGgUAoIIBPjAjBgkqhkiG9w0BCQQxFgQU7Cdd +FuGLuHFvEIPT80IThplXPXowNAYLKoZIhvcNAQkQAgQxJTAjDBZ0ZXh0L3htbDtj +aGFyc2V0PVVURi04BgkqhkiG9w0BBwEwgeAGCyqGSIb3DQEJEAITMYHQMIHNMIHK +MIHHBBQWuG7WjiYviBAd0lxTTFID+HgI4TCBrjCBp6SBpDCBoTELMAkGA1UEBhMC +QVQxSDBGBgNVBAoTP0EtVHJ1c3QgR2VzLiBmLiBTaWNoZXJoZWl0c3N5c3RlbWUg +aW0gZWxla3RyLiBEYXRlbnZlcmtlaHIgR21iSDEjMCEGA1UECxMaYS1zaWduLVRF +U1QtUHJlbWl1bS1FbmMtMDExIzAhBgNVBAMTGmEtc2lnbi1URVNULVByZW1pdW0t +RW5jLTAxAgIZNzANBgkqhkiG9w0BAQEFAASBgJCZ0BwFdXjChqrS8cHWJcqfe+up +x4VVNV1YOJil/KWMuBCn3DHQsbBFJFrmGUUJGenBbre5L86brr43NwvndrtyyRrw +vG4/QWmYIxowXKuRlqGDCOmTaC6ddrjyVxQ54yal+XhlrWfc6kcdb6NK6dt6X7wR + diff --git a/spss.test/resources/VX.006DTD.dtd b/spss.test/resources/VX.006DTD.dtd new file mode 100644 index 000000000..87f31bb13 --- /dev/null +++ b/spss.test/resources/VX.006DTD.dtd @@ -0,0 +1 @@ +<!ELEMENT Document ANY><!ATTLIST Document Id ID #REQUIRED>
diff --git a/spss.test/resources/VX.006Schema.xsd b/spss.test/resources/VX.006Schema.xsd new file mode 100644 index 000000000..4689999e8 --- /dev/null +++ b/spss.test/resources/VX.006Schema.xsd @@ -0,0 +1 @@ +<xsd:schema targetNamespace="http://uri.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>
\ No newline at end of file diff --git a/spss.test/resources/VX.006xmlData.xml b/spss.test/resources/VX.006xmlData.xml new file mode 100644 index 000000000..6bfa86556 --- /dev/null +++ b/spss.test/resources/VX.006xmlData.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="utf-8"?> +<data:Document xmlns:data="http://uri.data.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://localhost:8080/moa-spss-testdata/resources/VX.006Schema.xsd">daten</data:Document> diff --git a/spss.test/resources/VX.007DTD.dtd b/spss.test/resources/VX.007DTD.dtd new file mode 100644 index 000000000..e80a08a2a --- /dev/null +++ b/spss.test/resources/VX.007DTD.dtd @@ -0,0 +1,2 @@ +<!ELEMENT Document (#PCDATA|ANY)*>
+<!ATTLIST Document Id ID #REQUIRED>
diff --git a/spss.test/resources/VX2_book0.xsl b/spss.test/resources/VX2_book0.xsl new file mode 100644 index 000000000..7c570de73 --- /dev/null +++ b/spss.test/resources/VX2_book0.xsl @@ -0,0 +1 @@ +<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output method="html" indent="no"/><xsl:template match="/"><HTML><BODY><h1>Ueberschrift</h1><xsl:apply-templates/></BODY></HTML></xsl:template></xsl:stylesheet>
\ No newline at end of file diff --git a/spss.test/resources/VX2_book1.xsl b/spss.test/resources/VX2_book1.xsl new file mode 100644 index 000000000..23e03a51a --- /dev/null +++ b/spss.test/resources/VX2_book1.xsl @@ -0,0 +1 @@ +<?xml version="1.0" encoding="UTF-8"?><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"><H1>Buch: <xsl:value-of select="data:title"/></H1></xsl:template></xsl:stylesheet>
\ No newline at end of file diff --git a/spss.test/resources/VX2_bookref2includes.xsl b/spss.test/resources/VX2_bookref2includes.xsl new file mode 100644 index 000000000..68add69db --- /dev/null +++ b/spss.test/resources/VX2_bookref2includes.xsl @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> + <xsl:include href="http://localhost:8080/moa-spss-testdata/resources/VX2_book0.xsl"/> + <xsl:include href="http://localhost:8080/moa-spss-testdata/resources/VX2_book1.xsl"/> +</xsl:stylesheet> diff --git a/spss.test/resources/X509Data.xml b/spss.test/resources/X509Data.xml new file mode 100644 index 000000000..5214a44e2 --- /dev/null +++ b/spss.test/resources/X509Data.xml @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- edited with XML Spy v4.4 U (http://www.xmlspy.com) by Stephan Grill (Anecon) --> +<dsig:X509Data xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> + <dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate> + <dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate> +</dsig:X509Data> diff --git a/spss.test/resources/algorithms.properties b/spss.test/resources/algorithms.properties new file mode 100644 index 000000000..72c155c5f --- /dev/null +++ b/spss.test/resources/algorithms.properties @@ -0,0 +1,94 @@ +# IXSIL algorithm properties +# +# This file contains the properties which IXSIL uses to maintain the available algorithms. + + + +#---------------------------------------------------------------------------------------------------------- +# Canonicalization algorithms +# +# The following properties (starting with "Canonicalization.") are associations between canonicalization +# algorithm URIs and their corresponding implementation classes. +# +# For instance, if you would like to specify the implementation class for the canonicalization algorithm +# with the identifying URI "http://www.w3.org/TR/2001/REC-xml-c14n-20010315", the name of the algorithm +# property is "Canonicalization.http://www.w3.org/TR/2001/REC-xml-c14n-20010315", i.e. the identifying URI, +# prepended by the canonicalization algorithm property identifier ("Canonicalization."). The value of the +# property is the fully qualified class name of the implementation for this algorithm, for instance the +# standard impl. shipped with IXSIL, "iaik.ixsil.algorithms.CanonicalizationAlgorithmImplCanonicalXML". +# +# PLEASE NOTE: The colon character (":") must be escaped by a leading backslash, if it appears in the +# property name. + +Canonicalization.http\://www.w3.org/TR/2001/REC-xml-c14n-20010315 = iaik.ixsil.algorithms.CanonicalizationAlgorithmImplCanonicalXML +Canonicalization.http\://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments = iaik.ixsil.algorithms.CanonicalizationAlgorithmImplCanonicalXMLWithComments +Canonicalization.http\://www.w3.org/2001/10/xml-exc-c14n# = iaik.ixsil.algorithms.CanonicalizationAlgorithmImplExclusiveCanonicalXML +Canonicalization.http\://www.w3.org/2001/10/xml-exc-c14n#WithComments = iaik.ixsil.algorithms.CanonicalizationAlgorithmImplExclusiveCanonicalXMLWithComments + +#---------------------------------------------------------------------------------------------------------- +# Signature algorithms +# +# The following properties (starting with "Signature.") are associations between signature algorithm URIs and +# their corresponding implementation classes. +# +# For instance, if you would like to specify the implementation class for the signature algorithm +# with the identifying URI "http://www.w3.org/2000/09/xmldsig#rsa-sha1", the name of the algorithm +# property is "Signature.http://www.w3.org/2000/09/xmldsig#rsa-sha1", i.e. the identifying URI, +# prepended by the signature algorithm property identifier ("Signature."). The value of the +# property is the fully qualified class name of the implementation for this algorithm, for instance the +# standard implementation shipped with IXSIL, "iaik.ixsil.algorithms.SignatureAlgorithmImplRSA". +# +# PLEASE NOTE: The colon character (":") must be escaped by a leading backslash, if it appears in the +# property name. + +Signature.http\://www.w3.org/2000/09/xmldsig#rsa-sha1 = iaik.ixsil.algorithms.SignatureAlgorithmImplRSA +Signature.http\://www.w3.org/2000/09/xmldsig#dsa-sha1 = iaik.ixsil.algorithms.SignatureAlgorithmImplDSA +Signature.http\://www.w3.org/2000/09/xmldsig#hmac-sha1 = iaik.ixsil.algorithms.SignatureAlgorithmImplHMAC +Signature.http\://www.buergerkarte.at/namespaces/ecdsa/200206030#ecdsa-sha1 = iaik.ixsil.algorithms.SignatureAlgorithmImplECDSA + + +#---------------------------------------------------------------------------------------------------------- +# Digest algorithms +# +# The following properties (starting with "Digest.") are associations between digest algorithm URIs and +# their corresponding implementation classes. +# +# For instance, if you would like to specify the implementation class for the digest algorithm +# with the identifying URI "http://www.w3.org/2000/09/xmldsig#sha1", the name of the algorithm +# property is "Digest.http://www.w3.org/2000/09/xmldsig#sha1", i.e. the identifying URI, +# prepended by the digest algorithm property identifier ("Digest."). The value of the +# property is the fully qualified class name of the implementation for this algorithm, for instance the +# standard implementation shipped with IXSIL, "iaik.ixsil.algorithms.DigestAlgorithmImplSHA1". +# +# PLEASE NOTE: The colon character (":") must be escaped by a leading backslash, if it appears in the +# property name. + +Digest.http\://www.w3.org/2000/09/xmldsig#sha1 = iaik.ixsil.algorithms.DigestAlgorithmImplSHA1 + + + +#---------------------------------------------------------------------------------------------------------- +# Transform algorithms +# +# The following properties (starting with "Transform.") are associations between digest algorithm URIs and +# their corresponding implementation classes. +# +# For instance, if you would like to specify the implementation class for the transform algorithm +# with the identifying URI "http://www.w3.org/2000/09/xmldsig#base64", the name of the algorithm +# property is "Transform.http://www.w3.org/2000/09/xmldsig#base64", i.e. the identifying URI, +# prepended by the transform algorithm property identifier ("Transform."). The value of the +# property is the fully qualified class name of the implementation for this algorithm, for instance the +# standard implementation shipped with IXSIL, "iaik.ixsil.algorithms.TransformImplBase64Decode". +# +# PLEASE NOTE: The colon character (":") must be escaped by a leading backslash, if it appears in the +# property name. + +Transform.http\://www.w3.org/TR/2001/REC-xml-c14n-20010315 = iaik.ixsil.algorithms.TransformImplCanonicalXML +Transform.http\://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments = iaik.ixsil.algorithms.TransformImplCanonicalXMLWithComments +Transform.http\://www.w3.org/2001/10/xml-exc-c14n# = iaik.ixsil.algorithms.TransformImplExclusiveCanonicalXML +Transform.http\://www.w3.org/2001/10/xml-exc-c14n#WithComments = iaik.ixsil.algorithms.TransformImplExclusiveCanonicalXMLWithComments +Transform.http\://www.w3.org/2000/09/xmldsig#base64 = iaik.ixsil.algorithms.TransformImplBase64Decode +Transform.http\://www.w3.org/TR/1999/REC-xpath-19991116 = iaik.ixsil.algorithms.TransformImplXPath +Transform.http\://www.w3.org/2000/09/xmldsig#enveloped-signature = iaik.ixsil.algorithms.TransformImplEnvelopedSignature +Transform.http\://www.w3.org/TR/1999/REC-xslt-19991116 = iaik.ixsil.algorithms.TransformImplXSLT +Transform.http\://www.w3.org/2002/06/xmldsig-filter2 = iaik.ixsil.algorithms.TransformImplXPath2 diff --git a/spss.test/resources/client.keystore b/spss.test/resources/client.keystore Binary files differnew file mode 100644 index 000000000..4b489f259 --- /dev/null +++ b/spss.test/resources/client.keystore diff --git a/spss.test/resources/cms.keystore b/spss.test/resources/cms.keystore Binary files differnew file mode 100644 index 000000000..c8dc364ba --- /dev/null +++ b/spss.test/resources/cms.keystore diff --git a/spss.test/resources/documents/bookData.xml b/spss.test/resources/documents/bookData.xml new file mode 100644 index 000000000..81f9ba5d0 --- /dev/null +++ b/spss.test/resources/documents/bookData.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<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> diff --git a/spss.test/resources/documents/simpleSignature.xml b/spss.test/resources/documents/simpleSignature.xml new file mode 100644 index 000000000..6f235d95c --- /dev/null +++ b/spss.test/resources/documents/simpleSignature.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8"?> +<dsig: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 URI="http://localhost:8080/moa-spss-testdata/resources/testSimple.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>O3POtgZXrGmw+2btYrduSvptSdo=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Jl++3waHGFPf3UiFRyU8y1A95bEYnczE8lqin81AMWWFfmzFsghCKP77H/nyVnfW +2PpmSX/qhu4Cwk9MIyWMLSFRm60xEtlo4hy4oMuCB2xXEFQOyyZhPSIRHW1TrxRW +NF/Dn2vuP9xTuxzfefVNCCdPoh8OBmk4lSoayoylPM4=</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==</dsig:X509Certificate><dsig:X509Certificate>MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo></dsig:Signature>
\ No newline at end of file diff --git a/spss.test/resources/documents/testDaten.txt b/spss.test/resources/documents/testDaten.txt new file mode 100644 index 000000000..2602728cd --- /dev/null +++ b/spss.test/resources/documents/testDaten.txt @@ -0,0 +1,4 @@ +Dies sind Testdaten +2. Zeile +3. Zeile +aus
\ No newline at end of file diff --git a/spss.test/resources/documents/testSimple.txt b/spss.test/resources/documents/testSimple.txt new file mode 100644 index 000000000..76d2fc51a --- /dev/null +++ b/spss.test/resources/documents/testSimple.txt @@ -0,0 +1 @@ +Dies sind Testdaten
\ No newline at end of file diff --git a/spss.test/resources/ecc(ego).p12 b/spss.test/resources/ecc(ego).p12 Binary files differnew file mode 100644 index 000000000..f84e793c5 --- /dev/null +++ b/spss.test/resources/ecc(ego).p12 diff --git a/spss.test/resources/ecc.p12 b/spss.test/resources/ecc.p12 Binary files differnew file mode 100644 index 000000000..f84e793c5 --- /dev/null +++ b/spss.test/resources/ecc.p12 diff --git a/spss.test/resources/ecdsa_root_cert.cer b/spss.test/resources/ecdsa_root_cert.cer Binary files differnew file mode 100644 index 000000000..dac166e9a --- /dev/null +++ b/spss.test/resources/ecdsa_root_cert.cer diff --git a/spss.test/resources/envDoc.xml b/spss.test/resources/envDoc.xml new file mode 100644 index 000000000..e9119b952 --- /dev/null +++ b/spss.test/resources/envDoc.xml @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- edited with XMLSPY v5 rel. 3 U (http://www.xmlspy.com) by My Name (My Company) --> +<env:Document xmlns:env="http://uri.env.org">Text</env:Document> diff --git a/spss.test/resources/hsmc.cer b/spss.test/resources/hsmc.cer new file mode 100644 index 000000000..160390f35 --- /dev/null +++ b/spss.test/resources/hsmc.cer @@ -0,0 +1,13 @@ +-----BEGIN CERTIFICATE-----
+MIIB7zCCAVgCAQEwDQYJKoZIhvcNAQEFBQAwQDEVMBMGA1UEAxMMTU9BSFNNUlNB
+S0VZMQwwCgYDVQQKEwNCUloxDDAKBgNVBAsTA01PQTELMAkGA1UEBhMCQVQwHhcN
+MDMwNDA3MTQwNzM3WhcNMDQwNDA3MTQwNzM3WjBAMRUwEwYDVQQDEwxNT0FIU01S
+U0FLRVkxDDAKBgNVBAoTA0JSWjEMMAoGA1UECxMDTU9BMQswCQYDVQQGEwJBVDCB
+nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAuQJeLj5quuES22ZlXY2W5C/JF/7a
+WZM/EBj2hZff3i66IQYe3272E9p1utzIGvY3AfAlW0sKiOhZUpOnvFlAn+Bl86J2
+kE/mQMgVHd4fxb3onCNA+x/x5BdYVdx35il6iQy9xE0kpc01CMrUMMy0+GMcz4OR
+ziJf0WHsi9JL1nECAwCYrzANBgkqhkiG9w0BAQUFAAOBgQCDpmYSMnkjfJ4JXwwc
+Y6eqqiDBexZeVwNLjjJxwf5md4ZRiewwfY3aydcA8ffjcUh4/5XXdn5y2S2n8JEg
+N2EuHHC+k/CE2JJJylkikltE+nawdfa6MukhQ0sPKjyJ+Nr2nXOwX6O2bveaTw9J
+E2+9uU+Tuf4VG9HEHEL+IaU2tA==
+-----END CERTIFICATE-----
diff --git a/spss.test/resources/init.properties b/spss.test/resources/init.properties new file mode 100644 index 000000000..9ddde365e --- /dev/null +++ b/spss.test/resources/init.properties @@ -0,0 +1,214 @@ +# IXSIL init properties +# +# This file contains the basic initialization properties for IXSIL. + +#---------------------------------------------------------------------------------------------------------- +# Properties for localizing exeption messages + +# This property specifies the ISO language code, which is used to select the appropriate exception message +# file. Please see the documentation for Java class "java.util.RessourceBundle" for further information. + +IXSILException.ISOLanguageCode = "en" + + + +# This property specifies the ISO country code, which is used to select the appropriate exception message +# file. Please see the documentation for Java class "java.util.RessourceBundle" for further information. + +IXSILException.ISOCountryCode = "US" + + +#---------------------------------------------------------------------------------------------------------- +# Other property files + +# This property contains a URI specifying the (virtual) location of the IXSIL init properties file (i. e. +# this file). The URI MUST be absolute. +# +# The use of this property is optional. It is only needed by IXSIL, if the library will be initialized using +# the method IXSILInit.init(Properties, Properties, Properties). In this case it is used by IXSIL as the +# base URI for absolutizing other property URIs, such as "DOMUtils.SignatureSchema" (see below). +# +# PLEASE NOTE: Contrary to URIs under e.g. http or ftp scheme, URIs under file and jar scheme do not have an +# authority component. This means that the part following the scheme identifier starts with "/" +# (single slash character), and not with "//" (two slash characters). +# +# Example 1 (absolute URI under file scheme): "file:/c:/path1/path2/init.properties" +# Example 2 (absolute URI under jar scheme): "jar:/file:/c:/path1/path2/archive.jar!/init.properties" +# Example 3 (absolute URI under http scheme): "http://somewhere.org/path1/path2/init.properties" + +location.initProperties = file:/z:/private/IXSIL/currentDevelopment/src/init/properties/init.properties + + + +# This property contains a URI specifying the location of the IXSIL algorithm properties file. The URI can +# be absolute or relative. If a relative URI is used, it will be absolutized using this init property file's +# URI as the base. +# +# PLEASE NOTE: Contrary to URIs under e.g. http or ftp scheme, URIs under file and jar scheme do not have an +# authority component. This means that the part following the scheme identifier starts with "/" +# (single slash character), and not with "//" (two slash characters). +# +# Example 1 (absolute URI under file scheme): "file:/c:/path1/path2/algorithms.properties" +# Example 2 (absolute URI under jar scheme): "jar:/file:/c:/path1/path2/archive.jar!/algorithms.properties" +# Example 3 (absolute URI under http scheme): "http://somewhere.org/path1/path2/algorithms.properties" +# Example 4 (relative URI): "../otherpath/algorithms.properties" +# Example 5 (relative URI): "algorithms.properties" + +location.algorithmsProperties = algorithms.properties + + + +# This property contains a URI specifying the location of the IXSIL keyManager properties file. The URI can +# be absolute or relative. If a relative URI is used, it will be absolutized using this init property file's +# URI as the base. +# +# PLEASE NOTE: Contrary to URIs under e.g. http or ftp scheme, URIs under file and jar scheme do not have an +# authority component. This means that the part following the scheme identifier starts with "/" +# (single slash character), and not with "//" (two slash characters). +# +# Example 1 (absolute URI under file scheme): "file:/c:/path1/path2/keyManager.properties" +# Example 2 (absolute URI under jar scheme): "jar:/file:/c:/path1/path2/archive.jar!/keyManager.properties" +# Example 3 (absolute URI under http scheme): "http://somewhere.org/path1/path2/keyManager.properties" +# Example 4 (relative URI): "../otherpath/keyManager.properties" +# Example 5 (relative URI): "keyManager.properties" + +location.keyManagerProperties = keyManager.properties + + + +#---------------------------------------------------------------------------------------------------------- +# AlgorithmFactory properties + + + +This property specifies the extension class for the abstract class +iaik.ixsil.algorithms.AlgorithmFactory, which is instantiated at invokation of method +iaik.ixsil.algorithms.AlgorithmFactory.createFactory(). +Please specifiy the fully qualified java class name for the class to be instantiated. + +AlgorithmFactory.ImplementingClass = iaik.ixsil.algorithms.AlgorithmFactoryDefaultImpl + + + +#---------------------------------------------------------------------------------------------------------- +# VerifierKeyManager properties + +# This property specifies the implementation class for the interface +# iaik.ixsil.keyinfo.VerifierKeyManager, which is instantiated by IXSIL in the verification use case, if the +# signature algorithm does not know about the verification key, and if the XML signature bears a KeyInfo +# element which contains hints that can be used to deduce the verification key. +# Please specifiy the fully qualified java class name for the class to be instantiated. + +VerifierKeyManager.ImplementingClass = iaik.ixsil.keyinfo.KeyManagerImpl + + + +#---------------------------------------------------------------------------------------------------------- +# XML namespace prefix properties + +# This property specifies the namespace prefix used for XML elements from the XML-Signature namespace. +# +# PLEASE NOTE: The prefix must not be empty. + +namespacePrefix.XMLSignature = dsig: + + + +# This property specifies the namespace prefix used for XML elements from the XML Schema instance namespace. +# +# PLEASE NOTE: The prefix must not be empty. + +namespacePrefix.XMLSchemaInstance = xsi: + + +#---------------------------------------------------------------------------------------------------------- +# DOMUtils properties + + + +# This property specifies the implementation class IXSIL should use for the interface +# iaik.ixsil.util.DOMUtilsInterface, which contains a couple of DOM utility methods, which IXSIL relies +# on. If you would like to employ a parser different from Apache Xerces, you must implement the +# DOMUtilsInterface and specify your implementation class using this property. +# Please specifiy the fully qualified java class name for the class to be instantiated. + +DOMUtils.ImplementingClass = iaik.ixsil.util.DOMUtilsImpl + + + +# This property is used by the standard implementation class for the interface +# iaik.ixsil.util.DOMUtilsInterface, namely iaik.ixsil.util.DOMUtilsImpl, which ships with IXSIL. +# It specifies, wheter WARNINGS generated by the Apache Xerces parser should lead to a parser exception +# or not. + +DOMUtils.ErrorHandler.reportWarnings = true + + + +# This property is used by the standard implementation class for the interface +# iaik.ixsil.util.DOMUtilsInterface, namely iaik.ixsil.util.DOMUtilsImpl, which ships with IXSIL. +# It specifies, wheter ERRORS generated by the Apache Xerces parser should lead to a parser exception +# or not. + +DOMUtils.ErrorHandler.reportErrors = true + + + +# This property is used by the standard implementation class for the interface +# iaik.ixsil.util.DOMUtilsInterface, namely iaik.ixsil.util.DOMUtilsImpl, which ships with IXSIL. +# It specifies, wheter FATAL ERRORS generated by the Apache Xerces parser should lead to a parser +# exception or not. + +DOMUtils.ErrorHandler.reportFatalErrors = true + + + +# This property is used by the standard implementation class for the interface +# iaik.ixsil.util.DOMUtilsInterface, namely iaik.ixsil.util.DOMUtilsImpl, which ships with IXSIL. +# It specifies an URI for the location of the XML schema for an XML signature, which is used as the +# reference grammar in method iaik.ixsil.util.DOMUtilsImpl.schemaValidateSignatureElement. +# The URI can be absolute or relative. If the URI is relative, it will be absolutized using the URI for +# this init property file as the base. + +DOMUtils.SignatureSchema = ../schemas/Signature.xsd + + + +#---------------------------------------------------------------------------------------------------------- +# XPathUtils properties + +# This property specifies the implementation class IXSIL should use for the interface +# iaik.ixsil.util.XPathUtilsInterface, which contains a couple of XPath utility methods, which IXSIL relies +# on. If you would like to employ a XPath engine different from Apache Xalan, you must implement the +# XPathUtilsInterface and specify your implementation class using this property. +# Please specifiy the fully qualified java class name for the class to be instantiated. + +XPathUtils.ImplementingClass = iaik.ixsil.util.XPathUtilsImpl + + + +#---------------------------------------------------------------------------------------------------------- +# CanonicalXMLSerializer properties + + + +# This property specifies the implementation class IXSIL should use for the interface +# iaik.ixsil.util.CanonicalXMLSerialierInterface. IXSIL relies on this interface to serialize XML according +# to "Canonical XML" (see http://www.w3.org/TR/2001/REC-xml-c14n-20010315). If you would like to employ an +# implemenation different from the standard implementation shipped with IXSIL, you must implement the +# CanonicalXMLSerialierInterface and specify your implementation class using this property. +# Please specifiy the fully qualified java class name for the class to be instantiated. + +CanonicalXMLSerializer.CanonicalXMLImplementingClass = iaik.ixsil.util.CanonicalXMLSerializerImpl + + + +# This property specifies the implementation class IXSIL should use for the interface +# iaik.ixsil.util.ExclusiveCanonicalXMLSerialierInterface. IXSIL relies on this interface to serialize XML +# according to "Exclusive XML Canonicalization" (see http://www.w3.org/TR/2001/WD-xml-exc-c14n-20011120). +# If you would like to employ an implemenation different from the standard implementation shipped with +# IXSIL, you must implement the ExclusiveCanonicalXMLSerialierInterface and specify your implementation +# class using this property. +# Please specifiy the fully qualified java class name for the class to be instantiated. + +CanonicalXMLSerializer.ExclusiveCanonicalXMLImplementingClass = iaik.ixsil.util.CanonicalXMLSerializerImpl diff --git a/spss.test/resources/keyManager.properties b/spss.test/resources/keyManager.properties new file mode 100644 index 000000000..24ece437a --- /dev/null +++ b/spss.test/resources/keyManager.properties @@ -0,0 +1,74 @@ +# IXSIL algorithm properties +# +# This file contains the properties which IXSIL uses in context of key management. + + + +#---------------------------------------------------------------------------------------------------------- +# +# The following properties are associations between the fully qualified XMLname of a "KeyInfo" subelement, +# as used in an XML signature to specify hints how the verifier can obtain the verification key, and that +# implementation class of the interface iaik.ixsil.keyinfo.KeyProviderInterface, which will manage +# subelements of that type. +# +# These properties are only of interest, if you are using the standard key manager shipped with IXISL +# (which is class iaik.ixsil.keyInfo.KeyManagerImpl). +# +# For instance, if you would like to specify the key provider implementation for "KeyValue" subelements, +# the property name is the fully qualified XML name for the "KeyValue" element, namely +# "http://www.w3.org/2000/09/xmldsig#:KeyValue". The value of the property is the fully qualified class +# name of the key provider implementation class, for instance the standard implementation which ships with +# IXSIL: "iaik.ixsil.keyinfo.KeyProviderImplKeyValue". +# +# PLEASE NOTE (I): A fully qualified name for an XML element consists of an URI indicating the namespace the +# element belongs to (e.g. "http://www.w3.org/2000/09/xmldsig#") and the local name of the +# element (e.g. "KeyValue"). Both components are seperated by a colon. +# +# PLEASE NOTE (II): The colon character (":") must be escaped by a leading backslash, if it appears in the +# property name. + +http\://www.w3.org/2000/09/xmldsig#\:KeyValue = iaik.ixsil.keyinfo.KeyProviderImplKeyValue +http\://www.w3.org/2000/09/xmldsig#\:X509Data = iaik.ixsil.keyinfo.x509.KeyProviderImplX509Data +http\://www.w3.org/2000/09/xmldsig#\:RetrievalMethod = iaik.ixsil.keyinfo.retrieval.KeyProviderImplRetrievalMethod + + + +#---------------------------------------------------------------------------------------------------------- +# +# The following properties specify the order in which the different types of "KeyInfo" subelements are used +# by the key manager to deduce the verification key. +# +# These properties are only of interest, if you are using the standard key manager shipped with IXISL +# (which is class iaik.ixsil.keyInfo.KeyManagerImpl). +# +# The properties are associations between a two digit number and the fully qualified XML name of a "KeyInfo" +# subelement. The lower the number, the more important is the associated "KeyInfo" sublement. Consider an +# example configuration: +# +# Subelement.01 = http://www.w3.org/2000/09/xmldsig#:KeyValue +# Subelement.02 = http://www.w3.org/2000/09/xmldsig#:X509Data +# +# In this configuration, the key manager first tries to use "KeyValue" subelements to deduce the +# verification key. Only if this does not succeed, the key manager uses "X509Data" subelements as a second +# chance. Of course you can specify more than only two different subelement types. +# +# PLEASE NOTE: A fully qualified name for an XML element consists of an URI indicating the namespace the +# element belongs to (e.g. "http://www.w3.org/2000/09/xmldsig#") and the local name of the +# element (e.g. "KeyValue"). Both components are seperated by a colon. + +Subelement.01 = http://www.w3.org/2000/09/xmldsig#:KeyValue +Subelement.02 = http://www.w3.org/2000/09/xmldsig#:X509Data +Subelement.03 = http://www.w3.org/2000/09/xmldsig#:RetrievalMethod + + + +#---------------------------------------------------------------------------------------------------------- +# +# The following property is used by standard implementation of the "X509Data" key provider, which ships +# with IXSIL, namely "KeyProviderImplX509Data". It specifies the implementation class for the interface +# iaik.ixsil.keyinfo.x509.X509TrustManagerInterface, which is to be instantiated as the backbone trust +# manager for this key provider. +# Please specifiy the fully qualified java class name for the class to be instantiated. + +KeyProviderImplX509Data.X509TrustManagerDefaultImplementingClass = iaik.ixsil.keyinfo.x509.X509TrustManagerDummyImpl + diff --git a/spss.test/resources/moahsm.cer b/spss.test/resources/moahsm.cer new file mode 100644 index 000000000..de5344831 --- /dev/null +++ b/spss.test/resources/moahsm.cer @@ -0,0 +1,13 @@ +-----BEGIN CERTIFICATE-----
+MIIB7zCCAVgCAQEwDQYJKoZIhvcNAQEFBQAwQDEVMBMGA1UEAxMMTU9BSFNNUlNB
+S0VZMQwwCgYDVQQKEwNCUloxDDAKBgNVBAsTA01PQTELMAkGA1UEBhMCQVQwHhcN
+MDMwNDA3MTEwNjQwWhcNMDQwNDA3MTEwNjQwWjBAMRUwEwYDVQQDEwxNT0FIU01S
+U0FLRVkxDDAKBgNVBAoTA0JSWjEMMAoGA1UECxMDTU9BMQswCQYDVQQGEwJBVDCB
+nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAxPZDjDQYbVNdkccATQb7L9LhinBw
+v7rq0RxUfmuWQPOy3GPfitIBDbomx7I26Hr7111ZIA8HHuuLft50vLqOoDgW4CHw
+nlmzBfjstf7SpHRODzVJhe4EJCoZX7OcaENU+1ibUHjDabWUEHSSho/vWjkp5o3F
+Rg94K3Edxw3j9U0CAwDmKTANBgkqhkiG9w0BAQUFAAOBgQC4EV2TaeYygxD8xVBk
+kVQu210r4zzKcBIsFSJZTO99KVF4CBRt7aMHd7dz604/Ozxc9MoPb+r/8MAylgfi
+V1ifHtY6OVMzPYTRDBdskp8dhPVxdBzhW4OhVP6EnAEv4NcbAyxu0aZSU632j0WL
+ik7/EJQ/UeGKgaHgf4ZeaXEHZw==
+-----END CERTIFICATE-----
diff --git a/spss.test/resources/schemas/testDocument.schema.xsd b/spss.test/resources/schemas/testDocument.schema.xsd new file mode 100644 index 000000000..bb1e1b011 --- /dev/null +++ b/spss.test/resources/schemas/testDocument.schema.xsd @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Schema fuer testDocument.xml
+-->
+<xsd:schema targetNamespace="http://uri.data.org" xmlns="http://uri.data.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" id="tollesSchema">
+ <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="attr" type="xsd:ID" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+</xsd:schema>
diff --git a/spss.test/resources/sicher-demo(buergerkarte).p12 b/spss.test/resources/sicher-demo(buergerkarte).p12 Binary files differnew file mode 100644 index 000000000..efaeb9b98 --- /dev/null +++ b/spss.test/resources/sicher-demo(buergerkarte).p12 diff --git a/spss.test/resources/sicher-demo.der b/spss.test/resources/sicher-demo.der Binary files differnew file mode 100644 index 000000000..46268923a --- /dev/null +++ b/spss.test/resources/sicher-demo.der diff --git a/spss.test/resources/sl2002mmdd.ecard.normal.p12 b/spss.test/resources/sl2002mmdd.ecard.normal.p12 Binary files differnew file mode 100644 index 000000000..36d9eb4d8 --- /dev/null +++ b/spss.test/resources/sl2002mmdd.ecard.normal.p12 diff --git a/spss.test/resources/sl2002mmdd.ecard.sicher.p12 b/spss.test/resources/sl2002mmdd.ecard.sicher.p12 Binary files differnew file mode 100644 index 000000000..21ef7803c --- /dev/null +++ b/spss.test/resources/sl2002mmdd.ecard.sicher.p12 diff --git a/spss.test/resources/spss.configuration/MOA-SPSS-Configuration.xml b/spss.test/resources/spss.configuration/MOA-SPSS-Configuration.xml new file mode 100644 index 000000000..85efb9413 --- /dev/null +++ b/spss.test/resources/spss.configuration/MOA-SPSS-Configuration.xml @@ -0,0 +1,176 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<MOAConfiguration xmlns="http://reference.e-government.gv.at/namespace/moaconfig/20021122#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:moa-spss="http://reference.e-government.gv.at/namespace/moa/20020822#"> + <CanonicalizationAlgorithm name="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> + <DigestMethodAlgorithm name="http://www.w3.org/2000/09/xmldsig#sha1"/> + <GenericConfiguration name="autoAddCertificates" value="true"/> + <GenericConfiguration name="useAuthorityInfoAccess" value="true"/> + <GenericConfiguration name="maxRevocationAge" value="0"/> + <GenericConfiguration name="DirectoryCertStoreParameters.RootDir" value="aValidPathName"/> + <GenericConfiguration name="checkRevocation" value="false"/> + <GenericConfiguration name="archiveRevocationInfo" value="false"/> + <!-- <GenericConfiguration name="DataBaseArchiveParameter.JDBCUrl" value="jdbc:postgresql://10.16.46.108/moa?user=moa&password=moatest"/> --> + <GenericConfiguration name="test.SigningTime" value="2003-05-10T01:01:01+01:00"/> + <!-- + <HardwareCryptoModule name="validPathToPKCS11Lib" slotID="validSlotID" userPIN="validPIN"/> + <HardwareKeyModule name="validPathToPKCS11Lib" slotID="validSlotID" userPIN="validPIN"/> + --> + + <!-- <HardwareKeyModule id="MOAHSM" name="cryptoki.dll" slotID="0" userPIN="1111"/> --> + + <SoftwareKeyModule id="SWKeyModule1" filename="keys/test-ee2003_normal(buergerkarte).p12" password="buergerkarte"/> + <SoftwareKeyModule id="SWKeyModule2" filename="keys/normal-eeExpired.p12" password=""/> + <SoftwareKeyModule id="SWKeyModule3" filename="keys/ecc(ego).p12" password="ego"/> + <SoftwareKeyModule id="SWKeyModule4" filename="keys/DSA.512.p12" password="topSecret"/> + <SoftwareKeyModule id="SWKeyModule5" filename="keys/test-ee2003_normal_verw_oid.p12" password="buergerkarte"/> + <!-- <KeyGroup id="MOAHSMRSAKEY"> + <Key> + <KeyModuleID>MOAHSM</KeyModuleID> + <KeyCertIssuerSerial> + <dsig:X509IssuerName>C=AT,OU=MOA,O=BRZ,CN=MOAHSMRSAKEY</dsig:X509IssuerName> + <dsig:X509SerialNumber>1</dsig:X509SerialNumber> + </KeyCertIssuerSerial> + </Key> + </KeyGroup> --> + <KeyGroup id="PKCS12RSAKey1"> + <!--PKCS12RSAKey1 maps to test-ee2003_normal(buergerkarte).p12--> + <Key> + <KeyModuleID>SWKeyModule1</KeyModuleID> + <KeyCertIssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </KeyCertIssuerSerial> + </Key> + </KeyGroup> + <KeyGroup id="PKCS12RSAKeyNotAllowed"> + <!--PKCS12RSAKey1 maps to test-ee2003_normal(buergerkarte).p12--> + <Key> + <KeyModuleID>SWKeyModule1</KeyModuleID> + <KeyCertIssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </KeyCertIssuerSerial> + </Key> + </KeyGroup> + <KeyGroup id="PKCS12RSAKeyExpired"> + <!--PKCS12RSAKey1 maps to sicher-demo(buergerkarte).p12--> + <Key> + <KeyModuleID>SWKeyModule2</KeyModuleID> + <KeyCertIssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>10</dsig:X509SerialNumber> + </KeyCertIssuerSerial> + </Key> + </KeyGroup> + <KeyGroup id="PKCS12ECDSAKey1"> + <!--PKCS12ECDSAKey1 maps to ecc(ego).p12--> + <Key> + <KeyModuleID>SWKeyModule3</KeyModuleID> + <KeyCertIssuerSerial> + <dsig:X509IssuerName>CN=IAIK ECDSA Test,OU=JavaSecurity,O=IAIK,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>68172</dsig:X509SerialNumber> + </KeyCertIssuerSerial> + </Key> + </KeyGroup> + <KeyGroup id="DSAinPKCS12"> + <!--DSAinPKCS12 maps to DSA.512.p12--> + <Key> + <KeyModuleID>SWKeyModule4</KeyModuleID> + <KeyCertIssuerSerial> + <dsig:X509IssuerName>CN=IAIK DSA Test CA,OU=JavaSecurity,O=IAIK,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>761791</dsig:X509SerialNumber> + </KeyCertIssuerSerial> + </Key> + </KeyGroup> + <KeyGroup id="VKTRUE"> + <Key> + <KeyModuleID>SWKeyModule5</KeyModuleID> + <KeyCertIssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1050061309775</dsig:X509SerialNumber> + </KeyCertIssuerSerial> + </Key> + </KeyGroup> + <KeyGroup id="allKeys"> + <Key> + <KeyModuleID>SWKeyModule1</KeyModuleID> + <KeyCertIssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </KeyCertIssuerSerial> + </Key> + <Key> + <KeyModuleID>SWKeyModule2</KeyModuleID> + <KeyCertIssuerSerial> + <dsig:X509IssuerName>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1044289238331</dsig:X509SerialNumber> + </KeyCertIssuerSerial> + </Key> + <Key> + <KeyModuleID>SWKeyModule3</KeyModuleID> + <KeyCertIssuerSerial> + <dsig:X509IssuerName>CN=IAIK ECDSA Test,OU=JavaSecurity,O=IAIK,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>68172</dsig:X509SerialNumber> + </KeyCertIssuerSerial> + </Key> + <Key> + <KeyModuleID>SWKeyModule4</KeyModuleID> + <KeyCertIssuerSerial> + <dsig:X509IssuerName>CN=IAIK DSA Test CA,OU=JavaSecurity,O=IAIK,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>761791</dsig:X509SerialNumber> + </KeyCertIssuerSerial> + </Key> + </KeyGroup> + <KeyGroupMapping> + <KeyGroup id="PKCS12RSAKey1"/> + <KeyGroup id="PKCS12RSAKeyExpired"/> + <KeyGroup id="PKCS12ECDSAKey1"/> + <KeyGroup id="DSAinPKCS12"/> + <KeyGroup id="VKTRUE"/> + </KeyGroupMapping> + <KeyGroupMapping> + <X509IssuerSerial> + <dsig:X509IssuerName>CN=TestUser,OU=MOA,O=BRZ,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>12345678</dsig:X509SerialNumber> + </X509IssuerSerial> + <KeyGroup id="allKeys"/> + </KeyGroupMapping> + <KeyGroupMapping> + <X509IssuerSerial> + <dsig:X509IssuerName>CN=TestUser,OU=MOA,O=BRZ,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>12345678</dsig:X509SerialNumber> + </X509IssuerSerial> + <KeyGroup id="PKCS12RSAKeyNotAllowed"/> + </KeyGroupMapping> + <KeyGroupMapping> + <X509IssuerSerial> + <dsig:X509IssuerName>CN=moa-client, OU=MOA, O=BRZ, C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1056980085</dsig:X509SerialNumber> + </X509IssuerSerial> + <KeyGroup id="PKCS12RSAKey1"/> + </KeyGroupMapping> + + <ChainingModes systemDefaultMode="pkix"> + <TrustAnchor mode="chaining"> + <dsig:X509IssuerName>CN=A-Trust-nQual-0,OU=A-Trust-nQual-0,O=A-Trust,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>536</dsig:X509SerialNumber> + </TrustAnchor> + </ChainingModes> + <CRLArchive duration="365"/> + <CRLDistributionPoint> + <CAIssuerDN>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</CAIssuerDN> + <DistributionPoint uri="http://www.iaik.at/testCA/iaik_test_sig.crl"/> + </CRLDistributionPoint> + <CRLDistributionPoint> + <CAIssuerDN>CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT</CAIssuerDN> + <DistributionPoint reasonCodes="keyCompromise affiliationChanged" uri="http://www.iaik.at/testCA/iaik_test_sig.crl"/> + <DistributionPoint reasonCodes="certificateHold" uri="http://www.iaik.at/testCA/iaik_test_sig.crl"/> + </CRLDistributionPoint> + <CreateTransformsInfoProfile id="CreateTransformsInfoProfile1" filename="profiles/CX1_bookprofile.xsl"/> + <CreateSignatureEnvironmentProfile id="CreateSignatureEnvironmentProfile1" filename="profiles/CSEP.xml"/> + <VerifyTransformsInfoProfile id="TransformsInfoProfile1" filename="profiles/TransformsInfoProfile1.xml"/> + <VerifyTransformsInfoProfile id="TransformsInfoProfile2" filename="profiles/TransformsInfoProfile2.xml"/> + <VerifyTransformsInfoProfile id="TransformsInfoProfile1MOAID" filename="profiles/TransformsInfoProfile1MOAID.xml"/> + <SupplementProfile id="SupplementProfile1" filename="profiles/SupplementProfile1.xml"/> + <SupplementProfile id="SupplementProfile2" filename="profiles/SupplementProfile2.xml"/> + <TrustProfile id="TrustProfile1" uri="profiles/TrustProfile1"/> +</MOAConfiguration> diff --git a/spss.test/resources/spss.configuration/keys/DSA.1024.p12 b/spss.test/resources/spss.configuration/keys/DSA.1024.p12 Binary files differnew file mode 100644 index 000000000..e180e607d --- /dev/null +++ b/spss.test/resources/spss.configuration/keys/DSA.1024.p12 diff --git a/spss.test/resources/spss.configuration/keys/DSA.512.p12 b/spss.test/resources/spss.configuration/keys/DSA.512.p12 Binary files differnew file mode 100644 index 000000000..8f7a201ac --- /dev/null +++ b/spss.test/resources/spss.configuration/keys/DSA.512.p12 diff --git a/spss.test/resources/spss.configuration/keys/Max_Mustermann (max).p12 b/spss.test/resources/spss.configuration/keys/Max_Mustermann (max).p12 Binary files differnew file mode 100644 index 000000000..b18a842e2 --- /dev/null +++ b/spss.test/resources/spss.configuration/keys/Max_Mustermann (max).p12 diff --git a/spss.test/resources/spss.configuration/keys/ecc(ego).p12 b/spss.test/resources/spss.configuration/keys/ecc(ego).p12 Binary files differnew file mode 100644 index 000000000..f84e793c5 --- /dev/null +++ b/spss.test/resources/spss.configuration/keys/ecc(ego).p12 diff --git a/spss.test/resources/spss.configuration/keys/ecc.p12 b/spss.test/resources/spss.configuration/keys/ecc.p12 Binary files differnew file mode 100644 index 000000000..f84e793c5 --- /dev/null +++ b/spss.test/resources/spss.configuration/keys/ecc.p12 diff --git a/spss.test/resources/spss.configuration/keys/sicher-demo(buergerkarte).p12 b/spss.test/resources/spss.configuration/keys/sicher-demo(buergerkarte).p12 Binary files differnew file mode 100644 index 000000000..efaeb9b98 --- /dev/null +++ b/spss.test/resources/spss.configuration/keys/sicher-demo(buergerkarte).p12 diff --git a/spss.test/resources/spss.configuration/keys/sl2002mmdd.ecard.normal.p12 b/spss.test/resources/spss.configuration/keys/sl2002mmdd.ecard.normal.p12 Binary files differnew file mode 100644 index 000000000..36d9eb4d8 --- /dev/null +++ b/spss.test/resources/spss.configuration/keys/sl2002mmdd.ecard.normal.p12 diff --git a/spss.test/resources/spss.configuration/keys/sl2002mmdd.ecard.sicher.p12 b/spss.test/resources/spss.configuration/keys/sl2002mmdd.ecard.sicher.p12 Binary files differnew file mode 100644 index 000000000..21ef7803c --- /dev/null +++ b/spss.test/resources/spss.configuration/keys/sl2002mmdd.ecard.sicher.p12 diff --git a/spss.test/resources/spss.configuration/keys/test-ee2003_normal(buergerkarte).p12 b/spss.test/resources/spss.configuration/keys/test-ee2003_normal(buergerkarte).p12 Binary files differnew file mode 100644 index 000000000..efaeb9b98 --- /dev/null +++ b/spss.test/resources/spss.configuration/keys/test-ee2003_normal(buergerkarte).p12 diff --git a/spss.test/resources/spss.configuration/profiles/CSEP.xml b/spss.test/resources/spss.configuration/profiles/CSEP.xml new file mode 100644 index 000000000..326dbc6a0 --- /dev/null +++ b/spss.test/resources/spss.configuration/profiles/CSEP.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- edited with XMLSPY v5 rel. 3 U (http://www.xmlspy.com) by Stephan G (Comp) --> +<CreateSignatureEnvironmentProfile xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"> + <CreateSignatureLocation Index="0" xmlns:data="http://uri.data.org">//data:Document</CreateSignatureLocation> +</CreateSignatureEnvironmentProfile> diff --git a/spss.test/resources/spss.configuration/profiles/CX1_bookprofile.xsl b/spss.test/resources/spss.configuration/profiles/CX1_bookprofile.xsl new file mode 100644 index 000000000..ca41d793f --- /dev/null +++ b/spss.test/resources/spss.configuration/profiles/CX1_bookprofile.xsl @@ -0,0 +1 @@ +<?xml version="1.0" encoding="UTF-8"?><CreateTransformsInfoProfile xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"><CreateTransformsInfo><dsig:Transforms xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><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></dsig:Transforms><FinalDataMetaInfo><MimeType>text/html</MimeType></FinalDataMetaInfo></CreateTransformsInfo></CreateTransformsInfoProfile>
\ No newline at end of file diff --git a/spss.test/resources/spss.configuration/profiles/SupplementProfile1.xml b/spss.test/resources/spss.configuration/profiles/SupplementProfile1.xml new file mode 100644 index 000000000..02b1c6373 --- /dev/null +++ b/spss.test/resources/spss.configuration/profiles/SupplementProfile1.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- edited with XMLSPY v5 rel. 3 U (http://www.xmlspy.com) by Stephan G (Comp) --> +<SupplementProfile xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"> + <Content Reference="file:/C:/Daten/MOAPhase2/TestDatenGenerator2/resources/testDaten.txt"> + <XMLContent>Dies sind Testdaten +2. Zeile +3. Zeile +aus</XMLContent> + </Content> +</SupplementProfile> diff --git a/spss.test/resources/spss.configuration/profiles/SupplementProfile2.xml b/spss.test/resources/spss.configuration/profiles/SupplementProfile2.xml new file mode 100644 index 000000000..7f84eb822 --- /dev/null +++ b/spss.test/resources/spss.configuration/profiles/SupplementProfile2.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- edited with XMLSPY v5 rel. 3 U (http://www.xmlspy.com) by Stephan G (Comp) --> +<SupplementProfile xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"> + <Content Reference="file:/C:/Daten/MOAPhase2/TestDatenGenerator2/resources/testXML.txt"> + <Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxIdWdvPg0K +CVRlc3QNCjwvSHVnbz4=</Base64Content> + </Content> +</SupplementProfile> diff --git a/spss.test/resources/spss.configuration/profiles/TransformsInfoProfile1.xml b/spss.test/resources/spss.configuration/profiles/TransformsInfoProfile1.xml new file mode 100644 index 000000000..c0b7d596f --- /dev/null +++ b/spss.test/resources/spss.configuration/profiles/TransformsInfoProfile1.xml @@ -0,0 +1 @@ +<?xml version="1.0" encoding="UTF-8"?><VerifyTransformsInfoProfile xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:include href="http://localhost:8080/moa-spss-testdata/resources/CX1_book.xsl"/></xsl:stylesheet></dsig:Transform></dsig:Transforms><TransformParameter URI="http://localhost:8080/moa-spss-testdata/resources/CX1_book.xsl"><Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48eHNsOnN0eWxlc2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFuc2Zvcm0iIHZlcnNpb249IjEuMCI+PHhzbDpvdXRwdXQgbWV0aG9kPSJodG1sIiBpbmRlbnQ9Im5vIi8+PHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGF0YTpib29rIiB4bWxuczpkYXRhPSJodHRwOi8vdXJpLmRhdGEub3JnIj48SFRNTD48Qk9EWT48SDE+QnVjaDogPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImRhdGE6dGl0bGUiLz48L0gxPjwvQk9EWT48L0hUTUw+PC94c2w6dGVtcGxhdGU+PC94c2w6c3R5bGVzaGVldD4=</Base64Content></TransformParameter></VerifyTransformsInfoProfile>
\ No newline at end of file diff --git a/spss.test/resources/spss.configuration/profiles/TransformsInfoProfile1MOAID.xml b/spss.test/resources/spss.configuration/profiles/TransformsInfoProfile1MOAID.xml new file mode 100644 index 000000000..f973ac7e9 --- /dev/null +++ b/spss.test/resources/spss.configuration/profiles/TransformsInfoProfile1MOAID.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<VerifyTransformsInfoProfile xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> +<dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> +<xsl:template match="/" xmlns="http://www.w3.org/1999/xhtml"> +<html> +<body> +Bitte bestätigen Sie mit Ihrer Unterschrift folgende Angaben: +<br/> +<table border="1"> +<tr><td><b>Name:</b></td><td><xsl:value-of select="//@Issuer"/></td></tr> +<tr><td><b>Zeit:</b></td><td><xsl:value-of select="//@IssueInstant"/></td></tr> +<tr><td><b>Applikation:</b></td><td><xsl:value-of select="//saml:Attribute[@AttributeName='OA']/saml:AttributeValue"/></td></tr> +<tr><td><b>Geschäftsbereich:</b></td><td><xsl:value-of select="//saml:Attribute[@AttributeName='Geschäftsbereich']/saml:AttributeValue"/></td></tr> +<tr><td><b>Anmeldeserver:</b></td><td><xsl:value-of select="//saml:NameIdentifier"/></td></tr> +</table> +</body> +</html> +</xsl:template> +</xsl:stylesheet></dsig:Transform></dsig:Transforms></VerifyTransformsInfoProfile> diff --git a/spss.test/resources/spss.configuration/profiles/TransformsInfoProfile2.xml b/spss.test/resources/spss.configuration/profiles/TransformsInfoProfile2.xml new file mode 100644 index 000000000..12d6bc28b --- /dev/null +++ b/spss.test/resources/spss.configuration/profiles/TransformsInfoProfile2.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<VerifyTransformsInfoProfile xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> + <dsig:Transforms> + <dsig:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"/> + </dsig:Transforms> +</VerifyTransformsInfoProfile> diff --git a/spss.test/resources/spss.configuration/profiles/TransformsInfoProfile2MOAID.xml b/spss.test/resources/spss.configuration/profiles/TransformsInfoProfile2MOAID.xml new file mode 100644 index 000000000..dc4a97716 --- /dev/null +++ b/spss.test/resources/spss.configuration/profiles/TransformsInfoProfile2MOAID.xml @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- edited with XMLSPY v5 U (http://www.xmlspy.com) by Jack (-none-) --> +<VerifyTransformsInfoProfile xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><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('refetsi')/etsi:QualifyingProperties/etsi:SignedProperties</xf2:XPath></dsig:Transform></dsig:Transforms></VerifyTransformsInfoProfile> diff --git a/spss.test/resources/spss.configuration/profiles/TrustProfile1/IAIKRoot.cer b/spss.test/resources/spss.configuration/profiles/TrustProfile1/IAIKRoot.cer Binary files differnew file mode 100644 index 000000000..c0c60558a --- /dev/null +++ b/spss.test/resources/spss.configuration/profiles/TrustProfile1/IAIKRoot.cer diff --git a/spss.test/resources/spss.configuration/profiles/TrustProfile1/IAIKRootMusterbehörde.cer b/spss.test/resources/spss.configuration/profiles/TrustProfile1/IAIKRootMusterbehörde.cer Binary files differnew file mode 100644 index 000000000..21dc972b9 --- /dev/null +++ b/spss.test/resources/spss.configuration/profiles/TrustProfile1/IAIKRootMusterbehörde.cer diff --git a/spss.test/resources/spss.configuration/profiles/TrustProfile1/Max_Mustermann.cer b/spss.test/resources/spss.configuration/profiles/TrustProfile1/Max_Mustermann.cer Binary files differnew file mode 100644 index 000000000..b5b39633d --- /dev/null +++ b/spss.test/resources/spss.configuration/profiles/TrustProfile1/Max_Mustermann.cer diff --git a/spss.test/resources/spss.configuration/profiles/TrustProfile1/a-sign-TEST-Premium-Enc-01.cer b/spss.test/resources/spss.configuration/profiles/TrustProfile1/a-sign-TEST-Premium-Enc-01.cer Binary files differnew file mode 100644 index 000000000..fc5bd433b --- /dev/null +++ b/spss.test/resources/spss.configuration/profiles/TrustProfile1/a-sign-TEST-Premium-Enc-01.cer diff --git a/spss.test/resources/spss.configuration/profiles/TrustProfile1/a-sign-TEST-nQual-01.cer b/spss.test/resources/spss.configuration/profiles/TrustProfile1/a-sign-TEST-nQual-01.cer Binary files differnew file mode 100644 index 000000000..84518a6a8 --- /dev/null +++ b/spss.test/resources/spss.configuration/profiles/TrustProfile1/a-sign-TEST-nQual-01.cer diff --git a/spss.test/resources/spss.configuration/profiles/TrustProfile1/ecdsa_root_cert.cer b/spss.test/resources/spss.configuration/profiles/TrustProfile1/ecdsa_root_cert.cer Binary files differnew file mode 100644 index 000000000..dac166e9a --- /dev/null +++ b/spss.test/resources/spss.configuration/profiles/TrustProfile1/ecdsa_root_cert.cer diff --git a/spss.test/resources/spss.configuration/profiles/TrustProfile1/test-ee2003_normal.der b/spss.test/resources/spss.configuration/profiles/TrustProfile1/test-ee2003_normal.der Binary files differnew file mode 100644 index 000000000..46268923a --- /dev/null +++ b/spss.test/resources/spss.configuration/profiles/TrustProfile1/test-ee2003_normal.der diff --git a/spss.test/resources/stylesheets/book.notavailable.xsl b/spss.test/resources/stylesheets/book.notavailable.xsl new file mode 100644 index 000000000..b484b9583 --- /dev/null +++ b/spss.test/resources/stylesheets/book.notavailable.xsl @@ -0,0 +1 @@ +<?xml version="1.0" encoding="UTF-8"?><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>
\ No newline at end of file diff --git a/spss.test/resources/stylesheets/book.xsl b/spss.test/resources/stylesheets/book.xsl new file mode 100644 index 000000000..e475b0d56 --- /dev/null +++ b/spss.test/resources/stylesheets/book.xsl @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<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> diff --git a/spss.test/resources/stylesheets/ref.book.notavailable.xsl b/spss.test/resources/stylesheets/ref.book.notavailable.xsl new file mode 100644 index 000000000..72c9a738b --- /dev/null +++ b/spss.test/resources/stylesheets/ref.book.notavailable.xsl @@ -0,0 +1 @@ +<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:include href="http://localhost:8080/moa-spss-testdata/resources/stylesheets/book.notavailable.xsl"/></xsl:stylesheet>
\ No newline at end of file diff --git a/spss.test/resources/sven.cer b/spss.test/resources/sven.cer Binary files differnew file mode 100644 index 000000000..5a4e25c58 --- /dev/null +++ b/spss.test/resources/sven.cer diff --git a/spss.test/resources/sven.keystore b/spss.test/resources/sven.keystore Binary files differnew file mode 100644 index 000000000..1459a7bc4 --- /dev/null +++ b/spss.test/resources/sven.keystore diff --git a/spss.test/resources/sven_tomcat-client.cer b/spss.test/resources/sven_tomcat-client.cer new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/spss.test/resources/sven_tomcat-client.cer diff --git a/spss.test/resources/test-ee2003_normal(buergerkarte).p12 b/spss.test/resources/test-ee2003_normal(buergerkarte).p12 Binary files differnew file mode 100644 index 000000000..efaeb9b98 --- /dev/null +++ b/spss.test/resources/test-ee2003_normal(buergerkarte).p12 diff --git a/spss.test/resources/test-ee2003_normal.der b/spss.test/resources/test-ee2003_normal.der Binary files differnew file mode 100644 index 000000000..46268923a --- /dev/null +++ b/spss.test/resources/test-ee2003_normal.der diff --git a/spss.test/resources/test-ee2003_normal.derbase64.enc b/spss.test/resources/test-ee2003_normal.derbase64.enc new file mode 100644 index 000000000..8e5524084 --- /dev/null +++ b/spss.test/resources/test-ee2003_normal.derbase64.enc @@ -0,0 +1,21 @@ +MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU
+MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE
+CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh
+bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE
+AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow
+gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD
+SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp
+b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk
+ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV
+IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t
+ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx
+26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC
+MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe
+MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh
+dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8
+BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf
+dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV
+HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m
+zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL
+o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT
+V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1
\ No newline at end of file diff --git a/spss.test/resources/test-ee2003_normal_extract.cer b/spss.test/resources/test-ee2003_normal_extract.cer Binary files differnew file mode 100644 index 000000000..1cdc15c6e --- /dev/null +++ b/spss.test/resources/test-ee2003_normal_extract.cer diff --git a/spss.test/resources/testBase64.txt b/spss.test/resources/testBase64.txt new file mode 100644 index 000000000..8c19b15ac --- /dev/null +++ b/spss.test/resources/testBase64.txt @@ -0,0 +1 @@ +RGllcyBzaW5kIFRlc3RkYXRlbg==
\ No newline at end of file diff --git a/spss.test/resources/testDaten.txt b/spss.test/resources/testDaten.txt new file mode 100644 index 000000000..2602728cd --- /dev/null +++ b/spss.test/resources/testDaten.txt @@ -0,0 +1,4 @@ +Dies sind Testdaten +2. Zeile +3. Zeile +aus
\ No newline at end of file diff --git a/spss.test/resources/testDaten.txtbase64.enc b/spss.test/resources/testDaten.txtbase64.enc new file mode 100644 index 000000000..d95a88a82 --- /dev/null +++ b/spss.test/resources/testDaten.txtbase64.enc @@ -0,0 +1 @@ +RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=
\ No newline at end of file diff --git a/spss.test/resources/testDocument.xml b/spss.test/resources/testDocument.xml new file mode 100644 index 000000000..35b12a626 --- /dev/null +++ b/spss.test/resources/testDocument.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<data:Document xmlns:data="http://uri.data.org">Dies sind Testdaten</data:Document> diff --git a/spss.test/resources/testDocument.xmlbase64.enc b/spss.test/resources/testDocument.xmlbase64.enc new file mode 100644 index 000000000..6b787d695 --- /dev/null +++ b/spss.test/resources/testDocument.xmlbase64.enc @@ -0,0 +1,3 @@ +PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NPGRhdGE6RG9j
+dW1lbnQgeG1sbnM6ZGF0YT0iaHR0cDovL3VyaS5kYXRhLm9yZyI+RGllcyBzaW5k
+IFRlc3RkYXRlbjwvZGF0YTpEb2N1bWVudD4N
\ No newline at end of file diff --git a/spss.test/resources/testSimple.txt b/spss.test/resources/testSimple.txt new file mode 100644 index 000000000..76d2fc51a --- /dev/null +++ b/spss.test/resources/testSimple.txt @@ -0,0 +1 @@ +Dies sind Testdaten
\ No newline at end of file diff --git a/spss.test/resources/testSimple.txtbase64.enc b/spss.test/resources/testSimple.txtbase64.enc new file mode 100644 index 000000000..8c19b15ac --- /dev/null +++ b/spss.test/resources/testSimple.txtbase64.enc @@ -0,0 +1 @@ +RGllcyBzaW5kIFRlc3RkYXRlbg==
\ No newline at end of file diff --git a/spss.test/resources/testUTF8.txt b/spss.test/resources/testUTF8.txt new file mode 100644 index 000000000..0468fc597 --- /dev/null +++ b/spss.test/resources/testUTF8.txt @@ -0,0 +1 @@ +Dies sind Testdaten mit Umlauten :) öäüÖÄÜ
\ No newline at end of file diff --git a/spss.test/resources/testXML.txt b/spss.test/resources/testXML.txt new file mode 100644 index 000000000..8d4d6371b --- /dev/null +++ b/spss.test/resources/testXML.txt @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<Hugo> + Test +</Hugo>
\ No newline at end of file diff --git a/spss.test/resources/testXML.txtbase64.enc b/spss.test/resources/testXML.txtbase64.enc new file mode 100644 index 000000000..344a8b5f4 --- /dev/null +++ b/spss.test/resources/testXML.txtbase64.enc @@ -0,0 +1,2 @@ +PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxIdWdvPg0K
+CVRlc3QNCjwvSHVnbz4=
\ No newline at end of file diff --git a/spss.test/resources/test_w_canonicalisation.XML b/spss.test/resources/test_w_canonicalisation.XML new file mode 100644 index 000000000..103c81656 --- /dev/null +++ b/spss.test/resources/test_w_canonicalisation.XML @@ -0,0 +1,3 @@ +<Hugo a="Testa" b="Testb">
+ Test
+</Hugo>
\ No newline at end of file diff --git a/spss.test/resources/test_wo_canonicalisation.XML b/spss.test/resources/test_wo_canonicalisation.XML new file mode 100644 index 000000000..bab75c60a --- /dev/null +++ b/spss.test/resources/test_wo_canonicalisation.XML @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?>
+<!--1st Comment-->
+<n1:Elem1 b="Testb" a="Testa" xmlns:n0="foo:bar"
+ xmlns:n3="ftp://example.org"
+ xmlns:n1="http://example.net"
+ xml:lang="en">
+ Test<!--2nd Comment-->
+ <n3:Elem2></n3:Elem2>
+</n1:Elem1>
\ No newline at end of file diff --git a/spss.test/resources/test_wo_canonicalisation.XMLbase64.enc b/spss.test/resources/test_wo_canonicalisation.XMLbase64.enc new file mode 100644 index 000000000..3092f03a3 --- /dev/null +++ b/spss.test/resources/test_wo_canonicalisation.XMLbase64.enc @@ -0,0 +1,7 @@ +PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0xc3Qg
+Q29tbWVudC0tPg0KPG4xOkVsZW0xIGI9IlRlc3RiIiBhPSJUZXN0YSIgeG1sbnM6
+bjA9ImZvbzpiYXIiDQogICAgICAgICAgICAgeG1sbnM6bjM9ImZ0cDovL2V4YW1w
+bGUub3JnIg0KICAgICAgICAgICAgIHhtbG5zOm4xPSJodHRwOi8vZXhhbXBsZS5u
+ZXQiICAgICAgICAgICAgIA0KICAgICAgICAgICAgIHhtbDpsYW5nPSJlbiI+DQoJ
+VGVzdDwhLS0ybmQgQ29tbWVudC0tPg0KICAgIDxuMzpFbGVtMj48L24zOkVsZW0y
+Pg0KPC9uMTpFbGVtMT4=
\ No newline at end of file diff --git a/spss.test/resources/tests.cer.b64 b/spss.test/resources/tests.cer.b64 new file mode 100644 index 000000000..bfeaef211 --- /dev/null +++ b/spss.test/resources/tests.cer.b64 @@ -0,0 +1,27 @@ +MIIFATCCA+mgAwIBAgIhAhwR8xTUcaXE7HgcD8c+QYmLc0zRndEVZObhTgPrAgFz
+MA0GCSqGSIb3DQEBBQUAMDYxITAfBgNVBAsTGEJ1bmRlc3JlY2hlbnplbnRydW0g
+R21iSDERMA8GA1UEChMIQlJaLVRSRUUwHhcNMDIwOTI0MDkxNzAwWhcNMzYwMjAz
+MjM1OTAwWjAsMREwDwYDVQQKEwhCUlotVFJFRTEXMBUGA1UEAxMOeW9kYS5icnou
+Z3YuYXQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDzt+VkHC6ORpSS
+spmCRF1lMMcO1XOx44AynG8nD63U18SYM/enmlZO7D6KbtGvOooemqtcAmXq9V0U
+VZa/vSlLxPieW5CmATAAPitohHuDyWbe9Sya1jbdRuxPDiFMlqdDcdfprvixHCe0
+URA+bmf6Jq1DydurZeQ2BLotNEiL8A4Fdw9GhLEpE62uCKYV6MkPp3a/JCoper8M
+MttEsr4J6sY1W+6dkNswKJxhj7Ybmj3MN950eeuJVqIKEoBlYYhtcZlo/u1t8+xb
+MsyUxb8F/ZyExa7tPOd11XDNQUP304E7I8JIpdB6TmugdnUNPGmJqSTV9cJ56hLm
+8AqvoO3JAgMBAAGjggICMIIB/jAfBgNVHSMEGDAWgBR5hSIJwO/mDBSDlc4rL8Kn
+BlTc+TALBgNVHQ8EBAMCBaAwggHMBgtghkgBhvg3AQkEAQSCAbswggG3BAIBAAEB
+/xMdTm92ZWxsIFNlY3VyaXR5IEF0dHJpYnV0ZSh0bSkWQ2h0dHA6Ly9kZXZlbG9w
+ZXIubm92ZWxsLmNvbS9yZXBvc2l0b3J5L2F0dHJpYnV0ZXMvY2VydGF0dHJzX3Yx
+MC5odG0wggFIoBoBAQAwCDAGAgEBAgFGMAgwBgIBAQIBCgIBaaEaAQEAMAgwBgIB
+AQIBRjAIMAYCAQECAQoCAWmiBgIBFwEB/6OCAQSgWAIBAgICAP8CAQADDQCAAAAA
+AAAAAAAAAAADCQCAAAAAAAAAADAYMBACAQACCH//////////AQEAAgQG8N9IMBgw
+EAIBAAIIf/////////8BAQACBAbw30ihWAIBAgICAP8CAQADDQBAAAAAAAAAAAAA
+AAADCQBAAAAAAAAAADAYMBACAQACCH//////////AQEAAgQR8xTUMBgwEAIBAAII
+f/////////8BAQACBBHzFNSiTjBMAgECAgEAAgIA/wMNAIAAAAAAAAAAAAAAAAMJ
+AIAAAAAAAAAAMBIwEAIBAAIIf/////////8BAQAwEjAQAgEAAgh//////////wEB
+ADANBgkqhkiG9w0BAQUFAAOCAQEAB0U7LjxW6s/bAUR/XTVZTTS8inUZDb6OhmZJ
+MRT3rO0pz2ay1T/ijLnQcWn//7fqrAktHr05qOYEjzCmSAFQg5dqqdwAwf60VjmL
+jlZNIosumvhYY18HWkJet7tt0lNeFJKNwxr+ed2maESM333o4jytKzpYrYlo5JWD
+erF/4qPs4yfZcXD3MYCJGDHZ182Wjo7EqmvVJXrXaxPZf3cO5LGkc563+b2uiugn
+zHTmat79OvyDt6TxF0DHYQEapeMNnL/tZq2DtR+jfnk0FMrVwO9bmUXj9Bh2j240
+XZsRZZrQnRFtSFDjwplbQ1mc0H9uClANhWDqbXtO0qEjQPjTrA==
\ No newline at end of file diff --git a/spss.test/resources/tollesDTD.dtd b/spss.test/resources/tollesDTD.dtd new file mode 100644 index 000000000..d31c4ffe5 --- /dev/null +++ b/spss.test/resources/tollesDTD.dtd @@ -0,0 +1,4 @@ +<!ELEMENT Document ()+>
+<!ATTLIST Document
+ attr CDATA #IMPLIED "wert"
+>
diff --git a/spss.test/resources/tollesDTD.dtdbase64.enc b/spss.test/resources/tollesDTD.dtdbase64.enc new file mode 100644 index 000000000..1c37db9d6 --- /dev/null +++ b/spss.test/resources/tollesDTD.dtdbase64.enc @@ -0,0 +1,2 @@ +PCFFTEVNRU5UIERvY3VtZW50ICgpKz4NCjwhQVRUTElTVCBEb2N1bWVudA0KCWF0
+dHIgQ0RBVEEgI0lNUExJRUQgIndlcnQiDQo+DQo=
\ No newline at end of file diff --git a/spss.test/resources/tomcat-client.cer b/spss.test/resources/tomcat-client.cer Binary files differnew file mode 100644 index 000000000..70263fa8a --- /dev/null +++ b/spss.test/resources/tomcat-client.cer diff --git a/spss.test/resources/tomcat-server.cer b/spss.test/resources/tomcat-server.cer Binary files differnew file mode 100644 index 000000000..062984f23 --- /dev/null +++ b/spss.test/resources/tomcat-server.cer diff --git a/spss.test/src/ExportECDSA.java b/spss.test/src/ExportECDSA.java new file mode 100644 index 000000000..d47a0841b --- /dev/null +++ b/spss.test/src/ExportECDSA.java @@ -0,0 +1,249 @@ +import iaik.asn1.structures.Name; +import iaik.pkcs.pkcs11.provider.IAIKPkcs11; +import iaik.pkcs.pkcs12.CertificateBag; +import iaik.pkcs.pkcs12.KeyBag; +import iaik.pkcs.pkcs12.PKCS12; +import iaik.security.provider.IAIK; + +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.security.Key; +import java.security.KeyStore; +import java.security.PrivateKey; +import java.security.Security; +import java.security.cert.CertificateFactory; +import java.security.cert.X509Certificate; +import java.util.Collection; +import java.util.Enumeration; +import java.util.Properties; + +/** + * @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 ExportECDSA { + + public static void main(String[] args) throws Exception { + iaik.security.provider.IAIK.addAsJDK14Provider(); + iaik.security.ecc.provider.ECCProvider.addAsProvider(); + + PKCS12 input = new PKCS12(new FileInputStream("C:\\eclipse\\workspace\\spss.server\\data\\deploy\\conf\\moa-spss\\keys\\ecc(ego).p12")); + input.decrypt("ego".toCharArray()); + KeyBag newkb = input.getKeyBag(); + System.out.println("KeyNew:"+newkb.getFriendlyName()); + System.out.println(newkb.getPrivateKey()); + CertificateBag newcbs[] = input.getCertificateBags(); + System.out.println(newcbs.length); + System.out.println("CertNew:"+newcbs[0].getFriendlyName()); + System.out.println(newcbs[0]); + System.out.println(newcbs[0].getCertificate().getSerialNumber().toString()); + System.out.println(((Name)newcbs[0].getCertificate().getSubjectDN()).getRFC2253String()); + } + + public static void main2(String[] args) throws Exception { + + + + /* Export P12 Cert in .Cer File * + PKCS12 pkcs12 = new PKCS12(new FileInputStream("resources/ecc(ego).p12")); + pkcs12.decrypt("ego".toCharArray()); + X509Certificate[] ret = CertificateBag.getCertificates(pkcs12.getCertificateBags()); + + byte []cert = ret[0].getEncoded(); + FileOutputStream fos = new FileOutputStream("cert1.cer"); + fos.write(cert); + fos.close(); + */ + + Properties config = new Properties(); + config.put("PKCS11_NATIVE_MODULE","cryptoki.dll"); + config.put("SLOT_ID","0"); + + IAIK iaik = new IAIK(); + Security.addProvider(iaik); + IAIKPkcs11 pkcs11Provider_ = new IAIKPkcs11(config); + Security.addProvider(pkcs11Provider_); + + KeyStore tokenKeyStore = pkcs11Provider_.getTokenManager().getKeyStore(); + tokenKeyStore.load(null,"0000".toCharArray()); + + byte [] keyid = {0x01,0x02,0x03,0x04}; + + PrivateKey k = (PrivateKey)tokenKeyStore.getKey("MOAHSMRSAKEY_cert",null); + KeyBag kb = new KeyBag(k,"MOAHSMRSAKEY_pri",keyid); + System.out.println("Key:"+k); + + java.security.cert.Certificate[] ret = tokenKeyStore.getCertificateChain("MOAHSMRSAKEY_cert"); + + System.out.println(ret.getClass().getName()); + + CertificateBag cb = new CertificateBag((iaik.x509.X509Certificate)ret[0],"MOAHSMRSAKEY_cert",keyid); + CertificateBag chain[] = new CertificateBag[1]; + chain[0] = cb; + System.out.println("Cert:"+cb); + FileOutputStream fos = new FileOutputStream("hsm.p12"); + + PKCS12 pkcs12 = new PKCS12(kb,chain); + System.out.println("Encrypting..."); + pkcs12.encrypt("moa".toCharArray()); + System.out.println("Write..."); + pkcs12.writeTo(fos); + fos.close(); + + + PKCS12 input = new PKCS12(new FileInputStream("hsm.p12")); + input.decrypt("moa".toCharArray()); + KeyBag newkb = input.getKeyBag(); + System.out.println("KeyNew:"+newkb.getFriendlyName()); + System.out.println(newkb.getPrivateKey()); + CertificateBag newcbs[] = input.getCertificateBags(); + System.out.println("CertNew:"+newcbs[0].getFriendlyName()); + System.out.println(newcbs[0]); + + } + + public static void test(String[] args) throws Exception { + iaik.security.provider.IAIK.addAsJDK14Provider(); + iaik.security.ecc.provider.ECCProvider.addAsProvider(); + + Properties config = new Properties(); + config.put("PKCS11_NATIVE_MODULE","cryptoki.dll"); + config.put("SLOT_ID","0"); + + IAIK iaik = new IAIK(); + Security.addProvider(iaik); + IAIKPkcs11 pkcs11Provider_ = new IAIKPkcs11(config); + Security.addProvider(pkcs11Provider_); + + KeyStore tokenKeyStore = pkcs11Provider_.getTokenManager().getKeyStore(); + tokenKeyStore.load(null,"0000".toCharArray()); + + FileInputStream inputStream = new FileInputStream("MOA.Serversignatur.TestECDSA.der"); + CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509", "IAIK"); + Collection certificateCollection = certificateFactory.generateCertificates(inputStream); + X509Certificate[] certificateChain = + (X509Certificate[]) certificateCollection.toArray(new X509Certificate[certificateCollection.size()]); + + System.out.println("Number of Cert:"+certificateCollection.size()); + + tokenKeyStore.setCertificateEntry("ECDSA_cert",certificateChain[0]); + + System.out.println("DONE"); + + 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("________________________________________________________________________________"); + } + } + + //tokenKeyStore.setCertificateEntry() + + /*IAIKPKCS11PublicKey key = (IAIKPKCS11PublicKey)tokenKeyStore.getKey("ECDSA_pub",null); + + ECDSAPublicKey pkcs11EcDsaPublicKey = (ECDSAPublicKey)key.getKeyObject(); + + ByteArrayAttribute ecdsaParamsAttribute = (ByteArrayAttribute) pkcs11EcDsaPublicKey.getEcdsaParams(); + ByteArrayAttribute ecPointAttribute = (ByteArrayAttribute) pkcs11EcDsaPublicKey.getEcPoint(); + + if (!ecdsaParamsAttribute.isPresent()) { + throw new IAIKPkcs11Exception("The PKCS#11 ECDSA key object does not possess a ECDSA parameters attribute."); + } + if (!ecPointAttribute.isPresent()) { + throw new IAIKPkcs11Exception("The PKCS#11 ECDSA key object does not possess a EC point attribute."); + } + + byte[] x509encodedPublicKey; + try { + byte[] encodedParameters = ecdsaParamsAttribute.getByteArrayValue(); + byte[] encodedPublicKeyValue = ecPointAttribute.getByteArrayValue(); + + ECDSAKeyFactory fact = new ECDSAKeyFactory(); + + // encoding the algorithm ID with the parameters + ObjectID OBJECT_ID_EC_KEY = new ObjectID("1.2.840.10045.2.1"); + AlgorithmID EC_ALGORITHM_ID = new AlgorithmID(OBJECT_ID_EC_KEY); + + + ASN1 parametersASN1 = new ASN1(encodedParameters); + + EC_ALGORITHM_ID.setParameter(parametersASN1.toASN1Object()); + + // encoding the X.509 subject public key info structure + SEQUENCE publicKeyInfo = new SEQUENCE(); + + publicKeyInfo.addComponent(EC_ALGORITHM_ID.toASN1Object()); + publicKeyInfo.addComponent(new BIT_STRING(encodedPublicKeyValue)); + + x509encodedPublicKey = DerCoder.encode(publicKeyInfo); + + } catch (CodingException ex) { + ex.printStackTrace(); + throw new InvalidKeySpecException("Error during encoding of ECDSA public key: " + ex.toString()); + } + + int size = 0; + + X509EncodedKeySpec keySpec = new X509EncodedKeySpec(x509encodedPublicKey); + byte [] enc = keySpec.getEncoded(); + size = enc.length; + + BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("ecdsakey.key")); + bos.write(enc); + bos.flush(); + bos.close(); + + byte [] data = new byte[size]; + + BufferedInputStream bis = new BufferedInputStream(new FileInputStream("ecdsakey.key")); + bis.read(data); + bis.close(); + + + ASN1Object asn1 = DerCoder.decode(data); + System.out.println("Objectcount:"+asn1.countComponents()); + ASN1Object asnobject1 = asn1.getComponentAt(0); + System.out.println(asnobject1); + + ASN1Object asnobject1_1 = asnobject1.getComponentAt(0); + System.out.println(asnobject1_1); + + ASN1Object asnobject1_2 = asnobject1.getComponentAt(1); + System.out.println(asnobject1_2); + + ASN1Object asnobject2 = asn1.getComponentAt(1); + System.out.println(asnobject2);*/ + + } +} diff --git a/spss.test/src/at/gv/egovernment/moa/spss/client/call/MOACaller.java b/spss.test/src/at/gv/egovernment/moa/spss/client/call/MOACaller.java new file mode 100644 index 000000000..13a06b2fb --- /dev/null +++ b/spss.test/src/at/gv/egovernment/moa/spss/client/call/MOACaller.java @@ -0,0 +1,38 @@ +package at.gv.egovernment.moa.spss.client.call; + +import java.rmi.RemoteException; +import java.util.Vector; + +import javax.xml.namespace.QName; +import javax.xml.rpc.Call; +import javax.xml.rpc.Service; +import javax.xml.rpc.ServiceException; +import javax.xml.rpc.ServiceFactory; + +import org.apache.axis.message.SOAPBodyElement; +import org.w3c.dom.Element; + +/** + * @author Patrick Peck + * @version $Id$ + */ +public class MOACaller { + + protected Element doCall(QName serviceName, Element request, String endPoint) + throws RemoteException, ServiceException, Exception { + Service service = ServiceFactory.newInstance().createService(serviceName); + Call call = service.createCall(); + SOAPBodyElement body = + new SOAPBodyElement(request); + SOAPBodyElement[] params = new SOAPBodyElement[] {body}; + Vector responses; + SOAPBodyElement response; + + call.setTargetEndpointAddress(endPoint); + responses = (Vector) call.invoke(params); + response = (SOAPBodyElement) responses.get(0); + + return response.getAsDOM(); + } + +} diff --git a/spss.test/src/at/gv/egovernment/moa/spss/client/call/SignatureCreationCaller.java b/spss.test/src/at/gv/egovernment/moa/spss/client/call/SignatureCreationCaller.java new file mode 100644 index 000000000..0ca4a23c0 --- /dev/null +++ b/spss.test/src/at/gv/egovernment/moa/spss/client/call/SignatureCreationCaller.java @@ -0,0 +1,23 @@ +package at.gv.egovernment.moa.spss.client.call; + +import java.rmi.RemoteException; + +import javax.xml.namespace.QName; +import javax.xml.rpc.ServiceException; + +import org.w3c.dom.Element; + +/** + * @author Patrick Peck + * @version $Id$ + */ +public class SignatureCreationCaller extends MOACaller { + + private static final QName SERVICE_QNAME = new QName("SignatureCreation"); + + public Element createXMLSignature(Element request, String endPoint) + throws ServiceException, RemoteException, Exception { + return doCall(SERVICE_QNAME, request, endPoint); + } + +} diff --git a/spss.test/src/at/gv/egovernment/moa/spss/client/call/SignatureVerificationCaller.java b/spss.test/src/at/gv/egovernment/moa/spss/client/call/SignatureVerificationCaller.java new file mode 100644 index 000000000..612a1d345 --- /dev/null +++ b/spss.test/src/at/gv/egovernment/moa/spss/client/call/SignatureVerificationCaller.java @@ -0,0 +1,28 @@ +package at.gv.egovernment.moa.spss.client.call; + +import java.rmi.RemoteException; + +import javax.xml.namespace.QName; +import javax.xml.rpc.ServiceException; + +import org.w3c.dom.Element; + +/** + * @author Patrick Peck + * @version $Id$ + */ +public class SignatureVerificationCaller extends MOACaller { + + private static final QName SERVICE_QNAME = new QName("SignatureVerification"); + + public Element verifyCMSSignature(Element request, String endPoint) + throws ServiceException, RemoteException, Exception { + return doCall(SERVICE_QNAME, request, endPoint); + } + + public Element verifyXMLSignature(Element request, String endPoint) + throws ServiceException, RemoteException, Exception { + return doCall(SERVICE_QNAME, request, endPoint); + } + +} diff --git a/spss.test/src/testclient/LasttestClient.java b/spss.test/src/testclient/LasttestClient.java new file mode 100644 index 000000000..339b6609d --- /dev/null +++ b/spss.test/src/testclient/LasttestClient.java @@ -0,0 +1,389 @@ +package testclient; + +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.io.PrintStream; +import java.io.RandomAccessFile; +import java.net.HttpURLConnection; +import java.net.URL; +import java.util.Date; + + +/** + * @author Sven + * + * 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 LasttestClient { + + + public int max_thread_count = 300; + public int thread_counter = 0; + public int error_count = 0; + public int turns = 0; + + public long max = 0; + public long min = Long.MAX_VALUE; + + public PrintStream Log = null; + + public boolean stop = false; + + private String readFile(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()]; + + raf.read(result); + + return new String(result); + + } + + + + public String buildRequest(String filename) throws Exception + { + String data = readFile(filename); + int index = data.indexOf(">"); + + String xml_head = data.substring(0,index+1); + data = data.substring(index+1); + //Log.println("Data2:\n"+data); + + data = + xml_head + + "<soap:Envelope "+ + "xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\" "+ + "soap:encodingStyle=\"http://www.w3.org/2001/12/soap-encoding\"> "+ + "<soap:Body> "+ + data + + "</soap:Body>"+ + "</soap:Envelope>"; + + if(data.indexOf("10.16.46.109")!=-1) + data = replaceString(data,"10.16.46.109","127.0.0.1"); + + System.out.println("Request:"+data); + + return data; + + } + + public String buildEndpoint(String request,String server) + { + String ep = null; + if(request.indexOf("<Create")!=-1) ep = server + "moa-spss/services/SignatureCreation"; + else ep = server + "moa-spss/services/SignatureVerification"; + return ep; + } + + public void startTest(String filename,String server,int req_per_second,int turns) throws Exception + { + this.turns = turns; + String request = buildRequest(filename); + String ep = buildEndpoint(request,server); + + boolean result = doTestRequest(request,ep); + + if(result) + { + System.out.println("TestRequest OK. Lasttest wird gestartet."); + Dispatcher dp = new Dispatcher(this,request,ep,req_per_second,turns); + dp.start(); + while(!stop) + { + System.out.println("Checking Stop Condition ...(Running "+thread_counter+", Min "+(min)+", Max "+(max)+", "+new Date(System.currentTimeMillis())+")"); + Thread.sleep(3000); + } + System.out.println("Fehler:"+error_count+" (Running "+thread_counter+", Min "+(min)+", Max "+(max)+", "+new Date(System.currentTimeMillis())+")"); + } + else + { + System.out.println("TestRequest lieferte einen Fehler. Lasttest wird nicht gestartet."); + } + } + + public boolean doTestRequest(String request,String endpoint) throws Exception + { + HttpURLConnection urlc = (HttpURLConnection)(new URL(endpoint)).openConnection(); + urlc.setDoInput(true); + urlc.setDoOutput(true); + urlc.setRequestProperty("SOAPAction",""); + BufferedWriter ow = new BufferedWriter(new OutputStreamWriter(urlc.getOutputStream())); + ow.write(request); + ow.flush(); + + int code = 0; + try { + code = urlc.getResponseCode(); + } + catch(IOException ioe) + { + ow.close(); + urlc.disconnect(); + return false; + } + BufferedReader iw = new BufferedReader(new InputStreamReader(urlc.getInputStream())); + while(iw.readLine()!=null) {} + ow.close(); + + if(code==500) + { + return false; + } + else + { + BufferedReader br = new BufferedReader(new InputStreamReader(urlc.getInputStream())); + StringBuffer response = new StringBuffer(); + String line = null; + while((line = br.readLine()) != null) + { + response.append(line); + } + + iw.close(); + urlc.disconnect(); + + String resp = response.toString(); + + int pos = resp.indexOf("ErrorCode>"); + if(pos==-1) + { + return true; + } + else + { + return false; + } + } + + } + + private 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 void main(String[] args) throws Exception + { + int sek = 0; + int turns = 0; + + if(args.length!=4) + { + System.out.println("Parameteranzahl falsch. Bitte verwenden Sie die Syntax <Requestdatei><ServerURL><Request_pro_Sekunde(Zahl)><Anzahl_der_Durchläufe(Zahl oder INF)>"); + return; + } + + try { + sek = Integer.parseInt(args[2]); + if(args[3].equals("INF")) + { + turns = 0; + } + else + turns = Integer.parseInt(args[3]); + } + catch(NumberFormatException e) + { + System.out.println("Einer der Parameter (Requestanzahl oder Testanzahl) ist keine Zahl !"); + return; + } + + System.out.println("Starte Lastest mit folgenden Parametern ..."); + System.out.println("Requestdatei: "+args[0]); + System.out.println("ServerURL: "+args[1]); + System.out.println("Requests pro Sekunde: "+sek); + System.out.println("Durchläufe: "+(turns==0?"INF":turns+"")); + + + LasttestClient lc = new LasttestClient(); + //lc.startTest("data/CX0/TestGeneratorCX0.001.Req.xml","http://161.106.2.255:8080/",10,1000); + lc.startTest(args[0],args[1],sek,turns); + } +} + +class Dispatcher extends Thread +{ + private String request = null; + private String endpoint = null; + private LasttestClient parent = null; + private int max; + private int turns; + public Dispatcher(LasttestClient parent,String request,String endpoint,int max,int turns) + { + this.request = request; + this.endpoint = endpoint; + this.parent = parent; + this.max = max; + this.turns = turns; + } + + public void run() + { + this.setPriority(Thread.NORM_PRIORITY+1); + System.out.println("Dispatcher wird gestartet..."); + TestThread[] old_reqs = buildRequests(); + for(int turn_counter=0;turns==0?true:(turn_counter<turns);turn_counter++) + { + System.out.println("Durchlauf "+turn_counter); + if(turns==0) turn_counter--; + TestThread[] reqs = buildRequests(); + for(int counter=0;counter<max;counter++) + { + old_reqs[counter].start(); + } + old_reqs = reqs; + try { + Thread.sleep(1000); + } + catch(Exception e) { e.printStackTrace(); } + } + parent.stop = true; + } + + public TestThread[] buildRequests() + { + TestThread[] ret = new TestThread[max]; + for(int counter=0;counter<max;counter++) + { + ret[counter] = new TestThread(parent,request,endpoint); + } + return ret; + } +} + +class TestThread extends Thread +{ + private String request = null; + private String endpoint = null; + private LasttestClient parent = null; + public TestThread(LasttestClient parent,String request,String endpoint) + { + this.request = request; + this.endpoint = endpoint; + this.parent = parent; + + } + + + /** + * @see java.lang.Runnable#run() + */ + public void run() { + parent.thread_counter++; + + try { + if(!doRequest()) + { + parent.error_count++; + } + } + catch(Exception e) + { + e.printStackTrace(); + parent.error_count++; + } + parent.thread_counter--; + } + + public boolean doRequest() throws Exception + { + long start = System.currentTimeMillis(); + HttpURLConnection urlc = (HttpURLConnection)(new URL(endpoint)).openConnection(); + urlc.setDoInput(true); + urlc.setDoOutput(true); + urlc.setAllowUserInteraction(false); + urlc.setUseCaches(false); + HttpURLConnection.setFollowRedirects(false); + urlc.setRequestProperty("SOAPAction",""); + + + BufferedWriter ow = new BufferedWriter(new OutputStreamWriter(urlc.getOutputStream())); + ow.write(request); + ow.flush(); + + int code = 0; + /*try { + code = urlc.getResponseCode(); + } + catch(IOException ioe) + { + ow.close(); + urlc.disconnect(); + return false; + }*/ + ow.close(); + BufferedReader iw = new BufferedReader(new InputStreamReader(urlc.getInputStream())); + while(iw.readLine()!=null) {} + + if(code==500) + { + return false; + } + else + { + BufferedReader br = new BufferedReader(new InputStreamReader(urlc.getInputStream())); + StringBuffer response = new StringBuffer(); + String line = null; + while((line = br.readLine()) != null) + { + response.append(line); + } + + iw.close(); + urlc.disconnect(); + long end = System.currentTimeMillis(); + + String resp = response.toString(); + + int pos = resp.indexOf("ErrorCode>"); + if(pos==-1) + { + long diff = end-start; + if(parent.max<diff) + { + parent.max=diff; + } + if(parent.min>diff) + { + parent.min=diff; + } + return true; + + } + else + { + return false; + } + } + + } + +}
\ No newline at end of file diff --git a/spss.test/src/testclient/TestClient.java b/spss.test/src/testclient/TestClient.java new file mode 100644 index 000000000..aac30499f --- /dev/null +++ b/spss.test/src/testclient/TestClient.java @@ -0,0 +1,1665 @@ +package testclient; + +import iaik.ixsil.algorithms.Transform; +import iaik.ixsil.algorithms.TransformImplExclusiveCanonicalXML; +import iaik.ixsil.init.IXSILInit; +import iaik.ixsil.util.URI; + +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.io.PrintStream; +import java.io.RandomAccessFile; +import java.io.UTFDataFormatException; +import java.net.HttpURLConnection; +import java.net.URL; +import java.security.KeyStore; +import java.security.Principal; +import java.security.Security; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.Enumeration; +import java.util.Iterator; +import java.util.StringTokenizer; +import java.util.TreeMap; + +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; +import org.xml.sax.SAXParseException; + +import at.gv.egovernment.moa.spss.client.call.SignatureCreationCaller; +import at.gv.egovernment.moa.spss.client.call.SignatureVerificationCaller; +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.XPathUtils; + +import com.sun.net.ssl.internal.ssl.Provider; + +/** + * @author Sven + * + * 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 TestClient +{ + + // stats + private int pos_ok = 0; + private int pos_nok = 0; + private int pos_exc = 0; + private int neg_ok = 0; + private int neg_nok = 0; + private int neg_exc = 0; + private long max_request = 0; + private long min_request = 99999; + private long all_request = 0; + private int count_all_request = 0; + private int count_tests = 0; + + private TreeMap suits = new TreeMap(); + private PrintStream Log = null; + private static File directory = null; + private static String directorystring = null; + private static Provider ssl_provider = null; + private static boolean ssl_connection = false; + private static String defaultserver = "http://localhost:8080/"; + private static String defaultdirectory = "data/feature41/"; + private static String server; + + private static boolean ignoreSignatureValue = false; + + // end points + private static String VERIFICATION_ENDPOINT = "moa-spss/services/SignatureVerification"; + private static String CREATION_ENDPOINT = "moa-spss/services/SignatureCreation"; + private static String SSL_VERIFICATION_ENDPOINT = null; + private static String SSL_CREATION_ENDPOINT = null; + + private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd hh:mm:ss.SSS"); + + // super cool stuff + private static ArrayList testtimes = new ArrayList(); + private static ArrayList testnames = new ArrayList(); + private static ArrayList testvalues = new ArrayList(); + private static ArrayList testerrors = new ArrayList(); + private static int ELEMS_MAX = 40; + private static String ELEMS_ICON = "O"; + private static String ELEMS_ICON_BAD = "X"; + + private static final boolean debug = true; + + public static void main(String[] args) + { + long start = System.currentTimeMillis(); + long end = 0; + System.out.println("Lade IXSIL ..."); + try + { + IXSILInit.init(new URI("init/properties/init.properties")); + } + catch (Exception e) + { + e.printStackTrace(); + System.exit(1); + } + + System.out.println("Starte TestClient @ " + sdf.format(new Date(start)) + "..."); + + if (args.length == 0) + { + directory = new File(defaultdirectory); + server = defaultserver; + System.out.println("DefaultPfad wird benutzt (" + directory.getPath() + ")"); + System.out.println("DefaultServer wird benutzt (" + server + ")"); + } + else if (args.length == 1) + { + System.out.println("Pfad " + args[0] + " wird benutzt "); + directory = new File(args[0]); + server = defaultserver; + System.out.println("DefaultServer wird benutzt (" + server + ")"); + } + else if (args.length == 2) + { + System.out.println("Pfad " + args[0] + " wird benutzt "); + directory = new File(args[0]); + System.out.println("Server " + args[1] + " wird benutzt "); + server = args[1]; + } + + VERIFICATION_ENDPOINT = server + VERIFICATION_ENDPOINT; + CREATION_ENDPOINT = server + CREATION_ENDPOINT; + TestClient tc = new TestClient(); + tc.run(); + end = System.currentTimeMillis(); + System.out.println("Ende TestClient @ " + sdf.format(new Date(end)) + "..."); + System.out.println("Durchlaufzeit: " + ((end - start) / 1000) + " sekunden"); + + } + + public void run() + { + ssl_provider = new Provider(); + Security.addProvider(ssl_provider); + Log = System.out; + try + { + prepareFiles(); + runSuits(); + } + catch (Exception e) + { + e.printStackTrace(); + } + + Log.println("----- Auswertung:"); + Log.println("----- Positiv Tests:" + (pos_ok + pos_nok + pos_exc)); + Log.println("----- OK:" + (pos_ok)); + Log.println("----- nicht OK:" + (pos_nok)); + Log.println("----- Exception aufgetreten:" + (pos_exc)); + Log.println("----- Negativ Test:" + (neg_ok + neg_nok + neg_exc)); + Log.println("----- OK:" + (neg_ok)); + Log.println("----- nicht OK:" + (neg_nok)); + Log.println("----- Exception aufgetreten:" + (neg_exc)); + Log.println("----- schnellste Anfrage:" + min_request + " ms"); + Log.println("----- langsamste Anfrage:" + max_request + " ms"); + if (count_all_request > 2) + Log.println( + "----- durchschnittliche Anfrage:" + + ((all_request - max_request - min_request) / (count_all_request - 2)) + + " ms"); + else if (count_all_request == 0) + Log.println("----- keine gültigen Messungen für Durchschnittsermittlung"); + else + Log.println("----- durchschnittliche Anfrage:" + ((all_request) / (count_all_request)) + " ms"); + } + + private void prepareFiles() throws Exception + { + + if (!directory.isDirectory()) + { + throw new Exception("Das angegebene Verzeichnis ist kein Verzeichnis. Bitte Pfad überprüfen."); + } + + directorystring = directory.getAbsolutePath(); + + String[] list = directory.list(); + for (int counter = 0; counter < list.length; counter++) + { + + if (list[counter].endsWith("Req.xml") + || list[counter].endsWith("Res.xml") + || list[counter].endsWith("Config.xml")) + { + String suitename = list[counter].substring(0, list[counter].indexOf(".")); + + if (!suits.containsKey(suitename)) + suits.put(suitename, null); + + ArrayList al = (ArrayList) suits.get(suitename); + if (al == null) + { + al = new ArrayList(); + suits.put(suitename, al); + } + al.add(list[counter]); + } + } + + } + + private void runSuits() + { + Iterator i = suits.keySet().iterator(); + while (i.hasNext()) + { + String suitename = (String) i.next(); + Log.println("Suite:" + suitename); + ArrayList al = (ArrayList) suits.get(suitename); + testtimes.clear(); + testnames.clear(); + testvalues.clear(); + testerrors.clear(); + runTests(al, suitename); + printGraph(testnames, testtimes, testvalues, testerrors, suitename); + } + } + + private void runTests(ArrayList testlist, String suitename) + { + TreeMap tests = new TreeMap(); + String config = null; + + int size = testlist.size(); + for (int counter = 0; counter < size; counter++) + { + String filename = (String) testlist.get(counter); + StringTokenizer st = new StringTokenizer(filename, "."); + String prefix = st.nextToken(); + String number = st.nextToken(); + + if (number.equals("Config")) + { + config = filename; + continue; + } + + ArrayList testfiles = null; + if (!tests.containsKey(number)) + { + testfiles = new ArrayList(); + tests.put(number, testfiles); + } + else + { + testfiles = (ArrayList) tests.get(number); + } + testfiles.add(filename); + } + + Iterator i = tests.keySet().iterator(); + while (i.hasNext()) + { + String number = (String) i.next(); + runTest((ArrayList) tests.get(number), null, number, suitename); + } + } + + private void runTest(ArrayList files, String config, String number, String suitename) + { + String request = null; + String response = null; + String errorresponse = null; + + //Log.println("Test:"+number+" Mit Config:"+config); + int size = files.size(); + for (int counter = 0; counter < size; counter++) + { + String filename = (String) files.get(counter); + //Log.println("File:"+filename); + if (filename.endsWith("ErrRes.xml")) + errorresponse = filename; + else if (filename.endsWith("Res.xml")) + response = filename; + else if (filename.endsWith("Req.xml")) + request = filename; + else + Log.println("Nicht relevant:" + filename); + } + + if (request != null) + { + for (int counter = 0; counter < 1; counter++) + { + if (response != null && errorresponse != null) + Log.println( + "Test " + number + " nicht gültig ! Sowohl Response als auch ErrorResponse vorhanden !"); + else if (response != null) + runPosTest(request, response, config, number, suitename); + else if (errorresponse != null) + runNegTest(request, errorresponse, config, number, suitename); + } + } + else + { + Log.println("Test " + number + " nicht gültig ! Kein Request vorhanden !"); + } + } + + private void runPosTest(String request, String response, String config, String number, String suitename) + { + long start = System.currentTimeMillis(); + long end = 0; + Log.println("\n----- Starte Test <" + number + "> (positiv) -----"); + Log.println("----- Request: " + request); + Log.println("----- Response: " + response); + try + { + long start_req = 0; + long end_req = 0; + + Log.println("----- Lade Request:" + directorystring + "/" + request); + FileInputStream fis = new FileInputStream(directorystring + "/" + request); + Document root_doc = DOMUtils.parseDocument(fis, false, Constants.ALL_SCHEMA_LOCATIONS, null); + Element root = root_doc.getDocumentElement(); + if (debug) + Log.println(DOMUtils.serializeNode(root)); + + Log.println("----- Lade Response:" + directorystring + "/" + response); + FileInputStream fis2 = new FileInputStream(directorystring + "/" + response); + Document root_response_doc = DOMUtils.parseDocument(fis2, true, Constants.ALL_SCHEMA_LOCATIONS, null); + Element root_response = root_response_doc.getDocumentElement(); + + //can_root_response.normalize(); + + if (request.endsWith("CX3.001.Req.xml")) + { + printKeyStoreInformation("./resources/client.keystore", "changeit"); + System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol"); + System.setProperty("javax.net.ssl.keyStore", "./resources/client.keystore"); + System.setProperty("javax.net.ssl.keyStorePassword", "changeit"); + System.setProperty("javax.net.ssl.trustStore", "./resources/client.keystore"); + System.setProperty("javax.net.ssl.trustStorePassword", "changeit"); + + ssl_connection = true; + } + else + ssl_connection = false; + + if (request.endsWith("CX0.005.Req.xml")) // ECDSA + ignoreSignatureValue = true; + else + ignoreSignatureValue = false; + + boolean compare = false; + + Transform can = new TransformImplExclusiveCanonicalXML(); + can.setInput(XPathUtils.selectNodeList(root_response, XPathUtils.ALL_NODES_XPATH), null); + + InputStream is = (InputStream) can.transform(); + Document can_root_response_doc = + DOMUtils.parseDocument(is, true, Constants.ALL_SCHEMA_LOCATIONS, null); + Element can_root_response = root_response_doc.getDocumentElement(); + + if (checkNode(root, "VerifyCMSSignatureRequest")) + { + Log.println("----- Anfrage wird gesendet ..."); + SignatureVerificationCaller svc = new SignatureVerificationCaller(); + start_req = System.currentTimeMillis(); + Element root_serverresponse = svc.verifyCMSSignature(root, VERIFICATION_ENDPOINT); + end_req = System.currentTimeMillis(); + + Transform can2 = new TransformImplExclusiveCanonicalXML(); + can2.setInput(XPathUtils.selectNodeList(root_serverresponse, XPathUtils.ALL_NODES_XPATH), null); + InputStream is2 = (InputStream) can2.transform(); + + Document can_root_serverresponse_doc = + DOMUtils.parseDocument(is2, true, Constants.ALL_SCHEMA_LOCATIONS, null); + Element can_root_serverresponse = can_root_serverresponse_doc.getDocumentElement(); + if (debug) + Log.println("----- Antwort sollte so aussehen ...\n" + DOMUtils.serializeNode(can_root_response)); + if (debug) + Log.println("----- Antwort vom Server ...\n" + DOMUtils.serializeNode(can_root_serverresponse)); + + Log.println("----- Antwort validieren ...\n"); + DOMUtils.validateElement(can_root_serverresponse, Constants.ALL_SCHEMA_LOCATIONS, null); + Log.println("----- Antwort vergleichen ...\n"); + + String error = findErrorNode(can_root_serverresponse); + if (error != null) + { + compare = false; + Log.println("----- ServerError: " + error); + testerrors.add(error); + } + else + { + compare = compareElements(can_root_response, can_root_serverresponse); + testerrors.add(null); + } + + } + else if (checkNode(root, "VerifyXMLSignatureRequest")) + { + Log.println("----- Anfrage wird gesendet ..."); + SignatureVerificationCaller svc = new SignatureVerificationCaller(); + start_req = System.currentTimeMillis(); + Element root_serverresponse = svc.verifyXMLSignature(root, VERIFICATION_ENDPOINT); + end_req = System.currentTimeMillis(); + + Transform can2 = new TransformImplExclusiveCanonicalXML(); + can2.setInput(XPathUtils.selectNodeList(root_serverresponse, XPathUtils.ALL_NODES_XPATH), null); + InputStream is2 = (InputStream) can2.transform(); + + Document can_root_serverresponse_doc = + DOMUtils.parseDocument(is2, false, Constants.ALL_SCHEMA_LOCATIONS, null); + Element can_root_serverresponse = can_root_serverresponse_doc.getDocumentElement(); + + if (debug) + Log.println("----- Antwort sollte so aussehen ...\n" + DOMUtils.serializeNode(can_root_response)); + if (debug) + Log.println("----- Antwort vom Server ...\n" + DOMUtils.serializeNode(can_root_serverresponse)); + + Log.println("----- Antwort validieren ...\n"); + DOMUtils.validateElement(can_root_serverresponse, Constants.ALL_SCHEMA_LOCATIONS, null); + Log.println("----- Antwort vergleichen ...\n"); + String error = findErrorNode(can_root_serverresponse); + if (error != null) + { + compare = false; + Log.println("----- ServerError: " + error); + testerrors.add(error); + } + else + { + compare = compareElements(can_root_response, can_root_serverresponse); + testerrors.add(null); + } + } + else if (checkNode(root, "CreateXMLSignatureRequest")) + { + Log.println("----- Anfrage wird gesendet ..."); + SignatureCreationCaller scc = new SignatureCreationCaller(); + start_req = System.currentTimeMillis(); + Element root_serverresponse = scc.createXMLSignature(root, CREATION_ENDPOINT); + end_req = System.currentTimeMillis(); + + Transform can2 = new TransformImplExclusiveCanonicalXML(); + can2.setInput(XPathUtils.selectNodeList(root_serverresponse, XPathUtils.ALL_NODES_XPATH), null); + InputStream is2 = (InputStream) can2.transform(); + + Document can_root_serverresponse_doc = + DOMUtils.parseDocument(is2, false, Constants.ALL_SCHEMA_LOCATIONS, null); + Element can_root_serverresponse = can_root_serverresponse_doc.getDocumentElement(); + + if (debug) + Log.println("----- Antwort sollte so aussehen ...\n" + DOMUtils.serializeNode(can_root_response)); + //Log.println("----- Antwort vom Server (von Can)...\n"+DOMUtils.serializeNode(root_serverresponse)); + if (debug) + Log.println("----- Antwort vom Server ...\n" + DOMUtils.serializeNode(can_root_serverresponse)); + + Log.println("----- Antwort validieren ...\n"); + DOMUtils.validateElement(can_root_serverresponse, Constants.ALL_SCHEMA_LOCATIONS, null); + Log.println("----- Antwort vergleichen ...\n"); + + String error = findErrorNode(can_root_serverresponse); + if (error != null) + { + compare = false; + Log.println("----- ServerError: " + error); + testerrors.add(error); + } + else + { + compare = compareElements(can_root_response, can_root_serverresponse); + testerrors.add(null); + } + + } + else + { + throw new Exception("Responsetyp nicht bekannt"); + } + + if (compare) + { + pos_ok++; + testvalues.add(" OK"); + Log.println("----- Keine Fehler aufgetreten"); + } + else + { + pos_nok++; + testvalues.add("NOK"); + Log.println("----- Response war nicht ok !"); + } + + Date start_date = new Date(start_req); + Date end_date = new Date(end_req); + long diff = end_req - start_req; + Log.println("----- Requeststart: " + sdf.format(start_date)); + Log.println("----- Requestende: " + sdf.format(end_date)); + Log.println("----- Requestdauer: " + diff + " ms"); + if (diff > max_request) + max_request = diff; + if (diff < min_request) + min_request = diff; + all_request += diff; + count_all_request++; + + // :) + testtimes.add(new Long(diff)); + testnames.add(number); + } + catch (Exception e) + { + testtimes.add(new Long(-1L)); + testnames.add(number); + testvalues.add("EXC"); + testerrors.add(e.getMessage()); + pos_exc++; + Log.println("----- Exception:\n"); + e.printStackTrace(Log); + } + end = System.currentTimeMillis(); + Log.println("----- Durchlaufzeit: " + ((end - start) / 1000) + " sekunden"); + Log.println("----- Ende Test <" + number + "> -----\n"); + } + + private void runNegTest( + String request, + String errorresponse, + String config, + String number, + String suitename) + { + long start = System.currentTimeMillis(); + long end = 0; + Log.println("\n----- Starte Test <" + number + "> (negativ) -----"); + Log.println("----- Config: " + config); + Log.println("----- Request: " + request); + Log.println("----- ErrorResponse: " + errorresponse); + int error_no = 0; + try + { + + FileInputStream fis = null; + Document root_doc = null; + Element root = null; + long start_req = 0; + long end_req = 0; + + try + { + error_no = Integer.parseInt(readFile(directorystring + "/" + errorresponse)); + } + catch (NumberFormatException nfe) + { + throw new Exception( + "Fehler beim Lesen der Datei " + + directorystring + + "/" + + errorresponse + + ". Die Fehlernummer konnte nicht ermittelt werden"); + } + + try + { + Log.println("----- Lade Request: " + directorystring + "/" + request); + fis = new FileInputStream(directorystring + "/" + request); + root_doc = DOMUtils.parseDocument(fis, false, Constants.ALL_SCHEMA_LOCATIONS, null); + root = root_doc.getDocumentElement(); + } + catch (SAXParseException saxpe) + { + Log.println("Fehler beim Lesen der Requestdatei !"); + throw saxpe; + } + + try + { + if (request.endsWith("CX4.051.Req.xml")) + { + printKeyStoreInformation("./resources/sven.keystore", "example"); + System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol"); + System.setProperty("javax.net.ssl.keyStore", "./resources/sven.keystore"); + System.setProperty("javax.net.ssl.keyStorePassword", "example"); + System.setProperty("javax.net.ssl.trustStore", "./resources/sven.keystore"); + System.setProperty("javax.net.ssl.trustStorePassword", "example"); + + ssl_connection = true; + } + else if (request.endsWith("CX3.052.Req.xml")) + { + printKeyStoreInformation("./resources/client.keystore", "changeit"); + System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol"); + System.setProperty("javax.net.ssl.keyStore", "./resources/client.keystore"); + System.setProperty("javax.net.ssl.keyStorePassword", "changeit"); + System.setProperty("javax.net.ssl.trustStore", "./resources/client.keystore"); + System.setProperty("javax.net.ssl.trustStorePassword", "changeit"); + + ssl_connection = true; + } + else + ssl_connection = false; + + Element root_serverresponse = null; + + if (checkNode(root, "VerifyCMSSignatureRequest")) + { + SignatureVerificationCaller svc = new SignatureVerificationCaller(); + start_req = System.currentTimeMillis(); + root_serverresponse = svc.verifyCMSSignature(root, VERIFICATION_ENDPOINT); + end_req = System.currentTimeMillis(); + Log.println(DOMUtils.serializeNode(root_serverresponse)); + } + else if (checkNode(root, "VerifyXMLSignatureRequest")) + { + SignatureVerificationCaller svc = new SignatureVerificationCaller(); + start_req = System.currentTimeMillis(); + root_serverresponse = svc.verifyXMLSignature(root, VERIFICATION_ENDPOINT); + end_req = System.currentTimeMillis(); + Log.println(DOMUtils.serializeNode(root_serverresponse)); + } + else if (checkNode(root, "CreateXMLSignatureRequest")) + { + SignatureCreationCaller svc = new SignatureCreationCaller(); + start_req = System.currentTimeMillis(); + root_serverresponse = svc.createXMLSignature(root, CREATION_ENDPOINT); + end_req = System.currentTimeMillis(); + Log.println(DOMUtils.serializeNode(root_serverresponse)); + } + + Transform can2 = new TransformImplExclusiveCanonicalXML(); + can2.setInput(XPathUtils.selectNodeList(root_serverresponse, XPathUtils.ALL_NODES_XPATH), null); + InputStream is2 = (InputStream) can2.transform(); + + Document can_root_serverresponse_doc = + DOMUtils.parseDocument(is2, false, Constants.ALL_SCHEMA_LOCATIONS, null); + Element can_root_serverresponse = can_root_serverresponse_doc.getDocumentElement(); + + int errno = getErrorNumber(can_root_serverresponse); + + if (errno == -1) + { + Log.println("Kein Fehler aufgetreten oder Fehlernummer konnte nicht ermittelt werden."); + neg_nok++; + testvalues.add("NOK"); + testerrors.add("Kein Fehler aufgetreten oder Fehlernummer konnte nicht ermittelt werden."); + } + else + { + Log.println("----- Fehlercode vom Server:" + errno); + Log.println("----- Fehlercode vom Test:" + error_no); + if (errno == error_no) + { + Log.println("Test erfolgreich !"); + testvalues.add(" OK"); + testerrors.add(null); + neg_ok++; + } + else + { + Log.println("Test nicht erfolgreich !"); + neg_nok++; + testvalues.add("NOK"); + testerrors.add("Fehlercodes nicht gleich: Server " + errno + " Client " + error_no); + } + } + + } + catch (org.apache.axis.AxisFault af) + { + end_req = System.currentTimeMillis(); + /* + * Sample Fault: + AxisFault + faultCode: {http://xml.apache.org/axis/}Server.userException + faultString: at.gv.egovernment.moa.spss.server.MOAApplicationException: Fehler beim Validieren der Anfrage + faultActor: null + faultDetail: + ErrorResponse: + <ns2:ErrorCode>1100</ns2:ErrorCode> + <ns2:Info>Fehler beim Validieren der Anfrage</ns2:Info> + */ + Element base = af.getFaultDetails()[0]; + System.out.println(DOMUtils.serializeNode(base)); + + int error_no_server = getErrorNumber(base); + if (error_no_server == -1) + { + Log.println("Kein Fehler aufgetreten oder Fehlernummer konnte nicht ermittelt werden."); + neg_nok++; + testvalues.add("NOK"); + testerrors.add("Kein Fehler aufgetreten oder Fehlernummer konnte nicht ermittelt werden."); + } + else + { + Log.println("----- Fehlercode vom Server:" + error_no_server); + Log.println("----- Fehlercode vom Test:" + error_no); + if (error_no_server == error_no) + { + Log.println("Test erfolgreich !"); + testvalues.add(" OK"); + testerrors.add(null); + neg_ok++; + } + else + { + Log.println("Test nicht erfolgreich !"); + neg_nok++; + testvalues.add("NOK"); + testerrors.add("Fehlercodes nicht gleich: Server " + error_no_server + " Client " + error_no); + } + } + } + long diff = end_req - start_req; + Log.println("----- Requestdauer: " + diff + " ms"); + if (diff > max_request) + max_request = diff; + if (diff < min_request) + min_request = diff; + all_request += diff; + count_all_request++; + testtimes.add(new Long(diff)); + testnames.add(number); + + } + catch (UTFDataFormatException e) + { + method2(request, error_no, number); + } + catch (SAXParseException e) + { + method2(request, error_no, number); + } + catch (Exception e) + { + neg_exc++; + testtimes.add(new Long(-1L)); + testnames.add(number); + testvalues.add("EXC"); + testerrors.add(e.getMessage()); + Log.println("----- Exception:\n"); + e.printStackTrace(Log); + } + end = System.currentTimeMillis(); + Log.println("----- Durchlaufzeit: " + ((end - start) / 1000) + " sekunden"); + Log.println("----- Ende Test <" + number + "> -----\n"); + } + + private void method2(String request, int error_no, String number) + { + try + { + Log.println("----- Methode 2\n"); + String data = readFile(directorystring + "/" + request); + //Log.println("Data:\n"+data); + int index = data.indexOf(">"); + if (index != -1) + { + String xml_head = data.substring(0, index); + data = data.substring(index + 1); + //Log.println("Data2:\n"+data); + + data = + xml_head + + "<soap:Envelope " + + "xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\" " + + "soap:encodingStyle=\"http://www.w3.org/2001/12/soap-encoding\"> " + + "<soap:Body> " + + data + + "</soap:Body>" + + "</soap:Envelope>"; + //Log.println("Data3:\n"+data); + + String ep = null; + if (data.indexOf("<Create") != -1) + ep = server + "moa-spss/services/SignatureCreation"; + else + ep = server + "moa-spss/services/SignatureVerification"; + + HttpURLConnection urlc = (HttpURLConnection) (new URL(ep)).openConnection(); + urlc.setDoInput(true); + urlc.setDoOutput(true); + urlc.setRequestProperty("SOAPAction", ""); + BufferedWriter ow = new BufferedWriter(new OutputStreamWriter(urlc.getOutputStream())); + ow.write(data); + ow.flush(); + int code = 0; + try + { + code = urlc.getResponseCode(); + } + catch (IOException ioe) + { + code = 500; + } + + if (code == 500) + { + BufferedReader err_br = new BufferedReader(new InputStreamReader(urlc.getErrorStream())); + StringBuffer err_response = new StringBuffer(); + String err_line = null; + while ((err_line = err_br.readLine()) != null) + { + err_response.append(err_line); + } + + Log.println("ErrResponse:\n" + err_response); + + if (error_no == 0) + { + Log.println("Test erfolgreich !"); + testvalues.add(" OK"); + testtimes.add(new Long(-1)); + testnames.add(number); + testerrors.add(null); + neg_ok++; + } + else + { + Log.println("Test nicht erfolgreich !"); + neg_nok++; + testvalues.add("NOK"); + testtimes.add(new Long(-1)); + testnames.add(number); + testerrors.add("Test nicht erfolgreich !"); + } + + } + else + { + BufferedReader br = new BufferedReader(new InputStreamReader(urlc.getInputStream())); + StringBuffer response = new StringBuffer(); + String line = null; + while ((line = br.readLine()) != null) + { + response.append(line); + } + String resp = response.toString(); + Log.println("Response:\n" + response); + + int pos = resp.indexOf("ErrorCode>"); + if (pos == -1) + { + Log.println("Test nicht erfolgreich !"); + neg_nok++; + testvalues.add("NOK"); + testtimes.add(new Long(-1)); + testnames.add(number); + testerrors.add("Test nicht erfolgreich !"); + } + else + { + resp = resp.substring(pos + "ErrorCode>".length()); + pos = resp.indexOf("<"); + if (pos == -1) + { + Log.println("Test nicht erfolgreich !"); + neg_nok++; + testvalues.add("NOK"); + testtimes.add(new Long(-1)); + testnames.add(number); + testerrors.add("Test nicht erfolgreich !"); + } + else + { + resp = resp.substring(0, pos); + + int err_resp = -1; + try + { + err_resp = Integer.parseInt(resp); + } + catch (NumberFormatException nfe) + { + } + //Log.println("ResponseCode:\n"+resp); + + Log.println("----- Fehlercode vom Server:" + err_resp); + Log.println("----- Fehlercode vom Test:" + error_no); + + if (err_resp == error_no) + { + Log.println("Test erfolgreich !"); + neg_ok++; + testvalues.add(" OK"); + testtimes.add(new Long(-1)); + testnames.add(number); + testerrors.add(null); + } + else + { + Log.println("Test nicht erfolgreich !"); + neg_ok++; + testvalues.add("NOK"); + testtimes.add(new Long(-1)); + testnames.add(number); + testerrors.add("Fehlercodes nicht gleich: Server " + err_resp + " Client " + error_no); + } + } + } + } + } + } + catch (Exception ee) + { + ee.printStackTrace(); + } + } + + private boolean compareElements(Element root1, Element root2) + { + //Log.println("----- Compare Elements:"+root1.getNodeName()+" "+root2.getNodeName()); + filterTree(root1); + filterTree(root2); + return compareNodes(root1, root2, 0, "root/", false); + } + + private boolean compareNodes(Node n1, Node n2, int level, String path, boolean attribute) + { + /*try { + Log.println(DOMUtils.serializeNode(n1)); + } + catch(Exception e) + { + e.printStackTrace(); + }*/ + boolean equal = false; + //Log.println("----- Compare Node "+level+":"+n1+" "+n2); + //Log.println("----- Compare Node "+level+":"+n1.getNodeName()+" "+n2.getNodeName()); + //Log.println("----- Checking:"+path+getPathString(n1)); + NodeList nl1 = n1.getChildNodes(); + NodeList nl2 = n2.getChildNodes(); + + int size1 = nl1.getLength(); + int size2 = nl2.getLength(); + + if (debug) + display_one(n1); + if (debug) + display_one(n2); + + if (debug) + if (n1.getNodeName().equals("Base64Content") && n2.getNodeName().equals("Base64Content")) + { + try + { + Log.println( + "CONT:" + + new String(Base64Utils.decode(strip(n1.getChildNodes().item(0).getNodeValue()), false))); + Log.println( + "CONT:" + + new String(Base64Utils.decode(strip(n2.getChildNodes().item(0).getNodeValue()), false))); + } + catch (Exception e) + { + e.printStackTrace(); + } + } + + if (size1 != size2) + { + Log.println( + "----- Anzahl der Kinder nicht gleich:" + + path + + getPathString(n1) + + "(" + + size1 + + ") / " + + getPathString(n2) + + "(" + + size2 + + ")"); + return false; + } + + equal = compareNodeExact(n1, n2, level, path + getPathString(n1) + "/"); + if (!equal) + { + Log.println("----- Knoten sind nicht identisch:" + path + getPathString(n1)); + return false; + } + + if (n1.hasAttributes() || n2.hasAttributes()) + { + equal = compareNodeAttriubtes(n1, n2, level + 1, path + getPathString(n1) + "/(a)"); + if (!equal) + { + Log.println("----- Attribute stimmen nicht überein:" + path + getPathString(n1)); + return false; + } + } + if (size1 == 0) + { + return true; + } + + for (int counter = 0; counter < size1; counter++) + { + boolean found = false; + Node comp_n1 = nl1.item(counter); + + //if(comp_n1==null) return false; + + Node comp_n2 = null; + size2 = nl2.getLength(); + for (int counter2 = 0; counter2 < size2; counter2++) + { + comp_n2 = nl2.item(counter2); + + /*equal = compareNodeExact(comp_n1,comp_n2,level+1); + if(equal) return false;*/ + //Log.println("COMP_N1:"+comp_n1); + //Log.println("COMP_N2:"+comp_n2); + equal = compareNodes(comp_n1, comp_n2, level + 1, path + getPathString(comp_n1) + "/", false); + if (equal) + { + n2.removeChild(comp_n2); + counter2 = size2; + nl2 = n2.getChildNodes(); + size2 = nl2.getLength(); + } + + } + + if (!equal) + { + Log.println("----- Keine Übereinstimmung gefunden:" + path + getPathString(comp_n1)); + return false; + } + } + return true; + } + + private boolean compareNodeExact(Node n1, Node n2, int level, String path) + { + if (n1.getNodeType() == Node.TEXT_NODE) + { + Text textnode = (Text) n1; + /*Log.println("----- *****"+textnode.getNodeName()); + Log.println("----- *****"+textnode.getParentNode().getNodeName()); + Log.println("----- *****"+textnode.getNodeValue());*/ + } + + //Log.println("----- Checking:"+path); + String n1_name = n1.getNodeName(); + String n2_name = n2.getNodeName(); + /*Log.println("----- !!!!!"+n1.getNodeName()); + Log.println("----- !!!!!"+n1.getNodeValue()); + Log.println("----- !!!!!"+n1.getLocalName()); + Log.println("----- !!!!!"+n1.getPrefix()); + Log.println("----- !!!!!"+n1.getNextSibling()); + Log.println("----- !!!!!"+n1.getPreviousSibling());*/ + + //Log.println("----- Compare Node "+level+":"+n1_name+" "+n2_name); + if (!((n1_name == null && n2_name == null) + || (n1_name != null && n2_name != null && n1_name.equals(n2_name)))) + { + Log.println("----- Name stimmt nicht überein:" + path); + return false; + } + + //Log.println("----- Compare Node "+level+":"+n1.getNodeType()+" "+n2.getNodeType()); + if (n1.getNodeType() != n2.getNodeType()) + { + Log.println("----- Knotentyp stimmt nicht überein:" + path); + return false; + } + + String n1_ns = n1.getPrefix(); + String n2_ns = n2.getPrefix(); + //Log.println("----- Compare Node "+level+":"+n1_ns+" "+n2_ns); + if (!((n1_ns == null && n2_ns == null) || (n1_ns != null && n2_ns != null && n1_ns.equals(n2_ns)))) + { + Log.println("----- NameSpace stimmt nicht überein:" + path); + return false; + } + + String n1_value = n1.getNodeValue(); + String n2_value = n2.getNodeValue(); + + boolean special = false; + special = specialValues(n1_value, n2_value, path); + if (special) + return true; + + //Log.println("----- Compare Node "+level+":"+n1_value+" "+n2_value); + if (!((n1_value == null && n2_value == null) + || (n1_value != null && n2_value != null && n1_value.equals(n2_value)))) + { + Log.println("----- Wert stimmt nicht überein:" + path); + Log.println("----- Value1:\n" + n1_value); + Log.println("----- Value2:\n" + n2_value); + return false; + } + + return true; + } + + private boolean compareNodeAttriubtesWithoutSize(Node n1, Node n2, int level, String path) + { + return true; + } + + private boolean compareNodeAttriubtes(Node n1, Node n2, int level, String path) + { + //Log.println("----- Compare NodeAttributes "+level+":"+n1.getNodeName()+" "+n2.getNodeName()); + Element n1elem = (Element) n1; + Element n2elem = (Element) n2; + + NamedNodeMap nnm1 = n1.getAttributes(); + NamedNodeMap nnm2 = n2.getAttributes(); + + int size1 = 0; + int size2 = 0; + + boolean specialattrs = specialAttributesSize(path); + + if (!specialattrs) + { + + if (nnm1 == null && nnm2 == null) + return true; + if (nnm1 == null || nnm2 == null) + { + Log.println("----- Anzahl der Attribute nicht gleich:" + path + ":" + getPathString(n1)); + return false; + } + size1 = nnm1.getLength(); + size2 = nnm2.getLength(); + + if (size1 != size2) + { + Log.println("----- Anzahl der Attribute nicht gleich:" + path + ":" + getPathString(n1)); + return false; + } + + } + else + { + return compareNodeAttriubtesWithoutSize(n1, n2, level, path); + } + + for (int counter = 0; counter < size1; counter++) + { + Node attribute_node1 = nnm1.item(counter); + Node attribute_node2 = nnm2.item(counter); + + String attr1_name = attribute_node1.getNodeName(); + String attr2_name = attribute_node2.getNodeName(); + + //Log.println("----- Checking:"+path+">"+attr1_name); + + String value1 = n1elem.getAttribute(attr1_name); + String value2 = n2elem.getAttribute(attr2_name); + + boolean special = false; + + special = specialAttributes(value1, value2); + if (special) + { + return special; + } + + if (!value1.equals(value2)) + { + Log.println("----- Keine Übereinstimmung gefunden:" + path + getPathString(n1)); + return false; + } + //Log.println("----- Compare NodeAttributes > "+level+":"+attribute_node1+" "+attribute_node2); + + /*boolean equal = compareNodes(attribute_node1,attribute_node2,level+1,path+attribute_node1.getNodeName()+"/",true); + if(!equal) + { + //Log.println("----- no match for:"+attribute_node1.getNodeName()); + return false; + }*/ + + } + + return true; + } + + private boolean checkNode(Node base, String name) + { + if (base.getNodeName().equals(name)) + { + return true; + } + + NodeList children = base.getChildNodes(); + int size = children.getLength(); + for (int counter = 0; counter < size; counter++) + { + boolean found = checkNode(children.item(counter), name); + if (found) + return true; + } + return false; + } + + private void display_one(Node base) + { + int att_size = 0; + if (base.getAttributes() != null) + { + att_size = base.getAttributes().getLength(); + } + if (base.getNodeName().equals("#text")) + Log.println( + base.getNodeName() + + base.getChildNodes().getLength() + + ":" + + att_size + + " (" + + base.getNodeValue() + + ")"); + else + Log.println(base.getNodeName() + base.getChildNodes().getLength() + ":" + att_size); + } + + 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")) + Log.println( + spacer + + base.getNodeName() + + base.getChildNodes().getLength() + + ":" + + att_size + + " (" + + base.getNodeValue() + + ")"); + else + Log.println(spacer + base.getNodeName() + base.getChildNodes().getLength() + ":" + att_size); + + NodeList children = base.getChildNodes(); + int size = children.getLength(); + for (int counter = 0; counter < size; counter++) + { + display(children.item(counter), level + 1); + } + } + + private void filterTree(Node base) + { + ArrayList removeList = new ArrayList(); + + NodeList children = base.getChildNodes(); + int size = children.getLength(); + for (int counter = 0; counter < size; counter++) + { + Node child1 = children.item(counter); + if (child1.getNodeType() == Node.TEXT_NODE && child1.getNodeValue().trim().equals("")) + { + removeList.add(child1); + } + } + + size = removeList.size(); + for (int counter = 0; counter < size; counter++) + { + base.removeChild((Node) removeList.get(counter)); + } + + children = base.getChildNodes(); + size = children.getLength(); + for (int counter = 0; counter < size; counter++) + { + filterTree(children.item(counter)); + } + + } + + private String readFile(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()]; + + raf.read(result); + + return new String(result); + + } + + private String getPathString(Node n) + { + if (n.getNodeType() == Node.TEXT_NODE) + { + return n.getParentNode().getNodeName() + "(text)"; + } + else + { + return n.getNodeName(); + } + + } + + private 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; + } + + private String replaceStringWithCheck(String input, String oldPart, String newPart) throws Exception + { + String erg = null; + + if (input.indexOf(oldPart) == -1) + return input; + + return replaceString(input, oldPart, newPart); + } + + private void printKeyStoreInformation(String keystore, String pw) throws Exception + { + KeyStore ks = KeyStore.getInstance("JKS", "SUN"); + ks.load(new FileInputStream(keystore), pw.toCharArray()); + Enumeration enum = ks.aliases(); + while (enum.hasMoreElements()) + { + String certname = (String) enum.nextElement(); + Log.println("Cert:" + certname); + sun.security.x509.X509CertImpl c = (sun.security.x509.X509CertImpl) ks.getCertificate(certname); + Principal p = c.getIssuerDN(); + Log.println(" Issuer:" + p.getName()); + p = c.getSubjectDN(); + Log.println(" Subject:" + p.getName()); + Log.println(" Serial:" + c.getSerialNumber()); + } + } + + private void printGraph( + ArrayList names, + ArrayList times, + ArrayList values, + ArrayList errors, + String suitename) + { + long max = getMax(times, names); + //Log.println("MAX:"+max); + if (max == -1) + { + Log.println("Kein Graph möglich !"); + return; + } + Log.println("names:" + names.size()); + Log.println("times:" + times.size()); + Log.println("values:" + values.size()); + Log.println("errors:" + errors.size()); + Log.println("# | Status | Suite:" + suitename); + int size = times.size(); + for (int counter = 0; counter < size; counter++) + { + String output = ""; + long value = ((Long) times.get(counter)).longValue(); + if (value != -1) + { + output = names.get(counter) + " | " + values.get(counter) + " | " + getElement(value, max); + + } + else + { + output = names.get(counter) + " | " + values.get(counter) + " | " + ELEMS_ICON_BAD; + } + + if (errors.get(counter) != null) + { + output += buildSpacer(70 - output.length()) + errors.get(counter); + } + Log.println(output); + } + + } + + private String getElement(long value, long max) + { + boolean plus = false; + int elems = (int) (((((double) value) / ((double) max)) * (ELEMS_MAX / 2))); + if (elems > ELEMS_MAX) + { + elems = ELEMS_MAX; + plus = true; + } + StringBuffer sb = new StringBuffer(); + for (int counter = 0; counter < elems; counter++) + { + sb.append(ELEMS_ICON); + } + for (int counter = 0; counter < (ELEMS_MAX - elems); counter++) + { + sb.append(" "); + } + if (plus) + sb.append("> "); + else + sb.append(" "); + + sb.append(value + " ms"); + + return sb.toString(); + } + + private long getMax(ArrayList times, ArrayList names) + { + int count = 0; + double sum = 0; + int size = times.size(); + for (int counter = 0; counter < size; counter++) + { + //Log.println(times.get(counter)+":"+names.get(counter)); + long value = ((Long) times.get(counter)).longValue(); + if (value != -1) + { + sum += value; + count++; + } + } + + if (count == 0) + return -1; + + return ((long) (sum / count)); + } + + private boolean specialAttributes(String value1, String value2) + { + //if(value1.startsWith("reference-") && value2.startsWith("reference-")) return true; + if (value1.startsWith("signature-") && value2.startsWith("signature-")) + return true; + + return false; + } + + private boolean specialAttributesSize(String path) + { + if (path.endsWith("/xsl:template/(a)")) + return true; + return false; + } + + private boolean specialValues(String value1, String value2, String path) + { + + //Log.println(path); + if (ignoreSignatureValue) + { + if (path.endsWith("/dsig:SignatureValue(text)/")) + { + return true; + } + } + else + { + if (path.endsWith("/dsig:SignatureValue(text)/")) + { + String stripped_1 = strip(value1); + String stripped_2 = strip(value2); + return stripped_1.equals(stripped_2); + } + } + + if (path.endsWith("/dsig:X509Certificate(text)/")) + { + String stripped_1 = strip(value1); + String stripped_2 = strip(value2); + return stripped_1.equals(stripped_2); + } + + if (path.endsWith("/dsig:Object(text)/")) + { + String stripped_1 = strip(value1); + String stripped_2 = strip(value2); + return stripped_1.equals(stripped_2); + } + + if (path.endsWith("/Base64Content(text)/")) + { + String stripped_1 = strip(value1); + String stripped_2 = strip(value2); + return stripped_1.equals(stripped_2); + } + + if (path.endsWith("/FailedReference(text)/")) + { + try + { + int stripped_1 = Integer.parseInt(value1); + int stripped_2 = Integer.parseInt(value2); + return stripped_1 == stripped_2; + } + catch (Exception e) + { + return false; + } + } + + return false; + } + + private String strip(String input) + { + String output = replaceStringAll(input, " ", ""); + output = replaceStringAll(output, "\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; + } + + private int getErrorNumber(Element root) + { + ArrayList result = new ArrayList(); + findNode(root, "ErrorCode", result); + if (result.size() != 1) + return -1; + Node n = (Node) result.get(0); + String text = (String) n.getChildNodes().item(0).getNodeValue(); + try + { + int error = Integer.parseInt(text); + return error; + } + catch (NumberFormatException nfe) + { + Log.println(text + " ist keine gültige Fehlernummer"); + return -1; + } + } + + private void findNode(Node base, String name, ArrayList foundNodes) + { + findNode(base, name, foundNodes, -1); + } + + private void findNode(Node base, String name, ArrayList foundNodes, int max_level) + { + findNode(base, name, foundNodes, max_level, 0); + } + + private 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().endsWith(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); + } + } + + private String findErrorNode(Node n) + { + ArrayList al = new ArrayList(); + findNode(n, "ErrorResponse", al); + if (al.size() != 0) + { + al.clear(); + findNode(n, "ErrorCode", al); + String code = ((Node) al.get(0)).getChildNodes().item(0).getNodeValue(); + al.clear(); + findNode(n, "Info", al); + String msg = ((Node) al.get(0)).getChildNodes().item(0).getNodeValue(); + + return "ErrorCode: " + code + " / ErrorMsg: " + msg; + } + else + return null; + } + + private String buildSpacer(int length) + { + if (length <= 0) + return ""; + else + { + StringBuffer output = new StringBuffer(); + for (int counter = 0; counter < length; counter++) + { + output.append(" "); + } + return output.toString(); + } + } + +}
\ No newline at end of file diff --git a/spss.test/src/testgenerator/CMSKeyStore.java b/spss.test/src/testgenerator/CMSKeyStore.java new file mode 100644 index 000000000..a85da893b --- /dev/null +++ b/spss.test/src/testgenerator/CMSKeyStore.java @@ -0,0 +1,198 @@ +// 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 new file mode 100644 index 000000000..6e4892d64 --- /dev/null +++ b/spss.test/src/testgenerator/CMSKeyStoreConstants.java @@ -0,0 +1,51 @@ +// 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 new file mode 100644 index 000000000..896daf6d1 --- /dev/null +++ b/spss.test/src/testgenerator/CreatePKCSSignature.java @@ -0,0 +1,874 @@ +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 new file mode 100644 index 000000000..d0743612e --- /dev/null +++ b/spss.test/src/testgenerator/DataGenerator.java @@ -0,0 +1,45 @@ +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 new file mode 100644 index 000000000..c306ddeb6 --- /dev/null +++ b/spss.test/src/testgenerator/EtsiProperties.java @@ -0,0 +1,113 @@ +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 new file mode 100644 index 000000000..70965ae09 --- /dev/null +++ b/spss.test/src/testgenerator/LauchAll.java @@ -0,0 +1,28 @@ +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 new file mode 100644 index 000000000..3c4191411 --- /dev/null +++ b/spss.test/src/testgenerator/LaunchVX.java @@ -0,0 +1,24 @@ +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 new file mode 100644 index 000000000..b6fef9575 --- /dev/null +++ b/spss.test/src/testgenerator/Pass.java @@ -0,0 +1,22 @@ +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 new file mode 100644 index 000000000..441e64236 --- /dev/null +++ b/spss.test/src/testgenerator/SetupCMSKeyStore.java @@ -0,0 +1,671 @@ +// 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 new file mode 100644 index 000000000..b1505418d --- /dev/null +++ b/spss.test/src/testgenerator/SignatureManifestCheckParams.java @@ -0,0 +1,176 @@ +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 new file mode 100644 index 000000000..41edd4118 --- /dev/null +++ b/spss.test/src/testgenerator/Supplement.java @@ -0,0 +1,62 @@ +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 new file mode 100644 index 000000000..e4d022383 --- /dev/null +++ b/spss.test/src/testgenerator/TestCMS.java @@ -0,0 +1,118 @@ +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 new file mode 100644 index 000000000..db61af297 --- /dev/null +++ b/spss.test/src/testgenerator/TestCases.java @@ -0,0 +1,611 @@ +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 new file mode 100644 index 000000000..31778c6a2 --- /dev/null +++ b/spss.test/src/testgenerator/TestGeneratorCX0.java @@ -0,0 +1,2940 @@ + +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 new file mode 100644 index 000000000..44670742b --- /dev/null +++ b/spss.test/src/testgenerator/TestGeneratorCX1.java @@ -0,0 +1,1054 @@ +package testgenerator; + +import iaik.ixsil.algorithms.Transform; +import iaik.ixsil.algorithms.TransformImplBase64Decode; +import iaik.ixsil.algorithms.TransformImplCanonicalXML; +import iaik.ixsil.algorithms.TransformImplCanonicalXMLWithComments; +import iaik.ixsil.algorithms.TransformImplEnvelopedSignature; +import iaik.ixsil.algorithms.TransformImplExclusiveCanonicalXML; +import iaik.ixsil.algorithms.TransformImplExclusiveCanonicalXMLWithComments; +import iaik.ixsil.algorithms.TransformImplXPath; +import iaik.ixsil.algorithms.TransformImplXPath2; +import iaik.ixsil.algorithms.TransformImplXSLT; +import iaik.ixsil.core.Position; +import iaik.ixsil.util.URI; +import java.io.BufferedWriter; +import java.io.ByteArrayInputStream; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.FileWriter; +import java.io.InputStream; +import java.net.URL; +import java.net.URLConnection; +import java.util.ArrayList; +import java.util.HashMap; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; + +import org.w3c.dom.Document; +import org.w3c.dom.Node; + +import at.gv.egovernment.moa.util.Base64Utils; +import at.gv.egovernment.moa.util.DOMUtils; + +/** + * @author Administrator + * + * To change this generated comment edit the template variable "typecomment": + * Window>Preferences>Java>Templates. + * To enable and disable the creation of type comments go to + * Window>Preferences>Java>Code Generation. + */ +public class TestGeneratorCX1 extends TestCases { + + String datadirectory = "data/CX1/"; + + String base64content = "RGllcyBzaW5kIFRlc3RkYXRlbg=="; + + String defaultblock = + "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+ + "<CreateXMLSignatureRequest xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\" xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\" >"+ + "<KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>"+ + "<SingleSignatureInfo SecurityLayerConformity=\"false\">"+ + "<DataObjectInfo Structure=\"detached\" ChildOfManifest=\"false\">"+ + "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/BookData.xml"+"\">"+ + "<XMLContent xml:space=\"preserve\">"+ + "<data:book xmlns:data=\"http://uri.data.org\" data:hardback=\"yes\">"+ + "<data:title>Gesundheitliche Auswirkungen elektronischer Signaturen</data:title>"+ + "<data:first-name>Ellipse</data:first-name>"+ + "<data:last-name>Kurvenreich</data:last-name>"+ + "<data:birth-date>1951-04-16</data:birth-date>"+ + "<data:birth-location>Hinterm Berg</data:birth-location>"+ + "<data:register-number>6-930-21512-12</data:register-number>"+ + "</data:book>"+ + "</XMLContent>"+ + "</DataObject>"+ + "<CreateTransformsInfoProfile>"+ + "<CreateTransformsInfo>"+ + "<dsig:Transforms>"+ + "<!-- insert transform -->"+ + "</dsig:Transforms>"+ + "<FinalDataMetaInfo>"+ + "<MimeType>text/html</MimeType>"+ + "<Description>http://www.description.com</Description>"+ + "</FinalDataMetaInfo>"+ + "</CreateTransformsInfo>"+ + "<!-- insert supp -->"+ + "</CreateTransformsInfoProfile>"+ + "</DataObjectInfo>"+ + "<!-- insert data2 -->"+ + "</SingleSignatureInfo>"+ + "</CreateXMLSignatureRequest>"; + + private static final int canAlgCanXML = 1; + private static final int canAlgCanXMLwithCom = 2; + private static final int canAlgExcXML = 3; + private static final int canAlgExcXMLwithCom = 4; + + + public String fileprefix = null; + public String filesuffix = null; + + public TestGeneratorCX1() throws Exception { + + super(); + + // Set config properties + configuration_.setProperty("TestClass", "TestGeneratorCX1"); +// configuration_.setProperty("privateKeyFile", baseDir + "additionalFiles/keys/RSAPrivateKey.der"); +// configuration_.setProperty("publicKeyFile", baseDir + "additionalFiles/keys/RSAPublicKey.der"); +// configuration_.setProperty("signatureFile", baseDir + "additionalFiles/signatures/Signature.unit1.xml"); + + iaik.security.provider.IAIK.addAsProvider(); + iaik.security.ecc.provider.ECCProvider.addAsProvider(); + } + + public static void main(String[] args) throws Exception { + TestGeneratorCX1 testcase = new TestGeneratorCX1(); + + testcase.createConfig(); + testcase.create001(); + testcase.create002(); + testcase.create003(); + testcase.create004(); + testcase.create005(); + testcase.create006(); + testcase.create007(); + testcase.create008(); + testcase.create009(); + testcase.create010(); + testcase.create011(); + testcase.create012(); + testcase.create013(); + testcase.create014(); + + testcase.create051(); + testcase.create052(); + testcase.create053(); + testcase.create054(); + testcase.create055(); + + } + + public void createConfig() throws Exception { + + String file = configuration_.getProperty("baseDir") + datadirectory + + configuration_.getProperty("TestClass") + + ".Config.xml"; + String config = + + "<MOAConfiguration xmlns=\"http://reference.e-government.gv.at/namespace/moaconfig/20021122#\">"+ + " <KeyGroup id=\"PKCS12RSAKey1\"> <Key id=\"resources/test-ee2003_normal(buergerkarte).p12\"/> </KeyGroup>"+ + " <KeyGroup id=\"PKCS12RSAKeyExpired\"> <Key id=\"sicher-demo(buergerkarte).p12\"/> </KeyGroup>"+ + + " <KeyGroup id=\"PKCS12ECDSAKey1\"> <Key id=\"ecc.p12\"/> </KeyGroup> "+ + " <KeyGroup id=\"HSMRSAKey1\"> <Key id=\"???\"/> </KeyGroup>"+ + " <KeyGroup id=\"HSMECDSAKey1\"> <Key id=\"???\"/> </KeyGroup>"+ + " <DigestMethodAlgorithm name=\"http://www.w3.org/2000/09/xmldsig#sha1\"/>"+ + " <SignatureAlgorithm name=\"http://www.w3.org/2000/09/xmldsig#rsa-sha1\"/>"+ + " <CanonicalizationAlgorithm name=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"/>"+ + " <CreateTransformsInfoProfile id=\"CreateTransformsInfoProfile1\" filename=\""+"file:/"+configuration_.getProperty("webbaseDir")+"CX1_bookprofile.xsl\"/>"+ + "</MOAConfiguration>"; + + + /*"<MOAConfiguration>"+ + " <KeyGroup id=\"PKCS12RSAKey1\"/> <!-- mapped auf \"test(1234).p12\" -->"+ + "</MOAConfiguration>"+ + "<!-- CanonicalizationMethod = http://www.w3.org/TR/2001/REC-xml-c14n-20010315 -->" + + "<!-- SignatureMethod = http://www.w3.org/2000/09/xmldsig#rsa-sha1 -->";*/ + + FileOutputStream fos = new FileOutputStream(file); + fos.write(config.getBytes()); + fos.flush(); + fos.close(); + + fileprefix = configuration_.getProperty("baseDir")+ datadirectory + configuration_.getProperty("TestClass") + "."; + filesuffix = ".xml"; + } + + public void create001() throws Exception { + + String TestNumber = "001"; + String reqFile = fileprefix + TestNumber + ".Req"+filesuffix; + + String req = replaceString(defaultblock,"<!-- insert transform -->", + "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xslt-19991116\">"+ + "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\"><xsl:output method=\"html\" indent=\"no\"/><xsl:template match=\"data:book\" xmlns:data=\"http://uri.data.org\"><HTML><BODY><H1>Buch: <xsl:value-of select=\"data:title\"/></H1></BODY></HTML></xsl:template></xsl:stylesheet>"+ + "</dsig:Transform>"); + + writeFile(reqFile,req); + + String resFile = fileprefix + TestNumber + ".Res"+filesuffix; + + CreatePKCSSignature cpkcs = new CreatePKCSSignature(); + cpkcs.init("signature-1-1"); + cpkcs.setCanoncialization(canAlgCanXML); + //cpkcs.createReference(true,"Dies sind testdaten"); + + Transform[] tr = new Transform[1]; + TransformImplXSLT trans = new TransformImplXSLT(); + InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl"); + trans.setInput(s,null); + trans.setStyleSheet(s,null); + tr[0] = trans; + + cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1"); + + cpkcs.setKeyInformation(1); + + Document doc = cpkcs.returnSig(); + + String output = makeOutputFile(doc); + + writeFile(resFile, output); + + } + + public void create002() throws Exception { + + String TestNumber = "002"; + String reqFile = fileprefix + TestNumber + ".Req"+filesuffix; + + String req = replaceString(defaultblock,"<!-- insert transform -->", + "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xslt-19991116\">"+ + "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+ + "<xsl:output method=\"html\" indent=\"no\"/>"+ + "<xsl:template match=\"data:book\" xmlns:data=\"http://uri.data.org\">"+ + "<HTML>"+ + "<BODY>"+ + "<H1>Buch: <xsl:value-of select=\"data:title\"/>"+ + "</H1>"+ + "</BODY>"+ + "</HTML>"+ + "</xsl:template>"+ + "</xsl:stylesheet>"+ + "</dsig:Transform>"); + + req = replaceString(req,"SecurityLayerConformity=\"false\"","SecurityLayerConformity=\"true\""); + + writeFile(reqFile,req); + + String resFile = fileprefix + TestNumber + ".Res"+filesuffix; + + CreatePKCSSignature cpkcs = new CreatePKCSSignature(); + cpkcs.init("signature-1-1"); + cpkcs.setCanoncialization(canAlgCanXML); + //cpkcs.createReference(true,"Dies sind testdaten"); + + Transform[] tr = new Transform[1]; + TransformImplXSLT trans = new TransformImplXSLT(); + InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl"); + trans.setInput(s,null); + trans.setStyleSheet(s,null); + tr[0] = trans; + + cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1"); + //cpkcs.createReferenceWithManifest(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),"manifestObject"); + cpkcs.createETSIObjects("file:/"+configuration_.getProperty("webbaseDir")+"resources/BookData.xml"); + cpkcs.setKeyInformation(1); + + cpkcs.signer.getSignature().setId("signature-1-1"); + + Document doc = cpkcs.returnSig(); + + String output = makeOutputFile(doc); + + writeFile(resFile, output); + + } + + public void create003() throws Exception { + + String TestNumber = "003"; + String reqFile = fileprefix + TestNumber + ".Req"+filesuffix; + + String req = replaceString(defaultblock,"<!-- insert transform -->", + "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xpath-19991116\">"+ + "<dsig:XPath xmlns:data=\"http://uri.data.org\">//data:book/data:first-name</dsig:XPath>"+ + "</dsig:Transform>"); + + req = replaceString(req,"<MimeType>text/html</MimeType>","<MimeType>text/plain</MimeType>"); + + writeFile(reqFile,req); + + String resFile = fileprefix + TestNumber + ".Res"+filesuffix; + + CreatePKCSSignature cpkcs = new CreatePKCSSignature(); + cpkcs.init("signature-1-1"); + cpkcs.setCanoncialization(canAlgCanXML); + //cpkcs.createReference(true,"Dies sind testdaten"); + + Transform[] tr = new Transform[1]; + TransformImplXPath trans = new TransformImplXPath(); + InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/BookData.xml"); + trans.setInput(s,null); + trans.addNSDeclaration("data",new URI("http://uri.data.org")); + trans.setXPath("//data:book/data:first-name"); + //trans.setXPath("ancestor-or-self::data:first-name"); + + tr[0] = trans; + + cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1"); + cpkcs.setKeyInformation(1); + + Document doc = cpkcs.returnSig(); + + String output = makeOutputFile(doc); + + output = replaceString(output,"<dsig:XPath xmlns:data=\"http://uri.data.org\">","<dsig:XPath>"); // workaround + + writeFile(resFile, output); + + } + + public void create004() throws Exception { + + String TestNumber = "004"; + String reqFile = fileprefix + TestNumber + ".Req"+filesuffix; + + String req = replaceString(defaultblock,"<!-- insert transform -->", + "<dsig:Transform Algorithm=\"http://www.w3.org/2002/06/xmldsig-filter2\">"+ + "<xf2:XPath Filter=\"subtract\" xmlns:xf2=\"http://www.w3.org/2002/06/xmldsig-filter2\" xmlns:data=\"http://uri.data.org\">//data:book/data:first-name</xf2:XPath>"+ + "</dsig:Transform>"); + + req = replaceString(req,"<MimeType>text/html</MimeType>","<MimeType>text/xml</MimeType>"); + + writeFile(reqFile,req); + + String resFile = fileprefix + TestNumber + ".Res"+filesuffix; + + CreatePKCSSignature cpkcs = new CreatePKCSSignature(); + cpkcs.init("signature-1-1"); + cpkcs.setCanoncialization(canAlgCanXML); + //cpkcs.createReference(true,"Dies sind testdaten"); + + Transform[] tr = new Transform[1]; + TransformImplXPath2 trans = new TransformImplXPath2(); + InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/BookData.xml"); + trans.setInput(s,null); + //trans.addNSDeclaration("data",new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml")); + //trans.setXPath("/data:book/data:first-name/node()"); + HashMap temp = new HashMap(); + temp.put("data",new URI("http://uri.data.org")); + trans.addXPathFilter("//data:book/data:first-name",TransformImplXPath2.FILTER_MODE_SUBTRACT_,temp); + tr[0] = trans; + + cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1"); + cpkcs.setKeyInformation(1); + + Document doc = cpkcs.returnSig(); + + String output = makeOutputFile(doc); + + output = replaceString(output,"<xf2:XPath Filter=\"subtract\" xmlns:data=\"http://uri.data.org\"","<xf2:XPath Filter=\"subtract\" "); + + writeFile(resFile, output); + + } + + public void create005() throws Exception { + + String TestNumber = "005"; + String reqFile = fileprefix + TestNumber + ".Req"+filesuffix; + + String req = replaceString(defaultblock,"<!-- insert transform -->", + "<dsig:Transform Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"/>"); + + req = replaceString(req,"<MimeType>text/html</MimeType>","<MimeType>text/xml</MimeType>"); + + writeFile(reqFile,req); + + String resFile = fileprefix + TestNumber + ".Res"+filesuffix; + + CreatePKCSSignature cpkcs = new CreatePKCSSignature(); + cpkcs.init("signature-1-1"); + cpkcs.setCanoncialization(canAlgCanXML); + //cpkcs.createReference(true,"Dies sind testdaten"); + + Transform[] tr = new Transform[1]; + TransformImplCanonicalXML trans = new TransformImplCanonicalXML(); + InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl"); + trans.setInput(s,null); + /*trans.addNSDeclaration("data",new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml")); + trans.setXPath("/data:book/data:first-name/node()"); + trans.*/ + tr[0] = trans; + + cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1"); + cpkcs.setKeyInformation(1); + + Document doc = cpkcs.returnSig(); + + String output = makeOutputFile(doc); + + writeFile(resFile, output); + + } + + public void create006() throws Exception { + + String TestNumber = "006"; + String reqFile = fileprefix + TestNumber + ".Req"+filesuffix; + + String req = replaceString(defaultblock,"<!-- insert transform -->", + "<dsig:Transform Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments\"/>"); + + req = replaceString(req,"<MimeType>text/html</MimeType>","<MimeType>text/xml</MimeType>"); + + writeFile(reqFile,req); + + String resFile = fileprefix + TestNumber + ".Res"+filesuffix; + + CreatePKCSSignature cpkcs = new CreatePKCSSignature(); + cpkcs.init("signature-1-1"); + cpkcs.setCanoncialization(canAlgCanXML); + //cpkcs.createReference(true,"Dies sind testdaten"); + + Transform[] tr = new Transform[1]; + TransformImplCanonicalXMLWithComments trans = new TransformImplCanonicalXMLWithComments(); + InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl"); + trans.setInput(s,null); + /*trans.addNSDeclaration("data",new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml")); + trans.setXPath("/data:book/data:first-name/node()"); + trans.*/ + tr[0] = trans; + + cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1"); + cpkcs.setKeyInformation(1); + + Document doc = cpkcs.returnSig(); + + String output = makeOutputFile(doc); + + writeFile(resFile, output); + + } + + public void create007() throws Exception { + + String TestNumber = "007"; + String reqFile = fileprefix + TestNumber + ".Req"+filesuffix; + + String req = replaceString(defaultblock,"<!-- insert transform -->", + "<dsig:Transform Algorithm=\"http://www.w3.org/2001/10/xml-exc-c14n#\"><ec:InclusiveNamespaces PrefixList=\"dsig\" xmlns:ec=\"http://www.w3.org/2001/10/xml-exc-c14n#\"/></dsig:Transform>"); + + req = replaceString(req,"<MimeType>text/html</MimeType>","<MimeType>text/xml</MimeType>"); + + writeFile(reqFile,req); + + String resFile = fileprefix + TestNumber + ".Res"+filesuffix; + + CreatePKCSSignature cpkcs = new CreatePKCSSignature(); + cpkcs.init("signature-1-1"); + cpkcs.setCanoncialization(canAlgCanXML); + //cpkcs.createReference(true,"Dies sind testdaten"); + + Transform[] tr = new Transform[1]; + TransformImplExclusiveCanonicalXML trans = new TransformImplExclusiveCanonicalXML(); + InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl"); + trans.setInput(s,null); + trans.setInclusiveNamespacePrefixes("dsig"); + /*trans.addNSDeclaration("data",new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml")); + trans.setXPath("/data:book/data:first-name/node()"); + trans.*/ + tr[0] = trans; + + cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1"); + cpkcs.setKeyInformation(1); + + Document doc = cpkcs.returnSig(); + + String output = makeOutputFile(doc); + + writeFile(resFile, output); + + } + + public void create008() throws Exception { + + String TestNumber = "008"; + String reqFile = fileprefix + TestNumber + ".Req"+filesuffix; + + String req = replaceString(defaultblock,"<!-- insert transform -->", + "<dsig:Transform Algorithm=\"http://www.w3.org/2001/10/xml-exc-c14n#WithComments\"><ec:InclusiveNamespaces PrefixList=\"dsig\" xmlns:ec=\"http://www.w3.org/2001/10/xml-exc-c14n#\"/></dsig:Transform>"); + + req = replaceString(req,"<MimeType>text/html</MimeType>","<MimeType>text/xml</MimeType>"); + + writeFile(reqFile,req); + + String resFile = fileprefix + TestNumber + ".Res"+filesuffix; + + CreatePKCSSignature cpkcs = new CreatePKCSSignature(); + cpkcs.init("signature-1-1"); + cpkcs.setCanoncialization(canAlgCanXML); + //cpkcs.createReference(true,"Dies sind testdaten"); + + Transform[] tr = new Transform[1]; + TransformImplExclusiveCanonicalXMLWithComments trans = new TransformImplExclusiveCanonicalXMLWithComments(); + InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl"); + trans.setInput(s,null); + trans.setInclusiveNamespacePrefixes("dsig"); + /*trans.addNSDeclaration("data",new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml")); + trans.setXPath("/data:book/data:first-name/node()"); + trans.*/ + tr[0] = trans; + + cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1"); + cpkcs.setKeyInformation(1); + + Document doc = cpkcs.returnSig(); + + String output = makeOutputFile(doc); + + writeFile(resFile, output); + + } + + public void create009() throws Exception { + + String TestNumber = "009"; + String reqFile = fileprefix + TestNumber + ".Req"+filesuffix; + + String req = replaceString(defaultblock,"<!-- insert transform -->", + "<dsig:Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#enveloped-signature\"/>"); + + req = replaceString(req,"<XMLContent xml:space=\"preserve\">"+ + "<data:book xmlns:data=\"http://uri.data.org\" data:hardback=\"yes\">"+ + "<data:title>Gesundheitliche Auswirkungen elektronischer Signaturen</data:title>"+ + "<data:first-name>Ellipse</data:first-name>"+ + "<data:last-name>Kurvenreich</data:last-name>"+ + "<data:birth-date>1951-04-16</data:birth-date>"+ + "<data:birth-location>Hinterm Berg</data:birth-location>"+ + "<data:register-number>6-930-21512-12</data:register-number>"+ + "</data:book>"+ + "</XMLContent>",""); + + req = replaceString(req, + "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/BookData.xml"+"\">", + "<DataObject Reference=\"\">"); + + //req = replaceString(req,"Structure=\"detached\"","Structure=\"enveloping\""); + + + req = replaceString(req,"<!-- insert data2 -->", + "<CreateSignatureInfo><CreateSignatureEnvironment><XMLContent xml:space=\"preserve\"><env:Document xmlns:env=\"http://uri.env.org\">Text</env:Document></XMLContent></CreateSignatureEnvironment><CreateSignatureEnvironmentProfile><CreateSignatureLocation xmlns:env=\"http://uri.env.org\" Index=\"1\">//env:Document</CreateSignatureLocation></CreateSignatureEnvironmentProfile></CreateSignatureInfo>"); + writeFile(reqFile,req); + + String resFile = fileprefix + TestNumber + ".Res"+filesuffix; + + InputStream bis = new ByteArrayInputStream(("<env:Document xmlns:env=\"http://uri.env.org\">Text</env:Document>").getBytes()); + //Document-Builder holen + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + factory.setNamespaceAware(true); + DocumentBuilder builder = factory.newDocumentBuilder(); + //Dokument Parsen + Document reqDoc = builder.parse(bis); + + System.out.println(DOMUtils.serializeNode(reqDoc.getDocumentElement())); + //Position für die Signatur angeben + String xPath_Pos = "/node()"; + //XPAth-Prefixe deklarieren + String xPath_Prefix = "env xmlns:env=\"http://uri.env.org\""; + Position pos = new Position(xPath_Pos, xPath_Prefix,0); + + CreatePKCSSignature cpkcs = new CreatePKCSSignature(); + cpkcs.init(reqDoc,pos,"signature-1-1"); + cpkcs.setCanoncialization(canAlgCanXML); + //cpkcs.createReference(true,"Dies sind testdaten"); + + Transform[] tr = new Transform[1]; + TransformImplEnvelopedSignature trans = new TransformImplEnvelopedSignature(); + + /*trans.addNSDeclaration("data",new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml")); + trans.setXPath("/data:book/data:first-name/node()"); + trans.*/ + tr[0] = trans; + + cpkcs.createReferenceWithTransforms(new URI(""),tr,"reference-1-1"); + cpkcs.setKeyInformation(1); + + Document doc = cpkcs.returnSig(); + + String output = makeOutputFile(doc); + + output = replaceString(output,"<dsig:Signature","<env:Document xmlns:env=\"http://uri.env.org\">Text<dsig:Signature"); + output = replaceString(output,"</dsig:Signature>","</dsig:Signature></env:Document>"); + + + + writeFile(resFile, output); + + } + + public void create010() throws Exception { + + String TestNumber = "010"; + String reqFile = fileprefix + TestNumber + ".Req"+filesuffix; + + String req = replaceString(defaultblock,"<!-- insert transform -->", + "<dsig:Transform Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"/>"+ + "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xslt-19991116\">"+ + "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+ + "<xsl:output method=\"html\" indent=\"no\"/>"+ + "<xsl:template match=\"data:book\" xmlns:data=\"http://uri.data.org\">"+ + "<HTML>"+ + "<BODY>"+ + "<H1>Buch: <xsl:value-of select=\"data:title\"/>"+ + "</H1>"+ + "</BODY>"+ + "</HTML>"+ + "</xsl:template>"+ + "</xsl:stylesheet>"+ + "</dsig:Transform>"); + + writeFile(reqFile,req); + + String resFile = fileprefix + TestNumber + ".Res"+filesuffix; + + CreatePKCSSignature cpkcs = new CreatePKCSSignature(); + cpkcs.init("signature-1-1"); + cpkcs.setCanoncialization(canAlgCanXML); + //cpkcs.createReference(true,"Dies sind testdaten"); + + Transform[] tr = new Transform[2]; + TransformImplCanonicalXML trans = new TransformImplCanonicalXML(); + InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl"); + trans.setInput(s,null); + /*trans.addNSDeclaration("data",new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml")); + trans.setXPath("/data:book/data:first-name/node()"); + trans.*/ + tr[0] = trans; + + TransformImplXSLT tr2 = new TransformImplXSLT(); + InputStream s2 = new FileInputStream(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl"); + tr2.setInput(s2,null); + tr2.setStyleSheet(s2,null); + tr[1] = tr2; + + cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1"); + cpkcs.setKeyInformation(1); + + Document doc = cpkcs.returnSig(); + + String output = makeOutputFile(doc); + + writeFile(resFile, output); + + } + + public void create011() throws Exception { + + String TestNumber = "011"; + String reqFile = fileprefix + TestNumber + ".Req"+filesuffix; + + String req = replaceString(defaultblock,"<!-- insert transform -->", + "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xslt-19991116\">"+ + "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+ + "<xsl:include href=\""+configuration_.getProperty("webbaseDir")+"resources/CX1_book_not_here.xsl"+"\"/>"+ + "</xsl:stylesheet>"+ + "</dsig:Transform>"); + + req = replaceString(req,"<!-- insert supp -->", + "<Supplement>"+ + "<Content Reference=\""+configuration_.getProperty("webbaseDir")+"resources/CX1_book_not_here.xsl"+"\">"+ + "<Base64Content>"+ + Base64Utils.encode(("<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+ + "<xsl:output method=\"html\" indent=\"no\"/>"+ + "<xsl:template match=\"data:book\" xmlns:data=\"http://uri.data.org\">"+ + "<HTML>"+ + "<BODY>"+ + "<H1>Buch: <xsl:value-of select=\"data:title\"/>"+ + "</H1>"+ + "</BODY>"+ + "</HTML>"+ + "</xsl:template>"+ + "</xsl:stylesheet>").getBytes())+ + "</Base64Content>"+ + "</Content>"+ + "</Supplement>"); + + writeFile(reqFile,req); + + String resFile = fileprefix + TestNumber + ".Res"+filesuffix; + + CreatePKCSSignature cpkcs = new CreatePKCSSignature(); + cpkcs.init("signature-1-1"); + cpkcs.setCanoncialization(canAlgCanXML); + //cpkcs.createReference(true,"Dies sind testdaten"); + + Transform[] tr = new Transform[1]; + TransformImplXSLT trans = new TransformImplXSLT(); + URL u = new URL(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref_not_here.xsl"); + URLConnection hu = u.openConnection(); + //trans.setInput(s,null); + trans.setStyleSheet(hu.getInputStream(),new URI(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref_not_here.xsl")); + tr[0] = trans; + + cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1"); + //cpkcs.createReferenceWithManifest(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),"manifestObject"); + cpkcs.setKeyInformation(1); + + Document doc = cpkcs.returnSig(); + + String output = makeOutputFile(doc); + + writeFile(resFile, output); + } + + public void create012() throws Exception { + + String TestNumber = "012"; + String reqFile = fileprefix + TestNumber + ".Req"+filesuffix; + + String req = replaceString(defaultblock,"<!-- insert transform -->", + "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xslt-19991116\">"+ + "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+ + "<xsl:include href=\""+configuration_.getProperty("webbaseDir")+"resources/CX1_book_not_here.xsl"+"\"/>"+ + "</xsl:stylesheet>"+ + "</dsig:Transform>"); + + req = replaceString(req,"<!-- insert data2 -->", + "<DataObjectInfo Structure=\"detached\" ChildOfManifest=\"false\">"+ + "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/BookData.xml"+"\">"+ + "<XMLContent xml:space=\"preserve\">"+ + "<data:book xmlns:data=\"http://uri.data.org\" data:hardback=\"yes\">"+ + "<data:title>Gesundheitliche Auswirkungen elektronischer Signaturen</data:title>"+ + "<data:first-name>Ellipse</data:first-name>"+ + "<data:last-name>Kurvenreich</data:last-name>"+ + "<data:birth-date>1951-04-16</data:birth-date>"+ + "<data:birth-location>Hinterm Berg</data:birth-location>"+ + "<data:register-number>6-930-21512-12</data:register-number>"+ + "</data:book>"+ + "</XMLContent>"+ + "</DataObject>"+ + "<CreateTransformsInfoProfile>"+ + "<CreateTransformsInfo>"+ + "<dsig:Transforms>"+ + "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xslt-19991116\">"+ + "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+ + "<xsl:include href=\""+configuration_.getProperty("webbaseDir")+"resources/CX1_book_not_here.xsl\"/>"+ + "</xsl:stylesheet>"+ + "</dsig:Transform>"+ + "</dsig:Transforms>"+ + "<FinalDataMetaInfo>"+ + "<MimeType>text/html</MimeType>"+ + "</FinalDataMetaInfo>"+ + "</CreateTransformsInfo>"+ + "<Supplement>"+ + "<Content Reference=\""+configuration_.getProperty("webbaseDir")+"resources/CX1_book_not_here.xsl"+"\">"+ + "<Base64Content>"+ + Base64Utils.encode(("<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+ + "<xsl:output method=\"html\" indent=\"no\"/>"+ + "<xsl:template match=\"data:book\" xmlns:data=\"http://uri.data.org\">"+ + "<HTML>"+ + "<BODY>"+ + "<H1>Buch: <xsl:value-of select=\"data:title\"/>"+ + "</H1>"+ + "</BODY>"+ + "</HTML>"+ + "</xsl:template>"+ + "</xsl:stylesheet>").getBytes())+ + "</Base64Content>"+ + "</Content>"+ + "</Supplement>"+ + "</CreateTransformsInfoProfile>"+ + "</DataObjectInfo>"); + + writeFile(reqFile,req); + + String resFile = fileprefix + TestNumber + ".Res"+filesuffix; + + CreatePKCSSignature cpkcs = new CreatePKCSSignature(); + cpkcs.init("signature-1-1"); + cpkcs.setCanoncialization(canAlgCanXML); + //cpkcs.createReference(true,"Dies sind testdaten"); + + Transform[] tr = new Transform[1]; + TransformImplXSLT trans = new TransformImplXSLT(); + URL u = new URL(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref_not_here.xsl"); + URLConnection hu = u.openConnection(); + //trans.setInput(s,null); + trans.setStyleSheet(hu.getInputStream(),new URI(configuration_.getProperty("webbaseDir")+"resources/CX1_bookref_not_here.xsl")); + + tr[0] = trans; + + cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1"); + cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-2"); + //cpkcs.createReferenceWithManifest(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),"manifestObject"); + cpkcs.setKeyInformation(1); + + Document doc = cpkcs.returnSig(); + + String output = makeOutputFile(doc); + + writeFile(resFile, output); + + } + + public void create013() throws Exception { + + String TestNumber = "013"; + String reqFile = fileprefix + TestNumber + ".Req"+filesuffix; + + String req = replaceString(defaultblock, + "<CreateTransformsInfoProfile>"+ + "<CreateTransformsInfo>"+ + "<dsig:Transforms>"+ + "<!-- insert transform -->"+ + "</dsig:Transforms>"+ + "<FinalDataMetaInfo>"+ + "<MimeType>text/html</MimeType>"+ + "<Description>http://www.description.com</Description>"+ + "</FinalDataMetaInfo>"+ + "</CreateTransformsInfo>"+ + "<!-- insert supp -->"+ + "</CreateTransformsInfoProfile>", + "<CreateTransformsInfoProfileID>CreateTransformsInfoProfile1</CreateTransformsInfoProfileID>"); + + writeFile(reqFile,req); + + String resFile = fileprefix + TestNumber + ".Res"+filesuffix; + + CreatePKCSSignature cpkcs = new CreatePKCSSignature(); + cpkcs.init("signature-1-1"); + cpkcs.setCanoncialization(canAlgCanXML); + //cpkcs.createReference(true,"Dies sind testdaten"); + + Transform[] tr = new Transform[1]; + TransformImplXSLT trans = new TransformImplXSLT(); + InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/CX1_book.xsl"); + trans.setInput(s,null); + trans.setStyleSheet(s,null); + tr[0] = trans; + + cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),tr,"reference-1-1"); + //cpkcs.createReferenceWithManifest(new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml"),"manifestObject"); + cpkcs.setKeyInformation(1); + + Document doc = cpkcs.returnSig(); + + String output = makeOutputFile(doc); + + writeFile(resFile, output); + + } + + public void create014() throws Exception { + + String TestNumber = "014"; + String reqFile = fileprefix + TestNumber + ".Req"+filesuffix; + + String req = replaceString(defaultblock,"<!-- insert transform -->", + "<dsig:Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#base64\"/>"); + + req = replaceString(req, + "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/BookData.xml"+"\">", + "<DataObject Reference=\""+configuration_.getProperty("webbaseDir")+"resources/testBase64.txt"+"\">"); + + req = replaceString(req, + "<XMLContent xml:space=\"preserve\">"+ + "<data:book xmlns:data=\"http://uri.data.org\" data:hardback=\"yes\">"+ + "<data:title>Gesundheitliche Auswirkungen elektronischer Signaturen</data:title>"+ + "<data:first-name>Ellipse</data:first-name>"+ + "<data:last-name>Kurvenreich</data:last-name>"+ + "<data:birth-date>1951-04-16</data:birth-date>"+ + "<data:birth-location>Hinterm Berg</data:birth-location>"+ + "<data:register-number>6-930-21512-12</data:register-number>"+ + "</data:book>"+ + "</XMLContent>", + /*"<Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg==</Base64Content>"*/""); + + req = replaceString(req,"<MimeType>text/html</MimeType>","<MimeType>text/plain</MimeType>"); + + writeFile(reqFile,req); + + String resFile = fileprefix + TestNumber + ".Res"+filesuffix; + + CreatePKCSSignature cpkcs = new CreatePKCSSignature(); + cpkcs.init("signature-1-1"); + cpkcs.setCanoncialization(canAlgCanXML); + //cpkcs.createReference(true,"Dies sind testdaten"); + + Transform[] tr = new Transform[1]; + TransformImplBase64Decode trans = new TransformImplBase64Decode(); + InputStream s = new FileInputStream(configuration_.getProperty("baseDir")+"resources/testBase64.txt"); + trans.setInput(s,null); + /*trans.addNSDeclaration("data",new URI(configuration_.getProperty("webbaseDir")+"resources/BookData.xml")); + trans.setXPath("/data:book/data:first-name/node()"); + trans.*/ + tr[0] = trans; + + cpkcs.createReferenceWithTransforms(new URI(configuration_.getProperty("webbaseDir")+"resources/testBase64.txt"),tr,"reference-1-1"); + cpkcs.setKeyInformation(1); + + Document doc = cpkcs.returnSig(); + + String output = makeOutputFile(doc); + + writeFile(resFile, output); + + } + + public void create051() throws Exception { + + String TestNumber = "051"; + String reqFile = fileprefix + TestNumber + ".Req"+filesuffix; + + String req = replaceString(defaultblock,"<!-- insert transform -->", + "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xpath-19991116\">"+ + "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+ + "<xsl:output method=\"html\" indent=\"no\"/>"+ + "<xsl:template match=\"data:book\" xmlns:data=\"http://uri.data.org\">"+ + "<HTML>"+ + "<BODY>"+ + "<H1>Buch: <xsl:value-of select=\"data:title\"/>"+ + "</H1>"+ + "</BODY>"+ + "</HTML>"+ + "</xsl:template>"+ + "</xsl:stylesheet>"+ + "</dsig:Transform>"); + + req = replaceString(req,"SecurityLayerConformity=\"false\"","SecurityLayerConformity=\"true\""); + + writeFile(reqFile,req); + + String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix; + + writeFile(resFile,"2202"); + } + + public void create052() throws Exception { + + String TestNumber = "052"; + String reqFile = fileprefix + TestNumber + ".Req"+filesuffix; + + String req = replaceString(defaultblock,"<!-- insert transform -->", + "<dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xslt-19991116\">"+ + "<XPath>/data:book/data:first-name/node()</XPath>"+ + "</dsig:Transform>"); + + writeFile(reqFile,req); + + String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix; + + writeFile(resFile,"2215"); + + + } + + public void create053() throws Exception { + + String TestNumber = "053"; + String reqFile = fileprefix + TestNumber + ".Req"+filesuffix; + + String req = replaceString(defaultblock,"<!-- insert transform -->", + " <dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xslt-19991116\">"+ + " <xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+ + " <xsl:include href=\"file:/transform.xsl\"/>"+ + " </xsl:stylesheet>"+ + " </dsig:Transform>"); + + writeFile(reqFile,req); + + String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix; + + writeFile(resFile,"2220"); + + } + + public void create054() throws Exception { + + String TestNumber = "054"; + String reqFile = fileprefix + TestNumber + ".Req"+filesuffix; + + String req = replaceString(defaultblock, + "<CreateTransformsInfoProfile>"+ + "<CreateTransformsInfo>"+ + "<dsig:Transforms>"+ + "<!-- insert transform -->"+ + "</dsig:Transforms>"+ + "<FinalDataMetaInfo>"+ + "<MimeType>text/html</MimeType>"+ + "<Description>http://www.description.com</Description>"+ + "</FinalDataMetaInfo>"+ + "</CreateTransformsInfo>"+ + "<!-- insert supp -->"+ + "</CreateTransformsInfoProfile>", + "<CreateTransformsInfoProfileID>CreateTransformsInfoProfileNonValid</CreateTransformsInfoProfileID>"); + + writeFile(reqFile,req); + + String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix; + + writeFile(resFile,"2234"); + + } + + public void create055() throws Exception { + + String TestNumber = "055"; + String reqFile = fileprefix + TestNumber + ".Req"+filesuffix; + + String req = replaceString(defaultblock,"<!-- insert transform -->", + "<dsig:Transform Algorithm=\"http://www.w3.org/2002/06/xmldsig-filter2\">"+ + "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">"+ + "<xsl:output method=\"html\" indent=\"no\"/>"+ + "<xsl:template match=\"data:book\" xmlns:data=\"http://uri.data.org\">"+ + "<HTML>"+ + "<BODY>"+ + "<H1>Buch: <xsl:value-of select=\"data:title\"/>"+ + "</H1>"+ + "</BODY>"+ + "</HTML>"+ + "</xsl:template>"+ + "</xsl:stylesheet>"+ + "</dsig:Transform>"); + + req = replaceString(req,"SecurityLayerConformity=\"false\"","SecurityLayerConformity=\"true\""); + + writeFile(reqFile,req); + + String resFile = fileprefix + TestNumber + ".ErrRes"+filesuffix; + + writeFile(resFile,"2216"); + } + + public void writeFile(String filename,String data) throws Exception + { + BufferedWriter bw = new BufferedWriter(new FileWriter(filename)); + bw.write(data); + bw.close(); + } + + public String makeOutputFile(Document signatureDoc) throws Exception + { + ArrayList foundNodes = new ArrayList(); + findNode(signatureDoc.getDocumentElement(),"dsig:Signature",foundNodes); + + Node outputNode = null; + + if(foundNodes.size()>0) + { + outputNode = (Node)foundNodes.get(0); + } + + String erg = Node2String(outputNode); + + // remove the <?xml ?> Prologue + int pos = erg.indexOf("<dsig"); + erg = erg.substring(pos); + + // insert the dsig:signature element in a MOA Response Message + erg = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"+ + "<CreateXMLSignatureResponse" + + " xmlns=\"http://reference.e-government.gv.at/namespace/moa/20020822#\""+ + ">"+ + //" xmlns:etsi=\"http://uri.etsi.org/01903/v1.1.1#\">"+ + "<SignatureEnvironment>" + + erg + "</SignatureEnvironment> </CreateXMLSignatureResponse>"; + + return erg; + } +} diff --git a/spss.test/src/testgenerator/TestGeneratorCX2.java b/spss.test/src/testgenerator/TestGeneratorCX2.java new file mode 100644 index 000000000..ed5c5194a --- /dev/null +++ b/spss.test/src/testgenerator/TestGeneratorCX2.java @@ -0,0 +1,1050 @@ +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 new file mode 100644 index 000000000..7ecb28449 --- /dev/null +++ b/spss.test/src/testgenerator/TestGeneratorFeature41.java @@ -0,0 +1,1167 @@ +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 new file mode 100644 index 000000000..f54689875 --- /dev/null +++ b/spss.test/src/testgenerator/TestGeneratorVC0.java @@ -0,0 +1,1057 @@ +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 new file mode 100644 index 000000000..20ff44a22 --- /dev/null +++ b/spss.test/src/testgenerator/TestGeneratorVX.java @@ -0,0 +1,2793 @@ +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('signed-data')/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('refetsi')/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,"'","'"); + 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 new file mode 100644 index 000000000..96612da9e --- /dev/null +++ b/spss.test/src/testgenerator/TestGeneratorVX2.java @@ -0,0 +1,1600 @@ +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 new file mode 100644 index 000000000..3c9db0dad --- /dev/null +++ b/spss.test/src/testgenerator/TestGeneratorVXErrors.java @@ -0,0 +1,1775 @@ +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 new file mode 100644 index 000000000..97aa8acd0 --- /dev/null +++ b/spss.test/src/testgenerator/TestPKCS12.java @@ -0,0 +1,107 @@ + +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 new file mode 100644 index 000000000..bbdf02bbc --- /dev/null +++ b/spss.test/src/testgenerator/VXResponseBean.java @@ -0,0 +1,180 @@ + +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(); + } + +} |