aboutsummaryrefslogtreecommitdiff
path: root/moaSig/moa-sig/src/test/java/at/gv/egovernment/moa/spss/test/integration/PadesIntegrationTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'moaSig/moa-sig/src/test/java/at/gv/egovernment/moa/spss/test/integration/PadesIntegrationTest.java')
-rw-r--r--moaSig/moa-sig/src/test/java/at/gv/egovernment/moa/spss/test/integration/PadesIntegrationTest.java82
1 files changed, 81 insertions, 1 deletions
diff --git a/moaSig/moa-sig/src/test/java/at/gv/egovernment/moa/spss/test/integration/PadesIntegrationTest.java b/moaSig/moa-sig/src/test/java/at/gv/egovernment/moa/spss/test/integration/PadesIntegrationTest.java
index fd5b278..d0e53d3 100644
--- a/moaSig/moa-sig/src/test/java/at/gv/egovernment/moa/spss/test/integration/PadesIntegrationTest.java
+++ b/moaSig/moa-sig/src/test/java/at/gv/egovernment/moa/spss/test/integration/PadesIntegrationTest.java
@@ -7,12 +7,18 @@ import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertThrows;
import static org.junit.Assert.assertTrue;
+import java.io.FileInputStream;
import java.io.IOException;
+import java.security.cert.Certificate;
+import java.security.cert.CertificateException;
+import java.util.Date;
import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.RandomStringUtils;
import org.junit.Before;
import org.junit.BeforeClass;
+import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.BlockJUnit4ClassRunner;
@@ -23,8 +29,20 @@ 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.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.iaik.cmsverify.PDFSignatureVerificationProfileImpl;
+import at.gv.egovernment.moa.spss.server.iaik.pki.PKIProfileImpl;
import at.gv.egovernment.moa.spss.server.init.SystemInitializer;
import at.gv.egovernment.moa.spss.server.invoke.CMSSignatureVerificationInvoker;
+import at.gv.egovernment.moa.spss.server.logging.TransactionId;
+import at.gv.egovernment.moa.spss.server.transaction.TransactionContext;
+import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager;
+import iaik.pki.PKIFactory;
+import iaik.pki.PKIModule;
+import iaik.pki.PKIResult;
+import iaik.server.cmspdfverify.CMSVerifyUtils;
+import iaik.x509.X509Certificate;
+import at.gv.egovernment.moa.spss.test.integration.utils.CertificateReader;
@RunWith(BlockJUnit4ClassRunner.class)
public class PadesIntegrationTest extends AbstractIntegrationTest {
@@ -39,6 +57,9 @@ public class PadesIntegrationTest extends AbstractIntegrationTest {
final String current = new java.io.File(".").getCanonicalPath();
System.setProperty("moa.spss.server.configuration",
current + "/src/test/resources/moaspss_config/MOASPSSConfiguration.xml");
+ System.setProperty("iaik.esi.sva.configuration.location",
+ current + "/src/test/resources/moaspss_config/svaconfig.example");
+
moaSpssCore = SystemInitializer.init();
}
@@ -50,6 +71,7 @@ public class PadesIntegrationTest extends AbstractIntegrationTest {
}
+ @Ignore
@Test
public void missingTrustProfile() throws IOException {
final VerifyCMSSignatureRequest request = buildVerfifyCmsRequest(
@@ -66,6 +88,7 @@ public class PadesIntegrationTest extends AbstractIntegrationTest {
}
+ @Ignore
@Test
public void basicValidationCadesSignature() throws MOAException, IOException {
final VerifyCMSSignatureRequest request = buildVerfifyCmsRequest(
@@ -101,6 +124,7 @@ public class PadesIntegrationTest extends AbstractIntegrationTest {
}
+ @Ignore
@Test
public void extendedValidationCadesSignature() throws MOAException, IOException {
final VerifyCMSSignatureRequest request = buildVerfifyCmsRequest(
@@ -138,12 +162,68 @@ public class PadesIntegrationTest extends AbstractIntegrationTest {
}
assertNotNull("extended val. result", cmsResult.getExtendedCertificateCheck());
- assertEquals("ext. val major", 2, cmsResult.getExtendedCertificateCheck().getMajorCode());
+ assertEquals("ext. val major", 1, cmsResult.getExtendedCertificateCheck().getMajorCode());
assertEquals("ext. val major", 24, cmsResult.getExtendedCertificateCheck().getMinorCode());
assertNotNull("byteRange", cmsResult.getByteRangeOfSignature());
assertEquals("used sig alg", "SHA1withRSA", cmsResult.getSignatureAlgorithm());
}
+
+ @Ignore
+ @Test
+ public void padesLteTest() throws MOAException, IOException {
+ final VerifyCMSSignatureRequest request = buildVerfifyCmsRequest(
+ IOUtils.toByteArray(new FileInputStream("/home/tlenz/Projekte/signaturprueftool/test_docs/20220623_rtr/Amtsiegel.pdf")),
+ "MOAIDBuergerkarteAuthentisierungsDaten",
+ true,
+ false);
+
+ // perform test
+ final VerifyCMSSignatureResponse result = cadesInvoker.verifyCMSSignature(request);
+
+ // verify result
+ assertNotNull("verification result", result);
+
+ }
+
+ @Test
+ public void padesOwnTest() throws Exception {
+ final VerifyCMSSignatureRequest request = buildVerfifyCmsRequest(
+ IOUtils.toByteArray(new FileInputStream("/home/tlenz/Projekte/pdfas4/testdocs/enc_own_signed_neuer.pdf")),
+ "MOAIDBuergerkarteAuthentisierungsDaten",
+ true,
+ false);
+
+ // perform test
+ final VerifyCMSSignatureResponse result = cadesInvoker.verifyCMSSignature(request);
+
+ // verify result
+ assertNotNull("verification result", result);
+
+
+
+
+ }
+
+ @Ignore
+ @Test
+ public void pkixTest() throws Exception {
+ final String current = new java.io.File(".").getCanonicalPath();
+ X509Certificate[] chain = CertificateReader.readCertificatesIntoArray(current + "/src/test/resources/testdata/pkix/chain/");
+
+ PKIModule pkiModule = PKIFactory.getInstance().getPKIModule(
+ new PKIProfileImpl(ConfigurationProvider.getInstance(), "MOAIDBuergerkarteAuthentisierungsDaten"));
+ PKIResult pkiResult = pkiModule.validateCertificate(
+ new Date(),
+ (X509Certificate) chain[0],
+ (X509Certificate[]) ArrayUtils.subarray(chain, 1, chain.length),
+ (boolean[])null,
+ new TransactionId("aabbccdd"));
+
+ System.out.print("Finished");
+
+ }
+
}