From 38c3a15d00414fb3967555481131e55e6a21fbd1 Mon Sep 17 00:00:00 2001 From: Thomas <> Date: Tue, 27 Apr 2021 20:48:49 +0200 Subject: fix bug in ConfigurationProvider the ignore keyGroups for MOA-SS add jUnit tests to test signature-creation --- README.md | 4 +- moaSig/build.gradle | 4 +- .../spss/server/config/ConfigurationProvider.java | 2 +- .../test/integration/CadesIntegrationTest.java | 122 ++++++++- .../test/integration/XadesIntegrationTest.java | 91 ++++++- .../integration/tsl/XadesTslEuTestset02Test.java | 35 ++- .../integration/tsl/XadesTslEuTestset03Test.java | 9 + .../moaspss_config/MOASPSSConfiguration.xml | 34 ++- .../B8AD35FEBC854E2FFFF5EA23AF7372B9341D4039 | Bin 0 -> 789 bytes .../moaspss_config/keys/junit_signing.crt | 19 ++ .../moaspss_config/keys/junit_signing.p12 | Bin 0 -> 2546 bytes .../moaspss_config/profiles/MOA-SPSS_signing.crt | 19 ++ .../trustProfiles/jUnitSigning/junit_signing.crt | 19 ++ .../tslworking/trust/eu/EU_Test_TSL_2_1.crt | 3 + .../tslworking/trust/eu/EU_Test_TSL_3_1.crt | 3 + .../tslworking/trust/eu/tsl_cert_20210427_2.crt | 3 + .../resources/testdata/cades/createCades_1.xml | 15 ++ .../resources/testdata/cades/createCades_2.xml | 15 ++ .../testdata/xades/sign/createXades_1.xml | 286 +++++++++++++++++++++ .../testdata/xades/sign/createXades_2.xml | 62 +++++ 20 files changed, 713 insertions(+), 32 deletions(-) create mode 100644 moaSig/moa-sig/src/test/resources/moaspss_config/certstore/subjectdn/09EC246B13947F627EF592995FC0E63691D5333C/B8AD35FEBC854E2FFFF5EA23AF7372B9341D4039 create mode 100644 moaSig/moa-sig/src/test/resources/moaspss_config/keys/junit_signing.crt create mode 100644 moaSig/moa-sig/src/test/resources/moaspss_config/keys/junit_signing.p12 create mode 100644 moaSig/moa-sig/src/test/resources/moaspss_config/profiles/MOA-SPSS_signing.crt create mode 100644 moaSig/moa-sig/src/test/resources/moaspss_config/trustProfiles/jUnitSigning/junit_signing.crt create mode 100644 moaSig/moa-sig/src/test/resources/moaspss_config/tslworking/trust/eu/EU_Test_TSL_2_1.crt create mode 100644 moaSig/moa-sig/src/test/resources/moaspss_config/tslworking/trust/eu/EU_Test_TSL_3_1.crt create mode 100644 moaSig/moa-sig/src/test/resources/moaspss_config/tslworking/trust/eu/tsl_cert_20210427_2.crt create mode 100644 moaSig/moa-sig/src/test/resources/testdata/cades/createCades_1.xml create mode 100644 moaSig/moa-sig/src/test/resources/testdata/cades/createCades_2.xml create mode 100644 moaSig/moa-sig/src/test/resources/testdata/xades/sign/createXades_1.xml create mode 100644 moaSig/moa-sig/src/test/resources/testdata/xades/sign/createXades_2.xml diff --git a/README.md b/README.md index eec4db2..12a43aa 100644 --- a/README.md +++ b/README.md @@ -72,8 +72,8 @@ where - Mindestanforderung für JAVA 8 - Anpassungen an der TSL Implementierung - - Updates von Bibliotheken zur Stabilitätsverbesserung - - TrustStore Update in der Beispielkonfiguration +- Updates von Bibliotheken zur Stabilitätsverbesserung +- TrustStore Update in der Beispielkonfiguration **v3.1.3** diff --git a/moaSig/build.gradle b/moaSig/build.gradle index bff3147..1cc1551 100644 --- a/moaSig/build.gradle +++ b/moaSig/build.gradle @@ -37,7 +37,7 @@ subprojects { testImplementation 'junit:junit:4.13.2' } - version = '3.1.4-RC2' + version = '3.1.4-RC3' jar { manifest.attributes provider: 'EGIZ', 'Specification-Version': getCheckedOutGitCommitHash(), 'Implementation-Version': project.version } @@ -94,7 +94,7 @@ subprojects { authentication(userName: System.getenv("EGIZ_MAVEN_USER"), password: System.getenv("EGIZ_MAVEN_PASSWORD")) } - snapshotRepository(url: "sftp://apps.egiz.gv.at/maven-snaphot") { + snapshotRepository(url: "sftp://apps.egiz.gv.at/maven-snapshot") { authentication(userName: System.getenv("EGIZ_MAVEN_USER"), password: System.getenv("EGIZ_MAVEN_PASSWORD")) } diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProvider.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProvider.java index bffa489..64bd066 100644 --- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProvider.java +++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProvider.java @@ -375,7 +375,7 @@ public class ConfigurationProvider { allKeyModules = new ArrayList(hardwareKeyModules); allKeyModules.addAll(softwareKeyModules); keyGroups = builder.buildKeyGroups(allKeyModules); - builder.buildKeyGroupMappings(keyGroups, ANONYMOUS_ISSUER_SERIAL); + keyGroupMappings = builder.buildKeyGroupMappings(keyGroups, ANONYMOUS_ISSUER_SERIAL); this.connectionTimeout = builder.getConnectionTimeout(); Logger.debug("Set 'Connection-Timeout' to " + String.valueOf(this.connectionTimeout) + "[ms]"); diff --git a/moaSig/moa-sig/src/test/java/at/gv/egovernment/moa/spss/test/integration/CadesIntegrationTest.java b/moaSig/moa-sig/src/test/java/at/gv/egovernment/moa/spss/test/integration/CadesIntegrationTest.java index abdab26..fb1cc05 100644 --- a/moaSig/moa-sig/src/test/java/at/gv/egovernment/moa/spss/test/integration/CadesIntegrationTest.java +++ b/moaSig/moa-sig/src/test/java/at/gv/egovernment/moa/spss/test/integration/CadesIntegrationTest.java @@ -9,6 +9,10 @@ import static org.junit.Assert.assertTrue; import java.io.IOException; import java.lang.reflect.Field; +import java.util.Arrays; +import java.util.List; + +import javax.xml.parsers.ParserConfigurationException; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.RandomStringUtils; @@ -18,24 +22,35 @@ import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.BlockJUnit4ClassRunner; +import org.w3c.dom.Element; +import org.xml.sax.SAXException; import at.gv.egovernment.moa.spss.MOAException; +import at.gv.egovernment.moa.spss.api.SPSSFactory; +import at.gv.egovernment.moa.spss.api.cmssign.CMSSignatureResponse; +import at.gv.egovernment.moa.spss.api.cmssign.CreateCMSSignatureRequest; +import at.gv.egovernment.moa.spss.api.cmssign.CreateCMSSignatureResponse; +import at.gv.egovernment.moa.spss.api.cmssign.DataObjectInfo; import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest; import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse; import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponseElement; +import at.gv.egovernment.moa.spss.api.xmlbind.CreateCMSSignatureRequestParser; import at.gv.egovernment.moa.spss.api.xmlverify.AdESFormResults; import at.gv.egovernment.moa.spss.server.config.ConfigurationException; import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; import at.gv.egovernment.moa.spss.server.init.SystemInitializer; +import at.gv.egovernment.moa.spss.server.invoke.CMSSignatureCreationInvoker; import at.gv.egovernment.moa.spss.server.invoke.CMSSignatureVerificationInvoker; import at.gv.egovernment.moa.spss.tsl.TSLServiceFactory; +import at.gv.egovernment.moaspss.util.DOMUtils; import iaik.pki.Configurator; import iaik.pki.PKIFactory; @RunWith(BlockJUnit4ClassRunner.class) public class CadesIntegrationTest extends AbstractIntegrationTest { - CMSSignatureVerificationInvoker cadesInvoker; + CMSSignatureVerificationInvoker verifyCadesInvoker; + private CMSSignatureCreationInvoker signCadesInvoker; @BeforeClass public static void classInitializer() throws IOException, ConfigurationException, @@ -74,7 +89,9 @@ public class CadesIntegrationTest extends AbstractIntegrationTest { @Before public void initializer() throws ConfigurationException { - cadesInvoker = CMSSignatureVerificationInvoker.getInstance(); + verifyCadesInvoker = CMSSignatureVerificationInvoker.getInstance(); + signCadesInvoker = CMSSignatureCreationInvoker.getInstance(); + setUpContexts(RandomStringUtils.randomAlphabetic(10)); } @@ -89,7 +106,7 @@ public class CadesIntegrationTest extends AbstractIntegrationTest { false); // perform test - final MOAException error = assertThrows(MOAException.class, () -> cadesInvoker.verifyCMSSignature( + final MOAException error = assertThrows(MOAException.class, () -> verifyCadesInvoker.verifyCMSSignature( request)); assertEquals("wrong errorCode", "2203", error.getMessageId()); @@ -105,7 +122,7 @@ public class CadesIntegrationTest extends AbstractIntegrationTest { false); // perform test - final VerifyCMSSignatureResponse result = cadesInvoker.verifyCMSSignature(request); + final VerifyCMSSignatureResponse result = verifyCadesInvoker.verifyCMSSignature(request); // verify result assertNotNull("verification result", result); @@ -140,7 +157,7 @@ public class CadesIntegrationTest extends AbstractIntegrationTest { true); // perform test - final VerifyCMSSignatureResponse result = cadesInvoker.verifyCMSSignature(request); + final VerifyCMSSignatureResponse result = verifyCadesInvoker.verifyCMSSignature(request); // verify result assertNotNull("verification result", result); @@ -190,7 +207,7 @@ public class CadesIntegrationTest extends AbstractIntegrationTest { false); // perform test - final VerifyCMSSignatureResponse result = cadesInvoker.verifyCMSSignature(request); + final VerifyCMSSignatureResponse result = verifyCadesInvoker.verifyCMSSignature(request); // verify result assertNotNull("verification result", result); @@ -225,7 +242,7 @@ public class CadesIntegrationTest extends AbstractIntegrationTest { true); // perform test - final VerifyCMSSignatureResponse result = cadesInvoker.verifyCMSSignature(request); + final VerifyCMSSignatureResponse result = verifyCadesInvoker.verifyCMSSignature(request); // verify result assertNotNull("verification result", result); @@ -260,4 +277,95 @@ public class CadesIntegrationTest extends AbstractIntegrationTest { } + @Test + public void simpleCmsCreation() throws MOAException, ParserConfigurationException, SAXException, IOException { + // build request + Element cadesReqXml = DOMUtils.parseXmlNonValidating( + CadesIntegrationTest.class.getResourceAsStream("/testdata/cades/createCades_1.xml")); + CreateCMSSignatureRequest cadesReq = new CreateCMSSignatureRequestParser().parse(cadesReqXml); + + + // perform test + CreateCMSSignatureResponse cadesResp = signCadesInvoker.createCMSSignature(cadesReq, null); + + + // validate response + assertNotNull("cadesResp", cadesResp); + assertNotNull("cadesResp elements", cadesResp.getResponseElements()); + assertFalse("cadesResp elements", cadesResp.getResponseElements().isEmpty()); + + CMSSignatureResponse cades = (CMSSignatureResponse) cadesResp.getResponseElements().get(0); + assertNotNull("cades Sig.", cades.getCMSSignature()); + + // signature + final VerifyCMSSignatureRequest request = buildVerfifyCmsRequest( + org.apache.commons.codec.binary.Base64.decodeBase64(cades.getCMSSignature()), + "jUnitSigning", + false, + false); + + // perform test + final VerifyCMSSignatureResponse result = verifyCadesInvoker.verifyCMSSignature(request); + + // verify result + assertNotNull("verification result", result); + assertEquals("wrong result size", 1, result.getResponseElements().size()); + + final VerifyCMSSignatureResponseElement cmsResult = (VerifyCMSSignatureResponseElement) result + .getResponseElements().get(0); + assertEquals("sigCode", 0, cmsResult.getSignatureCheck().getCode()); + assertEquals("certCode", 0, cmsResult.getCertificateCheck().getCode()); + + + } + + @Test + public void simpleCadesCreation() throws MOAException, ParserConfigurationException, SAXException, IOException { + // build request + Element cadesReqXml = DOMUtils.parseXmlNonValidating( + CadesIntegrationTest.class.getResourceAsStream("/testdata/cades/createCades_2.xml")); + CreateCMSSignatureRequest cadesReq = new CreateCMSSignatureRequestParser().parse(cadesReqXml); + + + // perform test + CreateCMSSignatureResponse cadesResp = signCadesInvoker.createCMSSignature(cadesReq, null); + + + // validate response + assertNotNull("cadesResp", cadesResp); + assertNotNull("cadesResp elements", cadesResp.getResponseElements()); + assertFalse("cadesResp elements", cadesResp.getResponseElements().isEmpty()); + + CMSSignatureResponse cades = (CMSSignatureResponse) cadesResp.getResponseElements().get(0); + assertNotNull("cades Sig.", cades.getCMSSignature()); + + // signature + final VerifyCMSSignatureRequest request = buildVerfifyCmsRequest( + org.apache.commons.codec.binary.Base64.decodeBase64(cades.getCMSSignature()), + "jUnitSigning", + false, + true); + + // perform test + final VerifyCMSSignatureResponse result = verifyCadesInvoker.verifyCMSSignature(request); + + // verify result + assertNotNull("verification result", result); + assertEquals("wrong result size", 1, result.getResponseElements().size()); + + final VerifyCMSSignatureResponseElement cmsResult = (VerifyCMSSignatureResponseElement) result + .getResponseElements().get(0); + assertEquals("sigCode", 0, cmsResult.getSignatureCheck().getCode()); + assertEquals("certCode", 0, cmsResult.getCertificateCheck().getCode()); + + assertNotNull("form val. result", cmsResult.getAdESFormResults()); + assertEquals("form val. result size", 4, cmsResult.getAdESFormResults().size()); + for (final Object el : cmsResult.getAdESFormResults()) { + final AdESFormResults test = (AdESFormResults) el; + assertEquals("Find wrong form val status", 1, test.getCode().longValue()); + + } + + } + } diff --git a/moaSig/moa-sig/src/test/java/at/gv/egovernment/moa/spss/test/integration/XadesIntegrationTest.java b/moaSig/moa-sig/src/test/java/at/gv/egovernment/moa/spss/test/integration/XadesIntegrationTest.java index cdbe5ab..ebbc334 100644 --- a/moaSig/moa-sig/src/test/java/at/gv/egovernment/moa/spss/test/integration/XadesIntegrationTest.java +++ b/moaSig/moa-sig/src/test/java/at/gv/egovernment/moa/spss/test/integration/XadesIntegrationTest.java @@ -11,6 +11,7 @@ import java.io.IOException; import java.util.Collections; import javax.xml.parsers.ParserConfigurationException; +import javax.xml.transform.TransformerException; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.RandomStringUtils; @@ -19,21 +20,30 @@ import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.BlockJUnit4ClassRunner; +import org.w3c.dom.Element; +import org.xml.sax.SAXException; import at.gv.egovernment.moa.spss.MOAApplicationException; import at.gv.egovernment.moa.spss.MOAException; import at.gv.egovernment.moa.spss.api.common.InputData; +import at.gv.egovernment.moa.spss.api.xmlbind.CreateXMLSignatureRequestParser; +import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest; +import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponse; +import at.gv.egovernment.moa.spss.api.xmlsign.SignatureEnvironmentResponse; import at.gv.egovernment.moa.spss.api.xmlverify.AdESFormResults; import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest; import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse; import at.gv.egovernment.moa.spss.server.config.ConfigurationException; import at.gv.egovernment.moa.spss.server.init.SystemInitializer; +import at.gv.egovernment.moa.spss.server.invoke.XMLSignatureCreationInvoker; import at.gv.egovernment.moa.spss.server.invoke.XMLSignatureVerificationInvoker; +import at.gv.egovernment.moaspss.util.DOMUtils; @RunWith(BlockJUnit4ClassRunner.class) public class XadesIntegrationTest extends AbstractIntegrationTest { - XMLSignatureVerificationInvoker xadesInvoker; + XMLSignatureVerificationInvoker xadesVerifyInvoker; + XMLSignatureCreationInvoker xadesSignInvoker; @BeforeClass public static void classInitializer() throws IOException, ConfigurationException, @@ -49,7 +59,8 @@ public class XadesIntegrationTest extends AbstractIntegrationTest { @Before public void initializer() throws ConfigurationException { - xadesInvoker = XMLSignatureVerificationInvoker.getInstance(); + xadesVerifyInvoker = XMLSignatureVerificationInvoker.getInstance(); + xadesSignInvoker = XMLSignatureCreationInvoker.getInstance(); setUpContexts(RandomStringUtils.randomAlphabetic(10)); } @@ -66,7 +77,7 @@ public class XadesIntegrationTest extends AbstractIntegrationTest { null, Collections.emptyMap()); // perform test - final MOAException error = assertThrows(MOAException.class, () -> xadesInvoker.verifyXMLSignature( + final MOAException error = assertThrows(MOAException.class, () -> xadesVerifyInvoker.verifyXMLSignature( request)); assertEquals("wrong errorCode", "2203", error.getMessageId()); @@ -83,7 +94,7 @@ public class XadesIntegrationTest extends AbstractIntegrationTest { null, Collections.emptyMap()); // perform test - final VerifyXMLSignatureResponse result = xadesInvoker.verifyXMLSignature(request); + final VerifyXMLSignatureResponse result = xadesVerifyInvoker.verifyXMLSignature(request); // verify result assertNotNull("verification result", result); @@ -116,7 +127,7 @@ public class XadesIntegrationTest extends AbstractIntegrationTest { null, Collections.emptyMap()); // perform test - final VerifyXMLSignatureResponse result = xadesInvoker.verifyXMLSignature(request); + final VerifyXMLSignatureResponse result = xadesVerifyInvoker.verifyXMLSignature(request); // verify result assertNotNull("verification result", result); @@ -155,5 +166,75 @@ public class XadesIntegrationTest extends AbstractIntegrationTest { assertEquals("used sig alg", "SHA256withRSA", result.getSignatureAlgorithm()); } + + @Test + public void simpleXmlSignature() throws MOAException, ParserConfigurationException, SAXException, IOException, TransformerException { + // build request + Element xml = DOMUtils.parseXmlNonValidating( + CadesIntegrationTest.class.getResourceAsStream("/testdata/xades/sign/createXades_1.xml")); + CreateXMLSignatureRequest xmlReq = new CreateXMLSignatureRequestParser().parse(xml); + + // create signature + CreateXMLSignatureResponse xmlResp = xadesSignInvoker.createXMLSignature(xmlReq, Collections.EMPTY_SET); + + + // verify response + assertNotNull("xadesResp", xmlResp); + assertNotNull("xadesResp elements", xmlResp.getResponseElements()); + assertFalse("xadesResp elements", xmlResp.getResponseElements().isEmpty()); + + SignatureEnvironmentResponse signedXml = (SignatureEnvironmentResponse) xmlResp.getResponseElements().get(0); + assertNotNull("signed xml", signedXml.getSignatureEnvironment()); + + + // verify signature + final VerifyXMLSignatureRequest request = buildVerifyXmlRequest( + DOMUtils.serializeNode(signedXml.getSignatureEnvironment()).getBytes(), + "jUnitSigning", false, null, DEFAULT_XPATH_SIGNATURE_LOCATION, null, Collections.emptyMap()); + + // perform test + final VerifyXMLSignatureResponse result = xadesVerifyInvoker.verifyXMLSignature(request); + + // verify result + assertNotNull("verification result", result); + assertEquals("sigCode", 0, result.getSignatureCheck().getCode()); + assertEquals("certCode", 0, result.getCertificateCheck().getCode()); + + } + @Test + public void simpleXadesSignature() throws MOAException, ParserConfigurationException, SAXException, IOException, TransformerException { + // build request + Element xml = DOMUtils.parseXmlNonValidating( + CadesIntegrationTest.class.getResourceAsStream("/testdata/xades/sign/createXades_2.xml")); + CreateXMLSignatureRequest xmlReq = new CreateXMLSignatureRequestParser().parse(xml); + + // create signature + CreateXMLSignatureResponse xmlResp = xadesSignInvoker.createXMLSignature(xmlReq, Collections.EMPTY_SET); + + + // verify response + assertNotNull("xadesResp", xmlResp); + assertNotNull("xadesResp elements", xmlResp.getResponseElements()); + assertFalse("xadesResp elements", xmlResp.getResponseElements().isEmpty()); + + SignatureEnvironmentResponse signedXml = (SignatureEnvironmentResponse) xmlResp.getResponseElements().get(0); + assertNotNull("signed xml", signedXml.getSignatureEnvironment()); + + + // verify signature + final VerifyXMLSignatureRequest request = buildVerifyXmlRequest( + DOMUtils.serializeNode(signedXml.getSignatureEnvironment()).getBytes(), + "jUnitSigning", false, null, DEFAULT_XPATH_SIGNATURE_LOCATION, null, Collections.emptyMap()); + + // perform test + final VerifyXMLSignatureResponse result = xadesVerifyInvoker.verifyXMLSignature(request); + + // verify result + assertNotNull("verification result", result); + assertEquals("sigCode", 0, result.getSignatureCheck().getCode()); + assertEquals("certCode", 0, result.getCertificateCheck().getCode()); + + } + } diff --git a/moaSig/moa-sig/src/test/java/at/gv/egovernment/moa/spss/test/integration/tsl/XadesTslEuTestset02Test.java b/moaSig/moa-sig/src/test/java/at/gv/egovernment/moa/spss/test/integration/tsl/XadesTslEuTestset02Test.java index 698eb2f..f43ebf8 100644 --- a/moaSig/moa-sig/src/test/java/at/gv/egovernment/moa/spss/test/integration/tsl/XadesTslEuTestset02Test.java +++ b/moaSig/moa-sig/src/test/java/at/gv/egovernment/moa/spss/test/integration/tsl/XadesTslEuTestset02Test.java @@ -31,7 +31,12 @@ import at.gv.egovernment.moa.spss.server.init.SystemInitializer; import at.gv.egovernment.moa.spss.server.invoke.XMLSignatureVerificationInvoker; import at.gv.egovernment.moa.spss.server.monitoring.ServiceStatusContainer; import at.gv.egovernment.moa.spss.test.integration.AbstractIntegrationTest; - +/** + * https://esignature.ec.europa.eu/efda/validation-tests/#/screen/home + * + * @author tlenz + * + */ @RunWith(BlockJUnit4ClassRunner.class) public class XadesTslEuTestset02Test extends AbstractIntegrationTest { @@ -149,22 +154,24 @@ public class XadesTslEuTestset02Test extends AbstractIntegrationTest { assertNotNull("signerInfo", result.getSignerInfo()); assertEquals("issuerCC", "BE", result.getSignerInfo().getIssuerCountryCode()); assertFalse("publicAuthority", result.getSignerInfo().isPublicAuthority()); - assertTrue("QC", result.getSignerInfo().isQualifiedCertificate()); + + //because this signature is not on TSL any more --> EC changes the test setup!!! + assertFalse("QC", result.getSignerInfo().isQualifiedCertificate()); assertTrue("SSCD", result.getSignerInfo().isSSCD()); - assertEquals("qcSource", "TSL", result.getSignerInfo().getQCSource()); + assertEquals("qcSource", "Certificate", result.getSignerInfo().getQCSource()); assertEquals("qcSource", "Certificate", result.getSignerInfo().getSSCDSource()); - assertNotNull("TSL infos", result.getSignerInfo().getTslInfos()); - assertEquals("TSL CC", "BE", result.getSignerInfo().getTslInfos().getTslIssuerCountry()); - assertEquals("TSL ServiceType", "http://uri.etsi.org/TrstSvc/Svctype/CA/QC", - result.getSignerInfo().getTslInfos().getServiceTypeIdentifier()); - assertEquals("TSL ServiceStatus", "http://uri.etsi.org/TrstSvc/TrustedList/Svcstatus/granted", - result.getSignerInfo().getTslInfos().getServiceTypeStatus()); - assertFalse("TSL addit. status", result.getSignerInfo().getTslInfos().getAdditionalServiceInformation() - .isEmpty()); - assertEquals("TSL addit. status value", - "http://uri.etsi.org/TrstSvc/TrustedList/SvcInfoExt/ForeSignatures", - result.getSignerInfo().getTslInfos().getAdditionalServiceInformation().get(0)); + assertNull("TSL infos", result.getSignerInfo().getTslInfos()); + //assertEquals("TSL CC", "BE", result.getSignerInfo().getTslInfos().getTslIssuerCountry()); + //assertEquals("TSL ServiceType", "http://uri.etsi.org/TrstSvc/Svctype/CA/QC", + // result.getSignerInfo().getTslInfos().getServiceTypeIdentifier()); + //assertEquals("TSL ServiceStatus", "http://uri.etsi.org/TrstSvc/TrustedList/Svcstatus/granted", + // result.getSignerInfo().getTslInfos().getServiceTypeStatus()); + //assertFalse("TSL addit. status", result.getSignerInfo().getTslInfos().getAdditionalServiceInformation() + // .isEmpty()); + //assertEquals("TSL addit. status value", + // "http://uri.etsi.org/TrstSvc/TrustedList/SvcInfoExt/ForeSignatures", + // result.getSignerInfo().getTslInfos().getAdditionalServiceInformation().get(0)); assertNotNull("form val. result", result.getAdESFormResults()); assertNotNull("extended val. result", result.getExtendedCertificateCheck()); diff --git a/moaSig/moa-sig/src/test/java/at/gv/egovernment/moa/spss/test/integration/tsl/XadesTslEuTestset03Test.java b/moaSig/moa-sig/src/test/java/at/gv/egovernment/moa/spss/test/integration/tsl/XadesTslEuTestset03Test.java index d6a1550..813e1df 100644 --- a/moaSig/moa-sig/src/test/java/at/gv/egovernment/moa/spss/test/integration/tsl/XadesTslEuTestset03Test.java +++ b/moaSig/moa-sig/src/test/java/at/gv/egovernment/moa/spss/test/integration/tsl/XadesTslEuTestset03Test.java @@ -33,7 +33,16 @@ import at.gv.egovernment.moa.spss.server.invoke.XMLSignatureVerificationInvoker; import at.gv.egovernment.moa.spss.server.monitoring.ServiceStatusContainer; import at.gv.egovernment.moa.spss.test.integration.AbstractIntegrationTest; +/** + * EC changed the Test SET and TSL information!!!!! + * + * We have to switch to a static version + * + * @author tlenz + * + */ @RunWith(BlockJUnit4ClassRunner.class) +@Ignore public class XadesTslEuTestset03Test extends AbstractIntegrationTest { XMLSignatureVerificationInvoker xadesInvoker; diff --git a/moaSig/moa-sig/src/test/resources/moaspss_config/MOASPSSConfiguration.xml b/moaSig/moa-sig/src/test/resources/moaspss_config/MOASPSSConfiguration.xml index aa9368e..44a04fa 100644 --- a/moaSig/moa-sig/src/test/resources/moaspss_config/MOASPSSConfiguration.xml +++ b/moaSig/moa-sig/src/test/resources/moaspss_config/MOASPSSConfiguration.xml @@ -7,7 +7,35 @@ 192.168 - + + + + + + SKM_junit + keys/junit_signing.p12 + nichts + + + + KG_junit + + SKM_junit + + CN=MOA-SPSS signing,OU=jUnit Tests,O=EGIZ,C=AT + 1619541256 + + + + + KG_junit + + + http://www.w3.org/2001/10/xml-exc-c14n# + http://www.w3.org/2000/09/xmldsig#sha256 + + + @@ -45,6 +73,10 @@ MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten + + jUnitSigning + trustProfiles/jUnitSigning + false diff --git a/moaSig/moa-sig/src/test/resources/moaspss_config/certstore/subjectdn/09EC246B13947F627EF592995FC0E63691D5333C/B8AD35FEBC854E2FFFF5EA23AF7372B9341D4039 b/moaSig/moa-sig/src/test/resources/moaspss_config/certstore/subjectdn/09EC246B13947F627EF592995FC0E63691D5333C/B8AD35FEBC854E2FFFF5EA23AF7372B9341D4039 new file mode 100644 index 0000000..dc94677 Binary files /dev/null and b/moaSig/moa-sig/src/test/resources/moaspss_config/certstore/subjectdn/09EC246B13947F627EF592995FC0E63691D5333C/B8AD35FEBC854E2FFFF5EA23AF7372B9341D4039 differ diff --git a/moaSig/moa-sig/src/test/resources/moaspss_config/keys/junit_signing.crt b/moaSig/moa-sig/src/test/resources/moaspss_config/keys/junit_signing.crt new file mode 100644 index 0000000..fcc10a6 --- /dev/null +++ b/moaSig/moa-sig/src/test/resources/moaspss_config/keys/junit_signing.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDETCCAfkCBGCIPQgwDQYJKoZIhvcNAQELBQAwTTELMAkGA1UEBhMCQVQxDTAL +BgNVBAoMBEVHSVoxFDASBgNVBAsMC2pVbml0IFRlc3RzMRkwFwYDVQQDDBBNT0Et +U1BTUyBzaWduaW5nMB4XDTIxMDQyNzE2MzQxNloXDTQ4MDkxMTE2MzQxNlowTTEL +MAkGA1UEBhMCQVQxDTALBgNVBAoMBEVHSVoxFDASBgNVBAsMC2pVbml0IFRlc3Rz +MRkwFwYDVQQDDBBNT0EtU1BTUyBzaWduaW5nMIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEAr8tSafwFaLIOC0lzkN5Ymkuq9AXM3S7eBcO4i6U/QEPiTf5l +m+INTIsLqzFwXrkeJgHTR0CbdMkp/CFKjYbLnyc17jq9gGiFNvWYTIon17Tmy+ri +W8/8mWAADvBe4dyjelSQW0MBOV4pzeFWc5NlDyW2Jp1J77PYPb7muPY2RmS/38WD +ttRkz1nXOnibray2ZKz26hqnW1T3Om1s30EOB2+xMGhhBgdQ9+PdBn61HlP4UwN1 +RRWnLRaNkFTEnTK+YQEQF1LlGhriwCdfdGu65XTBWdGpXZoR9pjEGYzkF/UrYBAz +r0QSeXCM076uWT8/mJZOpxuBVBUukTZhQuf5uwIDAQABMA0GCSqGSIb3DQEBCwUA +A4IBAQAHBLlRY4dpmr8Pwp8rst0mzmRhIvm3MV2+D4K6ekLwDi/y1bMzSfyTXfLT +wLOCScYvwBfF1Fng5WylGbE69si1G7baq+VAbglTXyP5Hs/eLt9boGWAiFUz49o/ +2O4f89BWFY18zRg5ptDl5KNbcW9L0kOmHGsVwqJcKAT+6c3J15NV1IiUf3voE9LV +D4ita8he8/emHPRJxILVRNi6imx6O5cKGy+Sar2gK25Wc20oRAnSX/w9bpnQpJyh +Gp41K5taSZkPsm0wWBmvnJhA0TKA5ODeoqQD+eeQWC+I52dfAqEiwT76gWBSnhp1 +9yfgJqYU0ylD4DRlJ9S5krMhqbMl +-----END CERTIFICATE----- diff --git a/moaSig/moa-sig/src/test/resources/moaspss_config/keys/junit_signing.p12 b/moaSig/moa-sig/src/test/resources/moaspss_config/keys/junit_signing.p12 new file mode 100644 index 0000000..93c67e7 Binary files /dev/null and b/moaSig/moa-sig/src/test/resources/moaspss_config/keys/junit_signing.p12 differ diff --git a/moaSig/moa-sig/src/test/resources/moaspss_config/profiles/MOA-SPSS_signing.crt b/moaSig/moa-sig/src/test/resources/moaspss_config/profiles/MOA-SPSS_signing.crt new file mode 100644 index 0000000..fcc10a6 --- /dev/null +++ b/moaSig/moa-sig/src/test/resources/moaspss_config/profiles/MOA-SPSS_signing.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDETCCAfkCBGCIPQgwDQYJKoZIhvcNAQELBQAwTTELMAkGA1UEBhMCQVQxDTAL +BgNVBAoMBEVHSVoxFDASBgNVBAsMC2pVbml0IFRlc3RzMRkwFwYDVQQDDBBNT0Et +U1BTUyBzaWduaW5nMB4XDTIxMDQyNzE2MzQxNloXDTQ4MDkxMTE2MzQxNlowTTEL +MAkGA1UEBhMCQVQxDTALBgNVBAoMBEVHSVoxFDASBgNVBAsMC2pVbml0IFRlc3Rz +MRkwFwYDVQQDDBBNT0EtU1BTUyBzaWduaW5nMIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEAr8tSafwFaLIOC0lzkN5Ymkuq9AXM3S7eBcO4i6U/QEPiTf5l +m+INTIsLqzFwXrkeJgHTR0CbdMkp/CFKjYbLnyc17jq9gGiFNvWYTIon17Tmy+ri +W8/8mWAADvBe4dyjelSQW0MBOV4pzeFWc5NlDyW2Jp1J77PYPb7muPY2RmS/38WD +ttRkz1nXOnibray2ZKz26hqnW1T3Om1s30EOB2+xMGhhBgdQ9+PdBn61HlP4UwN1 +RRWnLRaNkFTEnTK+YQEQF1LlGhriwCdfdGu65XTBWdGpXZoR9pjEGYzkF/UrYBAz +r0QSeXCM076uWT8/mJZOpxuBVBUukTZhQuf5uwIDAQABMA0GCSqGSIb3DQEBCwUA +A4IBAQAHBLlRY4dpmr8Pwp8rst0mzmRhIvm3MV2+D4K6ekLwDi/y1bMzSfyTXfLT +wLOCScYvwBfF1Fng5WylGbE69si1G7baq+VAbglTXyP5Hs/eLt9boGWAiFUz49o/ +2O4f89BWFY18zRg5ptDl5KNbcW9L0kOmHGsVwqJcKAT+6c3J15NV1IiUf3voE9LV +D4ita8he8/emHPRJxILVRNi6imx6O5cKGy+Sar2gK25Wc20oRAnSX/w9bpnQpJyh +Gp41K5taSZkPsm0wWBmvnJhA0TKA5ODeoqQD+eeQWC+I52dfAqEiwT76gWBSnhp1 +9yfgJqYU0ylD4DRlJ9S5krMhqbMl +-----END CERTIFICATE----- diff --git a/moaSig/moa-sig/src/test/resources/moaspss_config/trustProfiles/jUnitSigning/junit_signing.crt b/moaSig/moa-sig/src/test/resources/moaspss_config/trustProfiles/jUnitSigning/junit_signing.crt new file mode 100644 index 0000000..fcc10a6 --- /dev/null +++ b/moaSig/moa-sig/src/test/resources/moaspss_config/trustProfiles/jUnitSigning/junit_signing.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDETCCAfkCBGCIPQgwDQYJKoZIhvcNAQELBQAwTTELMAkGA1UEBhMCQVQxDTAL +BgNVBAoMBEVHSVoxFDASBgNVBAsMC2pVbml0IFRlc3RzMRkwFwYDVQQDDBBNT0Et +U1BTUyBzaWduaW5nMB4XDTIxMDQyNzE2MzQxNloXDTQ4MDkxMTE2MzQxNlowTTEL +MAkGA1UEBhMCQVQxDTALBgNVBAoMBEVHSVoxFDASBgNVBAsMC2pVbml0IFRlc3Rz +MRkwFwYDVQQDDBBNT0EtU1BTUyBzaWduaW5nMIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEAr8tSafwFaLIOC0lzkN5Ymkuq9AXM3S7eBcO4i6U/QEPiTf5l +m+INTIsLqzFwXrkeJgHTR0CbdMkp/CFKjYbLnyc17jq9gGiFNvWYTIon17Tmy+ri +W8/8mWAADvBe4dyjelSQW0MBOV4pzeFWc5NlDyW2Jp1J77PYPb7muPY2RmS/38WD +ttRkz1nXOnibray2ZKz26hqnW1T3Om1s30EOB2+xMGhhBgdQ9+PdBn61HlP4UwN1 +RRWnLRaNkFTEnTK+YQEQF1LlGhriwCdfdGu65XTBWdGpXZoR9pjEGYzkF/UrYBAz +r0QSeXCM076uWT8/mJZOpxuBVBUukTZhQuf5uwIDAQABMA0GCSqGSIb3DQEBCwUA +A4IBAQAHBLlRY4dpmr8Pwp8rst0mzmRhIvm3MV2+D4K6ekLwDi/y1bMzSfyTXfLT +wLOCScYvwBfF1Fng5WylGbE69si1G7baq+VAbglTXyP5Hs/eLt9boGWAiFUz49o/ +2O4f89BWFY18zRg5ptDl5KNbcW9L0kOmHGsVwqJcKAT+6c3J15NV1IiUf3voE9LV +D4ita8he8/emHPRJxILVRNi6imx6O5cKGy+Sar2gK25Wc20oRAnSX/w9bpnQpJyh +Gp41K5taSZkPsm0wWBmvnJhA0TKA5ODeoqQD+eeQWC+I52dfAqEiwT76gWBSnhp1 +9yfgJqYU0ylD4DRlJ9S5krMhqbMl +-----END CERTIFICATE----- diff --git a/moaSig/moa-sig/src/test/resources/moaspss_config/tslworking/trust/eu/EU_Test_TSL_2_1.crt b/moaSig/moa-sig/src/test/resources/moaspss_config/tslworking/trust/eu/EU_Test_TSL_2_1.crt new file mode 100644 index 0000000..5734a7f --- /dev/null +++ b/moaSig/moa-sig/src/test/resources/moaspss_config/tslworking/trust/eu/EU_Test_TSL_2_1.crt @@ -0,0 +1,3 @@ +-----BEGIN CERTIFICATE----- +MIIDRjCCAi6gAwIBAgIBATANBgkqhkiG9w0BAQ0FADBVMRQwEgYDVQQDDAtDRVJULUxPVEwtMjEYMBYGA1UECgwPRVUgT3JnYW5pemF0aW9uMRYwFAYDVQQLDA1DRVJUIEZPUiBURVNUMQswCQYDVQQGEwJMVTAeFw0yMDA0MjQyMzAwMDZaFw0yMjA0MjQyMzAwMDZaMFUxFDASBgNVBAMMC0NFUlQtTE9UTC0yMRgwFgYDVQQKDA9FVSBPcmdhbml6YXRpb24xFjAUBgNVBAsMDUNFUlQgRk9SIFRFU1QxCzAJBgNVBAYTAkxVMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwmTKwpsl/UtiYo3mWUIiKn40QIJ6wv5wM9hty734M+ZZWxEIOKlMiIUo2nzWzMAJg4voCGScq+B5Cgtq+8M1QgLjeCnbUbCJtBgV9uAyn41zG66VhtxVVab8pAFBG3sRVphggWYZ/Y2j7AfpaVQDa14bFa9GfLze/yJnXJWHeabAZoLbKSIKiTRy/K9sw8DfBLFY0cjg3yHJktiw6KdkVd4tbfcNGKzL9UkHEwAfWpi41dKzmhBg3iyHkpmgeJSFK3zR4NCm0vIrDroiOwjQRuQLqKNk7cT6wJ5R6TJU0Pbd5MhWXwm40eGdFG8s0/VDuiUqRqCAZx/g0ZO3h6FIbQIDAQABoyEwHzAdBgNVHQ4EFgQUEZ9FMd7u5mrjSep0MuKiY4rSIxswDQYJKoZIhvcNAQENBQADggEBAE/nmC1Q6GG5B2k26SNtdqZbUnYV5iKeLzQXpt8TsloAA1e9jaRXEhlMSJWAL3HMU/KAvOu7xGAsF7mgb/yzdNZBL47RQ2OxzBINLbDEkQ66kVHZlgYKvEht8GfQfNRzC4c9drgUsL4jNSz6znAfCa5ZtdkxuvownboioJwJ1OK02hjiIn4m4bPNOboCWb7O7z3nFrMWO4viRNM/P3AMyzifOJSRduJWrRoVJ85zshpu3QinqUgyEVzhK7MNq5Ex5bTqCnWd7uiws2kq53hzQSZYCXy8S/86mw2q+ksCpEtbB+WY9lxRwcd//6bY0HxF7NSYCVh7epv6s4cpX5s1xTg= +-----END CERTIFICATE----- diff --git a/moaSig/moa-sig/src/test/resources/moaspss_config/tslworking/trust/eu/EU_Test_TSL_3_1.crt b/moaSig/moa-sig/src/test/resources/moaspss_config/tslworking/trust/eu/EU_Test_TSL_3_1.crt new file mode 100644 index 0000000..9596869 --- /dev/null +++ b/moaSig/moa-sig/src/test/resources/moaspss_config/tslworking/trust/eu/EU_Test_TSL_3_1.crt @@ -0,0 +1,3 @@ +-----BEGIN CERTIFICATE----- +MIIDRjCCAi6gAwIBAgIBATANBgkqhkiG9w0BAQ0FADBVMRQwEgYDVQQDDAtDRVJULUxPVEwtMzEYMBYGA1UECgwPRVUgT3JnYW5pemF0aW9uMRYwFAYDVQQLDA1DRVJUIEZPUiBURVNUMQswCQYDVQQGEwJMVTAeFw0yMDA0MjQyMzAwMDBaFw0yMjA0MjQyMzAwMDBaMFUxFDASBgNVBAMMC0NFUlQtTE9UTC0zMRgwFgYDVQQKDA9FVSBPcmdhbml6YXRpb24xFjAUBgNVBAsMDUNFUlQgRk9SIFRFU1QxCzAJBgNVBAYTAkxVMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtsnEky5JX96BZUuEO1121mPiY6aUyV/NL4TBEesupxzkXebi+mjmkK4ygqdMk/cqbJH6GaLLpFHdKfCGIdwTCEP3NWsnwKcRDE4rcMUDLNQcP60QbXkYWERnXVE/2mnlY0iGnfm+g9Euiq0vspaMr7uBiSWSelUMbGReO2sH2+0oaUgvC7F7A7OsmPpqBy94Y8+VhIuDnJY9I2ffqz3VA42R9mXHbjptXaf0AMGh0LR4Lhs83tjKtkpLvqvZxVwJnUzw/bHV5ZKzAsbGfq03Lx30dhET3OYcG7Bjv4w9lB/pvpomU2SpuItPVz+68rSCHi96a8/UvGWoukjGyNNwdwIDAQABoyEwHzAdBgNVHQ4EFgQUZEbJrRNBlBJ9/iv4OS0QenI8AvAwDQYJKoZIhvcNAQENBQADggEBAGhsZAK25NZ/EfFgjhiKxDpQ7Nbjr7f27F/Sww/W1Uxt/Ka1lvmFpn9GxndQiUAOE9aEH9XLFyPtTqKCZtecVFI9iD1+0dtrssnVwZiPl6CWSqBdm+YKbn5+3bdHYNnBuRog4B6Ca9RdW+ecB0CIFIRIom/3OwJHbQWa2zQTb3HoTOWmYlTirfqvzPzPaiqqP0E0rNESaCwVWRKDQ0V2j/259ot1+KCC5/LVJZxY5tnmMOyvgy9hsSmRetm27ofVcAiHmaybLlbn4knw71hzk8u1VPPUkf7tjWYR9H/LZkBFLRiQXcA5XkM9FV1zPYHh1BH8ILMg2OgrP6Ij2vBF8ZI= +-----END CERTIFICATE----- diff --git a/moaSig/moa-sig/src/test/resources/moaspss_config/tslworking/trust/eu/tsl_cert_20210427_2.crt b/moaSig/moa-sig/src/test/resources/moaspss_config/tslworking/trust/eu/tsl_cert_20210427_2.crt new file mode 100644 index 0000000..24c6d73 --- /dev/null +++ b/moaSig/moa-sig/src/test/resources/moaspss_config/tslworking/trust/eu/tsl_cert_20210427_2.crt @@ -0,0 +1,3 @@ +-----BEGIN CERTIFICATE----- +MIIG7zCCBNegAwIBAgIQEAAAAAAAnuXHXttK9Tyf2zANBgkqhkiG9w0BAQsFADBkMQswCQYDVQQGEwJCRTERMA8GA1UEBxMIQnJ1c3NlbHMxHDAaBgNVBAoTE0NlcnRpcG9zdCBOLlYuL1MuQS4xEzARBgNVBAMTCkNpdGl6ZW4gQ0ExDzANBgNVBAUTBjIwMTgwMzAeFw0xODA2MDEyMjA0MTlaFw0yODA1MzAyMzU5NTlaMHAxCzAJBgNVBAYTAkJFMSMwIQYDVQQDExpQYXRyaWNrIEtyZW1lciAoU2lnbmF0dXJlKTEPMA0GA1UEBBMGS3JlbWVyMRUwEwYDVQQqEwxQYXRyaWNrIEplYW4xFDASBgNVBAUTCzcyMDIwMzI5OTcwMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr7g7VriDY4as3R4LPOg7uPH5inHzaVMOwFb/8YOW+9IVMHz/V5dJAzeTKvhLG5S4Pk6Kd2E+h18FlRonp70Gv2+ijtkPk7ZQkfez0ycuAbLXiNx2S7fc5GG9LGJafDJgBgTQuQm1aDVLDQ653mqR5tAO+gEf6vs4zRESL3MkYXAUq+S/WocEaGpIheNVAF3iPSkvEe3LvUjF/xXHWF4aMvqGK6kXGseaTcn9hgTbceuW2PAiEr+eDTNczkwGBDFXwzmnGFPMRez3ONk/jIKhha8TylDSfI/MX3ODt0dU3jvJEKPIfUJixBPehxMJMwWxTjFbNu/CK7tJ8qT2i1S4VQIDAQABo4ICjzCCAoswHwYDVR0jBBgwFoAU2TQhPjpCJW3hu7++R0z4Aq3jL1QwcwYIKwYBBQUHAQEEZzBlMDkGCCsGAQUFBzAChi1odHRwOi8vY2VydHMuZWlkLmJlbGdpdW0uYmUvY2l0aXplbjIwMTgwMy5jcnQwKAYIKwYBBQUHMAGGHGh0dHA6Ly9vY3NwLmVpZC5iZWxnaXVtLmJlLzIwggEjBgNVHSAEggEaMIIBFjCCAQcGB2A4DAEBAgEwgfswLAYIKwYBBQUHAgEWIGh0dHA6Ly9yZXBvc2l0b3J5LmVpZC5iZWxnaXVtLmJlMIHKBggrBgEFBQcCAjCBvQyBukdlYnJ1aWsgb25kZXJ3b3JwZW4gYWFuIGFhbnNwcmFrZWxpamtoZWlkc2JlcGVya2luZ2VuLCB6aWUgQ1BTIC0gVXNhZ2Ugc291bWlzIMOgIGRlcyBsaW1pdGF0aW9ucyBkZSByZXNwb25zYWJpbGl0w6ksIHZvaXIgQ1BTIC0gVmVyd2VuZHVuZyB1bnRlcmxpZWd0IEhhZnR1bmdzYmVzY2hyw6Rua3VuZ2VuLCBnZW3DpHNzIENQUzAJBgcEAIvsQAECMDkGA1UdHwQyMDAwLqAsoCqGKGh0dHA6Ly9jcmwuZWlkLmJlbGdpdW0uYmUvZWlkYzIwMTgwMy5jcmwwDgYDVR0PAQH/BAQDAgZAMBMGA1UdJQQMMAoGCCsGAQUFBwMEMGwGCCsGAQUFBwEDBGAwXjAIBgYEAI5GAQEwCAYGBACORgEEMDMGBgQAjkYBBTApMCcWIWh0dHBzOi8vcmVwb3NpdG9yeS5laWQuYmVsZ2l1bS5iZRMCZW4wEwYGBACORgEGMAkGBwQAjkYBBgEwDQYJKoZIhvcNAQELBQADggIBACBY+OLhM7BryzXWklDUh9UK1+cDVboPg+lN1Et1lAEoxV4y9zuXUWLco9t8M5WfDcWFfDxyhatLedku2GurSJ1t8O/knDwLLyoJE1r2Db9VrdG+jtST+j/TmJHAX3yNWjn/9dsjiGQQuTJcce86rlzbGdUqjFTt5mGMm4zy4l/wKy6XiDKiZT8cFcOTevsl+l/vxiLiDnghOwTztVZhmWExeHG9ypqMFYmIucHQ0SFZre8mv3c7Df+VhqV/sY9xLERK3Ffk4l6B5qRPygImXqGzNSWiDISdYeUf4XoZLXJBEP7/36r4mlnP2NWQ+c1ORjesuDAZ8tD/yhMvR4DVG95EScjpTYv1wOmVB2lQrWnEtygZIi60HXfozo8uOekBnqWyDc1kuizZsYRfVNlwhCu7RsOq4zN8gkael0fejuSNtBf2J9A+rc9LQeu6AcdPauWmbxtJV93H46pFptsR8zXo+IJn5m2P9QPZ3mvDkzldNTGLG+ukhN7IF2CCcagt/WoVZLq3qKC35WVcqeoSMEE/XeSrf3/mIJ1OyFQm+tsfhTceOFDXuUgl3E86bR/f8Ur/bapwXpWpFxGIpXLGaJXbzQGSTtyNEYrdENlh71I3OeYdw3xmzU2B3tbaWREOXtj2xjyW2tIv+vvHG6sloR1QkIkGMFfzsT7W5U6ILetv +-----END CERTIFICATE----- diff --git a/moaSig/moa-sig/src/test/resources/testdata/cades/createCades_1.xml b/moaSig/moa-sig/src/test/resources/testdata/cades/createCades_1.xml new file mode 100644 index 0000000..5fe8e43 --- /dev/null +++ b/moaSig/moa-sig/src/test/resources/testdata/cades/createCades_1.xml @@ -0,0 +1,15 @@ + + KG_junit + + + + + application/securitylayer2+json + + + ew0KICAiYXBwSWQiOiAiaHR0cHM6Ly9kZW1vU1AiLA0KICAiZnJpZW5kbHlOYW1lIjogIkZpcnN0IERlbW8gU1AiLA0KICAiY291bnRyeUNvZGUiOiAiQVQiLA0KICAiYXV0aCI6IHsNCiAgICAicHJvY2Vzc0lkIjogImFhYmJjY2RkZWVmZjEyMzQiLA0KICAgICJ1cm46b2lkOjEuMi40MC4wLjEwLjIuMS4xLjI2MS45MCI6ICIxMWFhMjJiYjMzY2M0NGVlIg0KICB9LA0KICAiYXR0cmlidXRlcyI6IHsNCiAgICAidXJuOm9pZDoxLjIuNDAuMC4xMC4yLjEuMS4yNjEuMjAiOiAiTmFjaG5hbWUiLA0KICAgICJ1cm46b2lkOjIuNS40LjQyIjogIlZvcm5hbWUiLA0KICAgICJ1cm46b2lkOjEuMi40MC4wLjEwLjIuMS4xLjU1IjogIkdlYnVydHNkYXR1bSIsDQogICAgInVybjpvaWQ6MS4yLjQwLjAuMTAuMi4xLjEuMTQ5IjogIkJlcmVpY2hzc3BlemlmaXNjaGVzIFBlcnNvbmVua2VubnplaWNoZW4iDQogIH0sDQogICJjb25zdHJhaW5zIjogew0KICAgICJ2YWxpZEZyb20iOiAiMjAxOS0wNC0yOVQwODo1MDo1Ni40NTBaIiwNCiAgICAidmFsaWRUbyI6ICIyMDE5LTA0LTI5VDA5OjUwOjU2LjQ1MFoiDQogIH0sDQogICJ2aWV3Ijogew0KICAgICJ0ZW1wbGF0ZVVSSSI6ICJ3d3cuaGFuZHktc2lnbmF0dXIuYXQvc2VjdXJpdHlsYXllcjIvdGVtcGxhdGUvMjM3NCIsDQogICAgImhhc2hUZW1wbGF0ZSI6ICJBZDkxMmphaGdsYXNkPSINCiAgfQ0KfQ== + + + + + diff --git a/moaSig/moa-sig/src/test/resources/testdata/cades/createCades_2.xml b/moaSig/moa-sig/src/test/resources/testdata/cades/createCades_2.xml new file mode 100644 index 0000000..c9d3e60 --- /dev/null +++ b/moaSig/moa-sig/src/test/resources/testdata/cades/createCades_2.xml @@ -0,0 +1,15 @@ + + KG_junit + + + + + application/securitylayer2+json + + + ew0KICAiYXBwSWQiOiAiaHR0cHM6Ly9kZW1vU1AiLA0KICAiZnJpZW5kbHlOYW1lIjogIkZpcnN0IERlbW8gU1AiLA0KICAiY291bnRyeUNvZGUiOiAiQVQiLA0KICAiYXV0aCI6IHsNCiAgICAicHJvY2Vzc0lkIjogImFhYmJjY2RkZWVmZjEyMzQiLA0KICAgICJ1cm46b2lkOjEuMi40MC4wLjEwLjIuMS4xLjI2MS45MCI6ICIxMWFhMjJiYjMzY2M0NGVlIg0KICB9LA0KICAiYXR0cmlidXRlcyI6IHsNCiAgICAidXJuOm9pZDoxLjIuNDAuMC4xMC4yLjEuMS4yNjEuMjAiOiAiTmFjaG5hbWUiLA0KICAgICJ1cm46b2lkOjIuNS40LjQyIjogIlZvcm5hbWUiLA0KICAgICJ1cm46b2lkOjEuMi40MC4wLjEwLjIuMS4xLjU1IjogIkdlYnVydHNkYXR1bSIsDQogICAgInVybjpvaWQ6MS4yLjQwLjAuMTAuMi4xLjEuMTQ5IjogIkJlcmVpY2hzc3BlemlmaXNjaGVzIFBlcnNvbmVua2VubnplaWNoZW4iDQogIH0sDQogICJjb25zdHJhaW5zIjogew0KICAgICJ2YWxpZEZyb20iOiAiMjAxOS0wNC0yOVQwODo1MDo1Ni40NTBaIiwNCiAgICAidmFsaWRUbyI6ICIyMDE5LTA0LTI5VDA5OjUwOjU2LjQ1MFoiDQogIH0sDQogICJ2aWV3Ijogew0KICAgICJ0ZW1wbGF0ZVVSSSI6ICJ3d3cuaGFuZHktc2lnbmF0dXIuYXQvc2VjdXJpdHlsYXllcjIvdGVtcGxhdGUvMjM3NCIsDQogICAgImhhc2hUZW1wbGF0ZSI6ICJBZDkxMmphaGdsYXNkPSINCiAgfQ0KfQ== + + + + + diff --git a/moaSig/moa-sig/src/test/resources/testdata/xades/sign/createXades_1.xml b/moaSig/moa-sig/src/test/resources/testdata/xades/sign/createXades_1.xml new file mode 100644 index 0000000..dfe735a --- /dev/null +++ b/moaSig/moa-sig/src/test/resources/testdata/xades/sign/createXades_1.xml @@ -0,0 +1,286 @@ + + KG_junit + + + + + + + + + + + + text/plain + + + + + + + +PEVudGl0eURlc2NyaXB0b3IgIHhtbG5zPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6bWV0 +YWRhdGEiIHhtbG5zOmRzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIiB4bWxu +czpzaGlibWQ9InVybjptYWNlOnNoaWJib2xldGg6bWV0YWRhdGE6MS4wIiB4bWxuczp4bWw9Imh0 +dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIgeG1sbnM6bWR1aT0idXJuOm9hc2lz +Om5hbWVzOnRjOlNBTUw6bWV0YWRhdGE6dWkiIHhtbG5zOnJlcS1hdHRyPSJ1cm46b2FzaXM6bmFt +ZXM6dGM6U0FNTDpwcm90b2NvbDpleHQ6cmVxLWF0dHIiIGVudGl0eUlEPSJodHRwczovL2xhYmRh +LmlhaWsudHVncmF6LmF0OjY0NDMvaWRwL3NoaWJib2xldGgiPg0KDQogICAgPElEUFNTT0Rlc2Ny +aXB0b3IgcHJvdG9jb2xTdXBwb3J0RW51bWVyYXRpb249InVybjpvYXNpczpuYW1lczp0YzpTQU1M +OjIuMDpwcm90b2NvbCB1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoxLjE6cHJvdG9jb2wgdXJuOm1h +Y2U6c2hpYmJvbGV0aDoxLjAiPg0KDQogICAgICAgIDxFeHRlbnNpb25zPg0KICAgICAgICAgICAg +PHNoaWJtZDpTY29wZSByZWdleHA9ImZhbHNlIj5lZ2l6Lmd2LmF0PC9zaGlibWQ6U2NvcGU+DQo8 +IS0tDQogICAgRmlsbCBpbiB0aGUgZGV0YWlscyBmb3IgeW91ciBJZFAgaGVyZSANCiAgICAtLT4N +CiAgICAgICAgICAgIDxtZHVpOlVJSW5mbz4NCiAgICAgICAgICAgICAgICA8bWR1aTpEaXNwbGF5 +TmFtZSB4bWw6bGFuZz0iZW4iPkRlbW8gSWRQIGF0IGxhYmRhLmlhaWsudHVncmF6LmF0OjY0NDM8 +L21kdWk6RGlzcGxheU5hbWU+DQogICAgICAgICAgICAgICAgPG1kdWk6RGVzY3JpcHRpb24geG1s +Omxhbmc9ImVuIj5TaGliYm9sZXRoIElkUCBsYWJkYS5pYWlrLnR1Z3Jhei5hdDo2NDQzPC9tZHVp +OkRlc2NyaXB0aW9uPg0KICAgICAgICAgICAgICAgIDwhLS0gPG1kdWk6TG9nbyBoZWlnaHQ9Ijgw +IiB3aWR0aD0iODAiPmh0dHBzOi8vbGFiZGEuaWFpay50dWdyYXouYXQ6NjQ0My9QYXRoL1RvL0xv +Z28ucG5nPC9tZHVpOkxvZ28+IC0tPg0KICAgICAgICAgICAgPC9tZHVpOlVJSW5mbz4NCg0KICAg +ICAgICA8L0V4dGVuc2lvbnM+DQoNCiAgICAgICAgPCEtLSBGaXJzdCBzaWduaW5nIGNlcnRpZmlj +YXRlIGlzIEJhY2tDaGFubmVsLCB0aGUgU2Vjb25kIGlzIEZyb250Q2hhbm5lbCAtLT4NCiAgICAg +ICAgPEtleURlc2NyaXB0b3IgdXNlPSJzaWduaW5nIj4NCiAgICAgICAgICAgIDxkczpLZXlJbmZv +Pg0KICAgICAgICAgICAgICAgICAgICA8ZHM6WDUwOURhdGE+DQogICAgICAgICAgICAgICAgICAg +ICAgICA8ZHM6WDUwOUNlcnRpZmljYXRlPg0KTUlJRUpEQ0NBb3lnQXdJQkFnSVZBTWMrUFByY2NC +TlZFb0pTVTQ4djdpeTg2YjVYTUEwR0NTcUdTSWIzRFFFQg0KQ3dVQU1Ca3hGekFWQmdOVkJBTU1E +bVZwWkM1bFoybDZMbWQyTG1GME1CNFhEVEU1TURJeE9ERXpNek16T1ZvWA0KRFRNNU1ESXhPREV6 +TXpNek9Wb3dHVEVYTUJVR0ExVUVBd3dPWldsa0xtVm5hWG91WjNZdVlYUXdnZ0dpTUEwRw0KQ1Nx +R1NJYjNEUUVCQVFVQUE0SUJqd0F3Z2dHS0FvSUJnUUNsRk4vczM2RnBjYTExaG1VQ0VLZEM5R25O +eU0yYw0KSWdYYjdzOUJwdk9aQkdFVEkwMGhBQ3lUTGtLQlFKR1NZK0dnVlhIK1p1MmpXSEF0Vjdz +T2c3U2wrM1NQN0tkMw0KUmw0TnBzcUV6dkpoWXp2TFNlcWpPTW9uUk5aOWN0RmR0Y0tEeXU1dWx2 +UHRaZSs0dXRIUzRHUUpOR3lXYStPdw0KQjNzUE9kUXkyaVlKM2NaSU9jUGNDbGVRaFROaTV1anVZ +TVFidDIyNS8xeDlnZnNCbklEUFh6OHFxV1ZKOTQ1bg0KeG10eXNuRXJsTXlXd21PSnZnL1hVbWxm +dEhaTDRMSkdGYWh1bmdLY0tKNVUrR2Y0bjRRcTdvQTFPMzUxcHB0Mg0KYXFKZmxRVE9uaU4vMW83 +aThEQ3B3MzVRWVJLNEdsdmtGaG1OQ1cxanhOdzloV3hMTjQ0RVlhc3JETWs0ZHkzNQ0KdXBVaWNs +SXRvbGU0Mm83Z0Y2YVJFQjV6QjFBUDQwNkxCZno2NVN6anNLNVFZS3JsVDNqbVdoR3Z1ZXhlV0hh +aA0KakJKM3VocnloRzJWV0xFME5RU0s2NW9ORHZTTkJielpvSDlVQW5xT0FUN3RZRXJWbWN3UmN0 +bnpwU25CS1ZJcA0Kem1abkpGRHFKNHFFU2pxamw2YzRtTkk3dTlncHBTczNHK1VDQXdFQUFhTmpN +R0V3SFFZRFZSME9CQllFRkw3Vg0KcmxSWHlTUVh0VU83R284WTEzdFNRNTJCTUVBR0ExVWRFUVE1 +TURlQ0RtVnBaQzVsWjJsNkxtZDJMbUYwaGlWbw0KZEhSd2N6b3ZMMlZwWkM1bFoybDZMbWQyTG1G +MEwybGtjQzl6YUdsaVltOXNaWFJvTUEwR0NTcUdTSWIzRFFFQg0KQ3dVQUE0SUJnUUFMaVdpaUhn +aGNhWDFTcGhrbTFEaVhVMmJhZlNCMGgyVlpycFFpVXdoQldCWC9XZDRjRlJneg0KazEvUm4xL0ht +TFZlNUdOQzZmb2VyQU1tLzQwZ2tUY3VKTmZwdFB1YU96UVJXaUo2VmZPcW1QOFhpTW9tQmVsMw0K +WDFjczRuaVVEKytMREtVakJTbG94ZWFwZW9KUVV4VDBnNzlJTGJQTTFLdGpNMm9ESHBXR0ZxOEdY +a3FBaXJHZw0KUHNPNmdnbnhrRnZKTGJxRHZkM0p6NVBKNzV2ZjNmWEdZNmlvVTBFcCtXbm5RSmJK +WHU3SEtCQmNqWXNSYVZHRw0Kem0yU2RuK2FQbUdmNEk4aFpEcndqdTRyQThRQUdWWmt5cFQwTFNm +MitvdnN0QnNQOStnN20waEJONWErOFl1Uw0KTGJsNnF1V1BNVXZDN1Q4VU01Y1laZG8yUEoyV2tX +YWVvL0I2QVVIdlZseDlHZTNIT0g0RmIwZlB0Z3dTelJENg0KS1lTWDdCZWtxSVRmblVCZC9SeEo5 +U2lJcThXUEo1L29ET0ZvS01XaUlJZUJ2MjhZNWNWdzUrcUdPZkJDcjhRQw0KZ2NPU2N5OE9xMHBE +NDBvMjFZRjlTeDBLOURtQTl2bGZKbXVEK2R2Y3RRNmE4ejl1bFpIbVljdG5OVDZTb3NYTw0KdkFP +L2RxT2VlbTA9DQogICAgICAgICAgICAgICAgICAgICAgICA8L2RzOlg1MDlDZXJ0aWZpY2F0ZT4N +CiAgICAgICAgICAgICAgICAgICAgPC9kczpYNTA5RGF0YT4NCiAgICAgICAgICAgIDwvZHM6S2V5 +SW5mbz4NCg0KICAgICAgICA8L0tleURlc2NyaXB0b3I+DQogICAgICAgIDxLZXlEZXNjcmlwdG9y +IHVzZT0ic2lnbmluZyI+DQogICAgICAgICAgICA8ZHM6S2V5SW5mbz4NCiAgICAgICAgICAgICAg +ICAgICAgPGRzOlg1MDlEYXRhPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRzOlg1MDlDZXJ0 +aWZpY2F0ZT4NCk1JSUVKRENDQW95Z0F3SUJBZ0lWQUxOanN1djM1akZMOXYwZkxiRkR1LzB3UzJs +Rk1BMEdDU3FHU0liM0RRRUINCkN3VUFNQmt4RnpBVkJnTlZCQU1NRG1WcFpDNWxaMmw2TG1kMkxt +RjBNQjRYRFRFNU1ESXhPREV6TXpNek9Gb1gNCkRUTTVNREl4T0RFek16TXpPRm93R1RFWE1CVUdB +MVVFQXd3T1pXbGtMbVZuYVhvdVozWXVZWFF3Z2dHaU1BMEcNCkNTcUdTSWIzRFFFQkFRVUFBNElC +andBd2dnR0tBb0lCZ1FEeU0xcTVPdmxYeHFWSklOR0F5U0N3djBmdENIbysNCkdrZ2tYY0laRU1o +YzdLVHU1aHFQSzFYMy9ScWZQRkZFY2d6ZlBwbXJSRkZLMTN0T1V3VVNOVUdrSUpPck1GSncNCkxy +aFRZdEtzQWFmL0FFcXVjcmtqazhhckNTM045NmhaOUJmZnlVSVMwdmFjQm5GbytOY29RMTNldmNY +ZTNhUkwNCllldytXZWlyNC9oQ3VienlFMzQ2a2J0SlFJRGUzQmtPM2NKRGVmeXRJTG92VXZ5cXNV +Yy9Rc0hWTWhaM0xmdDYNCmRqajdBMlJiaHNCR1FXZmxyejFFNlp2ZzZKNWhxVXZndEdRS3A5cXNL +aXdjazNWR3NNZVR4dzIvTnA5TXhSOXANCnpFSHdneTg5Wk9jcWtvZjhJR0VWS0ozQ2xpOUFrUmNH +aHpsYmoyTmpGaVUxaURLZFQ3djNHZXZYZ1ZzM1RHeEYNCjRxN1ZubXJ4REMwMGFkRmIwdTZtemFv +d1NKQ1VwMVE2ZE1jdVNiQzV4ZzBsSWlJYVE4MjQyVCs4RktHNTFzaDINCjBiKzQvbnloa1VYM3Zq +bGpxdi9kN2lLdUh1Vk9sbitPMi9nR1JXSkphZnM5SWNDZ0xjSFlKUGhPWVVFK2pyVWsNClFhczdo +dUJaSmozQ3E3TkE5cVEwVWdqNHBzVjI0RXorNzNFQ0F3RUFBYU5qTUdFd0hRWURWUjBPQkJZRUZQ +M1INClpTK0cyZy9YOG9GbVE1VFoybExQOUdQbU1FQUdBMVVkRVFRNU1EZUNEbVZwWkM1bFoybDZM +bWQyTG1GMGhpVm8NCmRIUndjem92TDJWcFpDNWxaMmw2TG1kMkxtRjBMMmxrY0M5emFHbGlZbTlz +WlhSb01BMEdDU3FHU0liM0RRRUINCkN3VUFBNElCZ1FBbmpxUHVhOWhla1BDbmRTSUV0WnNYbnph +NFJxWDN6YkVWbXVMTVVHa0dSTW8vcUV0OUhESjkNCndTVDk4dmZZODdQRDlHOTFGeS9TRDhrVmUx +MXQ5QmIxM3pxMGNEc0k0UXlFaEUvcWtYQnVKdjJMYXdmdmovQ2MNCnRlRDhNeXlEckxHeGtZQ1Va +V1BtMTdpcmVWY1dpOU41NHlCVnJ5ai9vdFV0OUNnZmVxUnhQOE1LZ0h4R2lzYmsNCk4rdCtTb2V1 +LzVWVG9jWWIvSDZNUXVOaHB1eUlDZ1ZZeVFPRzZsaVRRZEorQUdXdXFQVnFsVFEyZ3RQcnZIUzIN +ClptL0dQTXlvekh5VGtjQXhqbDNHQTR3bTBTNzBTTHlqZ0I0ZWxGWVdHY0RCaXhLc3BtdVBXellR +anltczVlVkkNCldGV2NRQXRva2NiM0llRjUrTVZhU0pJaS8zd3ZTbjNXT0RHYjFheEVIUVFKeDY2 +UTJmSktVbHJrTUx1bTNLdkcNCmVMc01CV3VYZGVCYlMwWFd0Y09LcFFmKzdaaTFtcUsycHJiTWZu +d0wvZURyTitjOHQzZzA2K0ZSQ2pkMjJQN1oNCmJxNm5PZWNoWEduZlI0YXNYRnRkTll4clljQjdV +ZklLeHRJQVA5c29Dd3VUY3B5QnFNelZuRTRMamxCdTVmbzcNClRxYmRYUUV6NzlFPQ0KICAgICAg +ICAgICAgICAgICAgICAgICAgPC9kczpYNTA5Q2VydGlmaWNhdGU+DQogICAgICAgICAgICAgICAg +ICAgIDwvZHM6WDUwOURhdGE+DQogICAgICAgICAgICA8L2RzOktleUluZm8+DQoNCiAgICAgICAg +PC9LZXlEZXNjcmlwdG9yPg0KICAgICAgICA8S2V5RGVzY3JpcHRvciB1c2U9ImVuY3J5cHRpb24i +Pg0KICAgICAgICAgICAgPGRzOktleUluZm8+DQogICAgICAgICAgICAgICAgICAgIDxkczpYNTA5 +RGF0YT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkczpYNTA5Q2VydGlmaWNhdGU+DQpNSUlF +SkRDQ0FveWdBd0lCQWdJVkFLRk1zNWUwVkFJN3FEeGFCb2swWHVyQVA4K3dNQTBHQ1NxR1NJYjNE +UUVCDQpDd1VBTUJreEZ6QVZCZ05WQkFNTURtVnBaQzVsWjJsNkxtZDJMbUYwTUI0WERURTVNREl4 +T0RFek16TXpPVm9YDQpEVE01TURJeE9ERXpNek16T1Zvd0dURVhNQlVHQTFVRUF3d09aV2xrTG1W +bmFYb3VaM1l1WVhRd2dnR2lNQTBHDQpDU3FHU0liM0RRRUJBUVVBQTRJQmp3QXdnZ0dLQW9JQmdR +Q1dPWmFkYzg3UmwrTVZJTy9SZURoekY0bXFxdnpoDQpvZzdZOUpkVURQNHlDUHFwaUhMRk9TajV2 +K3p0d0tTcG5sbWFtNU1NbEdid282ampvQ2xHcDBVRjUrelNLL3hYDQpERSs2a2hpcHhXbFZ0U0dR +aTdldTVYUTNxR3Y1RmtCNWFORFJxRTNWcy81MTZrRU9EaDY1RUtZOGNWcnprYnJjDQpLRE1QWE9y +MWtLQ1V4S3F4QzBlR1VqSjJ0bnNGYVYzc0ZnN0M3QTEyaVN6K0lUaVRPQzhMS3ZsbHErU0RyU0FI +DQpncmhhWU1Rb2s5YTRHV0pTN0kwam5NRFZvSUlGWFVEaEhjRHQwR3JXSkh5eUV4U1FJNFZISUts +bnBHTHhxc21tDQpVU3ZneEIxSjNPaDZxb0VjVkRWUXVNOXVoZVMxOW9PZ3VMZ1dVS2J5bzBZdEs0 +alhVeUpJenVNL3p4ZEUrbFVQDQppeEpzMUdoU2J6VFBLaStjeEdmcFNHNk5lSk1XTkMrWFhXTHVK +UlJZc1g0UVA5cHJQNXpOQ2dIVVN3bi9FMWxmDQorL2tSYVlIUFhKNXZEZ0hXUHlreGRKeHQzLy9K +M0U3K0cvc3RTdGpsZU40MGlpU1lVWG5MRnArNEhtS3FZckVMDQoxRTdLa0JGZTZhbDdiMzVGNGdy +cTZmNllSdC9mVnRDNTM3Y0NBd0VBQWFOak1HRXdIUVlEVlIwT0JCWUVGQ2J2DQpibzdESjdRcTRQ +Tmx5ZENWdFVnR2RCamxNRUFHQTFVZEVRUTVNRGVDRG1WcFpDNWxaMmw2TG1kMkxtRjBoaVZvDQpk +SFJ3Y3pvdkwyVnBaQzVsWjJsNkxtZDJMbUYwTDJsa2NDOXphR2xpWW05c1pYUm9NQTBHQ1NxR1NJ +YjNEUUVCDQpDd1VBQTRJQmdRQWRLUVN4T3gwVHR3ZmtXb2Z1cDNTb0xTOTUyZGE4Zmd0SXdlZm1s +VFlaT0lZbTBGMU5ZeHMxDQpCYXl0c0crUDZBL0xWK1dpVWdySEFFNzVqR2VycDdXY29zZjZmeWZO +bW9NaW1sQjdLNnZtUGFQWG12dU10alFYDQp5ZkhOZXVkbldrbjc1NFRBTzRQNHUyc1Fkd0RQZWVR +Y2IwOGljVlE1ck1RWlg4djliZHVQeS9EQmRuRmt3OUErDQpXek5zOTRrQlRsTGdTT0VIUFJsZGRI +aDlJNUU3c3BGMUhwSC8ybzBkWS9sazZsYVdtOGpYMm13bDdKWTQ2WHBODQo1VUFTUUJFaExOdXp1 +MEI3dnhmNlZmRUYvVVREcnVwUzAraGxac2p4S1pkckl4QVg0VU1hK0VCZmo0QVFFL1NrDQpBT3VE +em9heUpoUnhkQ2dmbTBmdGxVcUVZQS9QNDU4NVQyZmpWMW5KTXYvV3ZpL1FzTHBUbWtUY3FraHJ6 +R29IDQpSM2dnMHl4ejlacDY3N2pyZVcvTkxTc2tWbVYxNDdYUXRhbVAyazlLNFF4UUVXbVdmME8w +cHdJdlEzVEtSZ3Y1DQp3UlowZGo2aCt2b0VGdmpwYk81SGJTRUFMU0U0TlJvOG44SzlGTTUwRjVu +NTY3STZ1TjQrWDFUU1NhcUlaV0hJDQo4c3ZXa2NvM1NPWT0NCiAgICAgICAgICAgICAgICAgICAg +ICAgIDwvZHM6WDUwOUNlcnRpZmljYXRlPg0KICAgICAgICAgICAgICAgICAgICA8L2RzOlg1MDlE +YXRhPg0KICAgICAgICAgICAgPC9kczpLZXlJbmZvPg0KDQogICAgICAgIDwvS2V5RGVzY3JpcHRv +cj4NCg0KICAgICAgICA8QXJ0aWZhY3RSZXNvbHV0aW9uU2VydmljZSBCaW5kaW5nPSJ1cm46b2Fz +aXM6bmFtZXM6dGM6U0FNTDoxLjA6YmluZGluZ3M6U09BUC1iaW5kaW5nIiBMb2NhdGlvbj0iaHR0 +cHM6Ly9sYWJkYS5pYWlrLnR1Z3Jhei5hdDo2NDQzL2lkcC9wcm9maWxlL1NBTUwxL1NPQVAvQXJ0 +aWZhY3RSZXNvbHV0aW9uIiBpbmRleD0iMSIvPg0KICAgICAgICA8QXJ0aWZhY3RSZXNvbHV0aW9u +U2VydmljZSBCaW5kaW5nPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6YmluZGluZ3M6U09B +UCIgTG9jYXRpb249Imh0dHBzOi8vbGFiZGEuaWFpay50dWdyYXouYXQ6NjQ0My9pZHAvcHJvZmls +ZS9TQU1MMi9TT0FQL0FydGlmYWN0UmVzb2x1dGlvbiIgaW5kZXg9IjIiLz4NCg0KICAgICAgICA8 +IS0tDQogICAgICAgIDxTaW5nbGVMb2dvdXRTZXJ2aWNlIEJpbmRpbmc9InVybjpvYXNpczpuYW1l +czp0YzpTQU1MOjIuMDpiaW5kaW5nczpIVFRQLVJlZGlyZWN0IiBMb2NhdGlvbj0iaHR0cHM6Ly9s +YWJkYS5pYWlrLnR1Z3Jhei5hdDo2NDQzL2lkcC9wcm9maWxlL1NBTUwyL1JlZGlyZWN0L1NMTyIv +Pg0KICAgICAgICA8U2luZ2xlTG9nb3V0U2VydmljZSBCaW5kaW5nPSJ1cm46b2FzaXM6bmFtZXM6 +dGM6U0FNTDoyLjA6YmluZGluZ3M6SFRUUC1QT1NUIiBMb2NhdGlvbj0iaHR0cHM6Ly9sYWJkYS5p +YWlrLnR1Z3Jhei5hdDo2NDQzL2lkcC9wcm9maWxlL1NBTUwyL1BPU1QvU0xPIi8+DQogICAgICAg +IDxTaW5nbGVMb2dvdXRTZXJ2aWNlIEJpbmRpbmc9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIu +MDpiaW5kaW5nczpIVFRQLVBPU1QtU2ltcGxlU2lnbiIgTG9jYXRpb249Imh0dHBzOi8vbGFiZGEu +aWFpay50dWdyYXouYXQ6NjQ0My9pZHAvcHJvZmlsZS9TQU1MMi9QT1NULVNpbXBsZVNpZ24vU0xP +Ii8+DQogICAgICAgIDxTaW5nbGVMb2dvdXRTZXJ2aWNlIEJpbmRpbmc9InVybjpvYXNpczpuYW1l +czp0YzpTQU1MOjIuMDpiaW5kaW5nczpTT0FQIiBMb2NhdGlvbj0iaHR0cHM6Ly9sYWJkYS5pYWlr +LnR1Z3Jhei5hdDo2NDQzL2lkcC9wcm9maWxlL1NBTUwyL1NPQVAvU0xPIi8+DQogICAgICAgIC0t +Pg0KDQogICAgICAgIDxTaW5nbGVTaWduT25TZXJ2aWNlIEJpbmRpbmc9InVybjptYWNlOnNoaWJi +b2xldGg6MS4wOnByb2ZpbGVzOkF1dGhuUmVxdWVzdCIgTG9jYXRpb249Imh0dHBzOi8vbGFiZGEu +aWFpay50dWdyYXouYXQ6NjQ0My9pZHAvcHJvZmlsZS9TaGliYm9sZXRoL1NTTyIvPg0KICAgICAg +ICA8U2luZ2xlU2lnbk9uU2VydmljZSBCaW5kaW5nPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoy +LjA6YmluZGluZ3M6SFRUUC1QT1NUIiByZXEtYXR0cjpzdXBwb3J0c1JlcXVlc3RlZEF0dHJpYnV0 +ZXM9InRydWUiIExvY2F0aW9uPSJodHRwczovL2xhYmRhLmlhaWsudHVncmF6LmF0OjY0NDMvaWRw +L3Byb2ZpbGUvU0FNTDIvUE9TVC9TU08iLz4NCiAgICAgICAgPFNpbmdsZVNpZ25PblNlcnZpY2Ug +QmluZGluZz0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4wOmJpbmRpbmdzOkhUVFAtUE9TVC1T +aW1wbGVTaWduIiByZXEtYXR0cjpzdXBwb3J0c1JlcXVlc3RlZEF0dHJpYnV0ZXM9InRydWUiIExv +Y2F0aW9uPSJodHRwczovL2xhYmRhLmlhaWsudHVncmF6LmF0OjY0NDMvaWRwL3Byb2ZpbGUvU0FN +TDIvUE9TVC1TaW1wbGVTaWduL1NTTyIvPg0KICAgICAgICA8U2luZ2xlU2lnbk9uU2VydmljZSBC +aW5kaW5nPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6YmluZGluZ3M6SFRUUC1SZWRpcmVj +dCIgcmVxLWF0dHI6c3VwcG9ydHNSZXF1ZXN0ZWRBdHRyaWJ1dGVzPSJ0cnVlIiBMb2NhdGlvbj0i +aHR0cHM6Ly9sYWJkYS5pYWlrLnR1Z3Jhei5hdDo2NDQzL2lkcC9wcm9maWxlL1NBTUwyL1JlZGly +ZWN0L1NTTyIvPg0KDQogICAgPC9JRFBTU09EZXNjcmlwdG9yPg0KDQoNCiAgICA8QXR0cmlidXRl +QXV0aG9yaXR5RGVzY3JpcHRvciBwcm90b2NvbFN1cHBvcnRFbnVtZXJhdGlvbj0idXJuOm9hc2lz +Om5hbWVzOnRjOlNBTUw6MS4xOnByb3RvY29sIj4NCg0KICAgICAgICA8RXh0ZW5zaW9ucz4NCiAg +ICAgICAgICAgIDxzaGlibWQ6U2NvcGUgcmVnZXhwPSJmYWxzZSI+ZWdpei5ndi5hdDwvc2hpYm1k +OlNjb3BlPg0KICAgICAgICA8L0V4dGVuc2lvbnM+DQoNCiAgICAgICAgPCEtLSBGaXJzdCBzaWdu +aW5nIGNlcnRpZmljYXRlIGlzIEJhY2tDaGFubmVsLCB0aGUgU2Vjb25kIGlzIEZyb250Q2hhbm5l +bCAtLT4NCiAgICAgICAgPEtleURlc2NyaXB0b3IgdXNlPSJzaWduaW5nIj4NCiAgICAgICAgICAg +IDxkczpLZXlJbmZvPg0KICAgICAgICAgICAgICAgICAgICA8ZHM6WDUwOURhdGE+DQogICAgICAg +ICAgICAgICAgICAgICAgICA8ZHM6WDUwOUNlcnRpZmljYXRlPg0KTUlJRUpEQ0NBb3lnQXdJQkFn +SVZBTWMrUFByY2NCTlZFb0pTVTQ4djdpeTg2YjVYTUEwR0NTcUdTSWIzRFFFQg0KQ3dVQU1Ca3hG +ekFWQmdOVkJBTU1EbVZwWkM1bFoybDZMbWQyTG1GME1CNFhEVEU1TURJeE9ERXpNek16T1ZvWA0K +RFRNNU1ESXhPREV6TXpNek9Wb3dHVEVYTUJVR0ExVUVBd3dPWldsa0xtVm5hWG91WjNZdVlYUXdn +Z0dpTUEwRw0KQ1NxR1NJYjNEUUVCQVFVQUE0SUJqd0F3Z2dHS0FvSUJnUUNsRk4vczM2RnBjYTEx +aG1VQ0VLZEM5R25OeU0yYw0KSWdYYjdzOUJwdk9aQkdFVEkwMGhBQ3lUTGtLQlFKR1NZK0dnVlhI +K1p1MmpXSEF0VjdzT2c3U2wrM1NQN0tkMw0KUmw0TnBzcUV6dkpoWXp2TFNlcWpPTW9uUk5aOWN0 +RmR0Y0tEeXU1dWx2UHRaZSs0dXRIUzRHUUpOR3lXYStPdw0KQjNzUE9kUXkyaVlKM2NaSU9jUGND +bGVRaFROaTV1anVZTVFidDIyNS8xeDlnZnNCbklEUFh6OHFxV1ZKOTQ1bg0KeG10eXNuRXJsTXlX +d21PSnZnL1hVbWxmdEhaTDRMSkdGYWh1bmdLY0tKNVUrR2Y0bjRRcTdvQTFPMzUxcHB0Mg0KYXFK +ZmxRVE9uaU4vMW83aThEQ3B3MzVRWVJLNEdsdmtGaG1OQ1cxanhOdzloV3hMTjQ0RVlhc3JETWs0 +ZHkzNQ0KdXBVaWNsSXRvbGU0Mm83Z0Y2YVJFQjV6QjFBUDQwNkxCZno2NVN6anNLNVFZS3JsVDNq +bVdoR3Z1ZXhlV0hhaA0KakJKM3VocnloRzJWV0xFME5RU0s2NW9ORHZTTkJielpvSDlVQW5xT0FU +N3RZRXJWbWN3UmN0bnpwU25CS1ZJcA0Kem1abkpGRHFKNHFFU2pxamw2YzRtTkk3dTlncHBTczNH +K1VDQXdFQUFhTmpNR0V3SFFZRFZSME9CQllFRkw3Vg0KcmxSWHlTUVh0VU83R284WTEzdFNRNTJC +TUVBR0ExVWRFUVE1TURlQ0RtVnBaQzVsWjJsNkxtZDJMbUYwaGlWbw0KZEhSd2N6b3ZMMlZwWkM1 +bFoybDZMbWQyTG1GMEwybGtjQzl6YUdsaVltOXNaWFJvTUEwR0NTcUdTSWIzRFFFQg0KQ3dVQUE0 +SUJnUUFMaVdpaUhnaGNhWDFTcGhrbTFEaVhVMmJhZlNCMGgyVlpycFFpVXdoQldCWC9XZDRjRlJn +eg0KazEvUm4xL0htTFZlNUdOQzZmb2VyQU1tLzQwZ2tUY3VKTmZwdFB1YU96UVJXaUo2VmZPcW1Q +OFhpTW9tQmVsMw0KWDFjczRuaVVEKytMREtVakJTbG94ZWFwZW9KUVV4VDBnNzlJTGJQTTFLdGpN +Mm9ESHBXR0ZxOEdYa3FBaXJHZw0KUHNPNmdnbnhrRnZKTGJxRHZkM0p6NVBKNzV2ZjNmWEdZNmlv +VTBFcCtXbm5RSmJKWHU3SEtCQmNqWXNSYVZHRw0Kem0yU2RuK2FQbUdmNEk4aFpEcndqdTRyQThR +QUdWWmt5cFQwTFNmMitvdnN0QnNQOStnN20waEJONWErOFl1Uw0KTGJsNnF1V1BNVXZDN1Q4VU01 +Y1laZG8yUEoyV2tXYWVvL0I2QVVIdlZseDlHZTNIT0g0RmIwZlB0Z3dTelJENg0KS1lTWDdCZWtx +SVRmblVCZC9SeEo5U2lJcThXUEo1L29ET0ZvS01XaUlJZUJ2MjhZNWNWdzUrcUdPZkJDcjhRQw0K +Z2NPU2N5OE9xMHBENDBvMjFZRjlTeDBLOURtQTl2bGZKbXVEK2R2Y3RRNmE4ejl1bFpIbVljdG5O +VDZTb3NYTw0KdkFPL2RxT2VlbTA9DQogICAgICAgICAgICAgICAgICAgICAgICA8L2RzOlg1MDlD +ZXJ0aWZpY2F0ZT4NCiAgICAgICAgICAgICAgICAgICAgPC9kczpYNTA5RGF0YT4NCiAgICAgICAg +ICAgIDwvZHM6S2V5SW5mbz4NCg0KICAgICAgICA8L0tleURlc2NyaXB0b3I+DQogICAgICAgIDxL +ZXlEZXNjcmlwdG9yIHVzZT0ic2lnbmluZyI+DQogICAgICAgICAgICA8ZHM6S2V5SW5mbz4NCiAg +ICAgICAgICAgICAgICAgICAgPGRzOlg1MDlEYXRhPg0KICAgICAgICAgICAgICAgICAgICAgICAg +PGRzOlg1MDlDZXJ0aWZpY2F0ZT4NCk1JSUVKRENDQW95Z0F3SUJBZ0lWQUxOanN1djM1akZMOXYw +ZkxiRkR1LzB3UzJsRk1BMEdDU3FHU0liM0RRRUINCkN3VUFNQmt4RnpBVkJnTlZCQU1NRG1WcFpD +NWxaMmw2TG1kMkxtRjBNQjRYRFRFNU1ESXhPREV6TXpNek9Gb1gNCkRUTTVNREl4T0RFek16TXpP +Rm93R1RFWE1CVUdBMVVFQXd3T1pXbGtMbVZuYVhvdVozWXVZWFF3Z2dHaU1BMEcNCkNTcUdTSWIz +RFFFQkFRVUFBNElCandBd2dnR0tBb0lCZ1FEeU0xcTVPdmxYeHFWSklOR0F5U0N3djBmdENIbysN +CkdrZ2tYY0laRU1oYzdLVHU1aHFQSzFYMy9ScWZQRkZFY2d6ZlBwbXJSRkZLMTN0T1V3VVNOVUdr +SUpPck1GSncNCkxyaFRZdEtzQWFmL0FFcXVjcmtqazhhckNTM045NmhaOUJmZnlVSVMwdmFjQm5G +bytOY29RMTNldmNYZTNhUkwNCllldytXZWlyNC9oQ3VienlFMzQ2a2J0SlFJRGUzQmtPM2NKRGVm +eXRJTG92VXZ5cXNVYy9Rc0hWTWhaM0xmdDYNCmRqajdBMlJiaHNCR1FXZmxyejFFNlp2ZzZKNWhx +VXZndEdRS3A5cXNLaXdjazNWR3NNZVR4dzIvTnA5TXhSOXANCnpFSHdneTg5Wk9jcWtvZjhJR0VW +S0ozQ2xpOUFrUmNHaHpsYmoyTmpGaVUxaURLZFQ3djNHZXZYZ1ZzM1RHeEYNCjRxN1ZubXJ4REMw +MGFkRmIwdTZtemFvd1NKQ1VwMVE2ZE1jdVNiQzV4ZzBsSWlJYVE4MjQyVCs4RktHNTFzaDINCjBi +KzQvbnloa1VYM3ZqbGpxdi9kN2lLdUh1Vk9sbitPMi9nR1JXSkphZnM5SWNDZ0xjSFlKUGhPWVVF +K2pyVWsNClFhczdodUJaSmozQ3E3TkE5cVEwVWdqNHBzVjI0RXorNzNFQ0F3RUFBYU5qTUdFd0hR +WURWUjBPQkJZRUZQM1INClpTK0cyZy9YOG9GbVE1VFoybExQOUdQbU1FQUdBMVVkRVFRNU1EZUNE +bVZwWkM1bFoybDZMbWQyTG1GMGhpVm8NCmRIUndjem92TDJWcFpDNWxaMmw2TG1kMkxtRjBMMmxr +Y0M5emFHbGlZbTlzWlhSb01BMEdDU3FHU0liM0RRRUINCkN3VUFBNElCZ1FBbmpxUHVhOWhla1BD +bmRTSUV0WnNYbnphNFJxWDN6YkVWbXVMTVVHa0dSTW8vcUV0OUhESjkNCndTVDk4dmZZODdQRDlH +OTFGeS9TRDhrVmUxMXQ5QmIxM3pxMGNEc0k0UXlFaEUvcWtYQnVKdjJMYXdmdmovQ2MNCnRlRDhN +eXlEckxHeGtZQ1VaV1BtMTdpcmVWY1dpOU41NHlCVnJ5ai9vdFV0OUNnZmVxUnhQOE1LZ0h4R2lz +YmsNCk4rdCtTb2V1LzVWVG9jWWIvSDZNUXVOaHB1eUlDZ1ZZeVFPRzZsaVRRZEorQUdXdXFQVnFs +VFEyZ3RQcnZIUzINClptL0dQTXlvekh5VGtjQXhqbDNHQTR3bTBTNzBTTHlqZ0I0ZWxGWVdHY0RC +aXhLc3BtdVBXellRanltczVlVkkNCldGV2NRQXRva2NiM0llRjUrTVZhU0pJaS8zd3ZTbjNXT0RH +YjFheEVIUVFKeDY2UTJmSktVbHJrTUx1bTNLdkcNCmVMc01CV3VYZGVCYlMwWFd0Y09LcFFmKzda +aTFtcUsycHJiTWZud0wvZURyTitjOHQzZzA2K0ZSQ2pkMjJQN1oNCmJxNm5PZWNoWEduZlI0YXNY +RnRkTll4clljQjdVZklLeHRJQVA5c29Dd3VUY3B5QnFNelZuRTRMamxCdTVmbzcNClRxYmRYUUV6 +NzlFPQ0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kczpYNTA5Q2VydGlmaWNhdGU+DQogICAg +ICAgICAgICAgICAgICAgIDwvZHM6WDUwOURhdGE+DQogICAgICAgICAgICA8L2RzOktleUluZm8+ +DQoNCiAgICAgICAgPC9LZXlEZXNjcmlwdG9yPg0KICAgICAgICA8S2V5RGVzY3JpcHRvciB1c2U9 +ImVuY3J5cHRpb24iPg0KICAgICAgICAgICAgPGRzOktleUluZm8+DQogICAgICAgICAgICAgICAg +ICAgIDxkczpYNTA5RGF0YT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkczpYNTA5Q2VydGlm +aWNhdGU+DQpNSUlFSkRDQ0FveWdBd0lCQWdJVkFLRk1zNWUwVkFJN3FEeGFCb2swWHVyQVA4K3dN +QTBHQ1NxR1NJYjNEUUVCDQpDd1VBTUJreEZ6QVZCZ05WQkFNTURtVnBaQzVsWjJsNkxtZDJMbUYw +TUI0WERURTVNREl4T0RFek16TXpPVm9YDQpEVE01TURJeE9ERXpNek16T1Zvd0dURVhNQlVHQTFV +RUF3d09aV2xrTG1WbmFYb3VaM1l1WVhRd2dnR2lNQTBHDQpDU3FHU0liM0RRRUJBUVVBQTRJQmp3 +QXdnZ0dLQW9JQmdRQ1dPWmFkYzg3UmwrTVZJTy9SZURoekY0bXFxdnpoDQpvZzdZOUpkVURQNHlD +UHFwaUhMRk9TajV2K3p0d0tTcG5sbWFtNU1NbEdid282ampvQ2xHcDBVRjUrelNLL3hYDQpERSs2 +a2hpcHhXbFZ0U0dRaTdldTVYUTNxR3Y1RmtCNWFORFJxRTNWcy81MTZrRU9EaDY1RUtZOGNWcnpr +YnJjDQpLRE1QWE9yMWtLQ1V4S3F4QzBlR1VqSjJ0bnNGYVYzc0ZnN0M3QTEyaVN6K0lUaVRPQzhM +S3ZsbHErU0RyU0FIDQpncmhhWU1Rb2s5YTRHV0pTN0kwam5NRFZvSUlGWFVEaEhjRHQwR3JXSkh5 +eUV4U1FJNFZISUtsbnBHTHhxc21tDQpVU3ZneEIxSjNPaDZxb0VjVkRWUXVNOXVoZVMxOW9PZ3VM +Z1dVS2J5bzBZdEs0alhVeUpJenVNL3p4ZEUrbFVQDQppeEpzMUdoU2J6VFBLaStjeEdmcFNHNk5l +Sk1XTkMrWFhXTHVKUlJZc1g0UVA5cHJQNXpOQ2dIVVN3bi9FMWxmDQorL2tSYVlIUFhKNXZEZ0hX +UHlreGRKeHQzLy9KM0U3K0cvc3RTdGpsZU40MGlpU1lVWG5MRnArNEhtS3FZckVMDQoxRTdLa0JG +ZTZhbDdiMzVGNGdycTZmNllSdC9mVnRDNTM3Y0NBd0VBQWFOak1HRXdIUVlEVlIwT0JCWUVGQ2J2 +DQpibzdESjdRcTRQTmx5ZENWdFVnR2RCamxNRUFHQTFVZEVRUTVNRGVDRG1WcFpDNWxaMmw2TG1k +MkxtRjBoaVZvDQpkSFJ3Y3pvdkwyVnBaQzVsWjJsNkxtZDJMbUYwTDJsa2NDOXphR2xpWW05c1pY +Um9NQTBHQ1NxR1NJYjNEUUVCDQpDd1VBQTRJQmdRQWRLUVN4T3gwVHR3ZmtXb2Z1cDNTb0xTOTUy +ZGE4Zmd0SXdlZm1sVFlaT0lZbTBGMU5ZeHMxDQpCYXl0c0crUDZBL0xWK1dpVWdySEFFNzVqR2Vy +cDdXY29zZjZmeWZObW9NaW1sQjdLNnZtUGFQWG12dU10alFYDQp5ZkhOZXVkbldrbjc1NFRBTzRQ +NHUyc1Fkd0RQZWVRY2IwOGljVlE1ck1RWlg4djliZHVQeS9EQmRuRmt3OUErDQpXek5zOTRrQlRs +TGdTT0VIUFJsZGRIaDlJNUU3c3BGMUhwSC8ybzBkWS9sazZsYVdtOGpYMm13bDdKWTQ2WHBODQo1 +VUFTUUJFaExOdXp1MEI3dnhmNlZmRUYvVVREcnVwUzAraGxac2p4S1pkckl4QVg0VU1hK0VCZmo0 +QVFFL1NrDQpBT3VEem9heUpoUnhkQ2dmbTBmdGxVcUVZQS9QNDU4NVQyZmpWMW5KTXYvV3ZpL1Fz +THBUbWtUY3FraHJ6R29IDQpSM2dnMHl4ejlacDY3N2pyZVcvTkxTc2tWbVYxNDdYUXRhbVAyazlL +NFF4UUVXbVdmME8wcHdJdlEzVEtSZ3Y1DQp3UlowZGo2aCt2b0VGdmpwYk81SGJTRUFMU0U0TlJv +OG44SzlGTTUwRjVuNTY3STZ1TjQrWDFUU1NhcUlaV0hJDQo4c3ZXa2NvM1NPWT0NCiAgICAgICAg +ICAgICAgICAgICAgICAgIDwvZHM6WDUwOUNlcnRpZmljYXRlPg0KICAgICAgICAgICAgICAgICAg +ICA8L2RzOlg1MDlEYXRhPg0KICAgICAgICAgICAgPC9kczpLZXlJbmZvPg0KDQogICAgICAgIDwv +S2V5RGVzY3JpcHRvcj4NCg0KICAgICAgICA8QXR0cmlidXRlU2VydmljZSBCaW5kaW5nPSJ1cm46 +b2FzaXM6bmFtZXM6dGM6U0FNTDoxLjA6YmluZGluZ3M6U09BUC1iaW5kaW5nIiBMb2NhdGlvbj0i +aHR0cHM6Ly9sYWJkYS5pYWlrLnR1Z3Jhei5hdDo2NDQzL2lkcC9wcm9maWxlL1NBTUwxL1NPQVAv +QXR0cmlidXRlUXVlcnkiLz4NCiAgICAgICAgPCEtLSA8QXR0cmlidXRlU2VydmljZSBCaW5kaW5n +PSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6YmluZGluZ3M6U09BUCIgTG9jYXRpb249Imh0 +dHBzOi8vbGFiZGEuaWFpay50dWdyYXouYXQ6NjQ0My9pZHAvcHJvZmlsZS9TQU1MMi9TT0FQL0F0 +dHJpYnV0ZVF1ZXJ5Ii8+IC0tPg0KICAgICAgICA8IS0tIElmIHlvdSB1bmNvbW1lbnQgdGhlIGFi +b3ZlIHlvdSBzaG91bGQgYWRkIHVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDpwcm90b2NvbCB0 +byB0aGUgcHJvdG9jb2xTdXBwb3J0RW51bWVyYXRpb24gYWJvdmUgLS0+DQoNCiAgICA8L0F0dHJp +YnV0ZUF1dGhvcml0eURlc2NyaXB0b3I+DQoNCjwvRW50aXR5RGVzY3JpcHRvcj4= + + + + + /md:EntityDescriptor + + + + diff --git a/moaSig/moa-sig/src/test/resources/testdata/xades/sign/createXades_2.xml b/moaSig/moa-sig/src/test/resources/testdata/xades/sign/createXades_2.xml new file mode 100644 index 0000000..72f819b --- /dev/null +++ b/moaSig/moa-sig/src/test/resources/testdata/xades/sign/createXades_2.xml @@ -0,0 +1,62 @@ + + KG_junit + + + + + + + + + not(ancestor-or-self::pr:Identification) + + + + + text/xml + + + + + + + + + + + + not(ancestor-or-self::dsig:Signature) + + + + text/xml + + + + + + + + + + + + urn:oasis:names:tc:SAML:1.0:cm:sender-vouches + + adfasfsafsafsafsafsadfsaurn:publicid:gv.at:baseidGeorg MaxGehtnichtmehr1970-10-07 + + + + hCZLl3qKckwEWV3l4UBG14o7fvbxoHKxCfrTcJW/yJJvIZa2VUzL7rYpEGZSKFpur0v9cDjIZOtn +jCt/8pmDSSpdRF4Yrem3wnhv2jE+UuiwUOZtOymcsv5g3I5NXFjaBJlXnXbQF3djAd0YcU6tAzpr +Md8x0ko+J9CVBxWj6VFJeP4muTI/XvEUSU4QVxmmAyUPCYM6mzlYoYUPEYpw5oWA1p++dvM8USdh +0pB5mmXboFfPGvN/DvfV4BKKT8xXAQAB + + + + + /saml:Assertion + + + + -- cgit v1.2.3