aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--moaSig/moa-sig/src/test/java/at/gv/egovernment/moa/spss/test/integration/CadesIntegrationTest.java100
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());
-
+
}
-
+
}
-
+
}