diff options
| -rw-r--r-- | moaSig/moa-sig/src/test/java/at/gv/egovernment/moa/spss/test/integration/CadesIntegrationTest.java | 100 |
1 files changed, 68 insertions, 32 deletions
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 65097a1..72150e1 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,8 +9,6 @@ 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; @@ -27,11 +25,9 @@ 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; @@ -54,10 +50,10 @@ public class CadesIntegrationTest extends AbstractIntegrationTest { private CMSSignatureCreationInvoker signCadesInvoker; @BeforeClass - public static void classInitializer() throws IOException, ConfigurationException, + public static void classInitializer() throws IOException, ConfigurationException, NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException { jvmStateReset(); - + final String current = new java.io.File(".").getCanonicalPath(); System.setProperty("moa.spss.server.configuration", current + "/src/test/resources/moaspss_config/MOASPSSConfiguration.xml"); @@ -92,7 +88,7 @@ public class CadesIntegrationTest extends AbstractIntegrationTest { public void initializer() throws ConfigurationException { verifyCadesInvoker = CMSSignatureVerificationInvoker.getInstance(); signCadesInvoker = CMSSignatureCreationInvoker.getInstance(); - + setUpContexts(RandomStringUtils.randomAlphabetic(10)); } @@ -281,25 +277,66 @@ public class CadesIntegrationTest extends AbstractIntegrationTest { } @Test - public void simpleCmsCreation() throws MOAException, ParserConfigurationException, SAXException, IOException { + 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); - - + 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 simpleCmsCreationWithAttachement() throws MOAException, ParserConfigurationException, + SAXException, IOException { + // build request + Element cadesReqXml = DOMUtils.parseXmlNonValidating( + CadesIntegrationTest.class.getResourceAsStream("/testdata/cades/createCades_attachement.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()); - + assertNotNull("cades Sig.", cades.getCMSSignature()); + // signature final VerifyCMSSignatureRequest request = buildVerfifyCmsRequest( org.apache.commons.codec.binary.Base64.decodeBase64(cades.getCMSSignature()), @@ -318,30 +355,29 @@ public class CadesIntegrationTest extends AbstractIntegrationTest { .getResponseElements().get(0); assertEquals("sigCode", 0, cmsResult.getSignatureCheck().getCode()); assertEquals("certCode", 0, cmsResult.getCertificateCheck().getCode()); - - + } - + @Test - public void simpleCadesCreation() throws MOAException, ParserConfigurationException, SAXException, IOException { + 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); - - + 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()); - + assertNotNull("cades Sig.", cades.getCMSSignature()); + // signature final VerifyCMSSignatureRequest request = buildVerfifyCmsRequest( org.apache.commons.codec.binary.Base64.decodeBase64(cades.getCMSSignature()), @@ -360,15 +396,15 @@ public class CadesIntegrationTest extends AbstractIntegrationTest { .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()); - + } - + } - + } |
