aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas <>2024-09-05 11:55:21 +0200
committerThomas <>2024-09-05 11:55:21 +0200
commit7213aeeacb08e9e3c5b87549cde3f78547b75edc (patch)
tree23be4919a0211d489fac91beab3021c1a0ce235a
parent5801583c6f0277cc2ab89c2358f14a07cb01cc73 (diff)
downloadpdf-as-4-7213aeeacb08e9e3c5b87549cde3f78547b75edc.tar.gz
pdf-as-4-7213aeeacb08e9e3c5b87549cde3f78547b75edc.tar.bz2
pdf-as-4-7213aeeacb08e9e3c5b87549cde3f78547b75edc.zip
test(web): add some more Web-service signing tests
-rw-r--r--pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/SimpleWebServiceTest.java2
-rw-r--r--pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/SimpleWebServiceWithoutVerificationTest.java92
-rw-r--r--pdf-as-web/src/test/resources/config/pdfas/pdf-as-web-verify-disabled.properties64
3 files changed, 158 insertions, 0 deletions
diff --git a/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/SimpleWebServiceTest.java b/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/SimpleWebServiceTest.java
index 0f5948fa..1d958323 100644
--- a/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/SimpleWebServiceTest.java
+++ b/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/SimpleWebServiceTest.java
@@ -57,6 +57,7 @@ public class SimpleWebServiceTest {
PDFASSignResponse resp = executeTest(pdf);
assertNotNull("signed doc", resp.getSignedPDF());
assertEquals("sign check", 0, resp.getVerificationResponse().getValueCode());
+ assertNotNull("sigern Cert", resp.getVerificationResponse().getSignerCertificate());
}
@@ -67,6 +68,7 @@ public class SimpleWebServiceTest {
PDFASSignResponse resp = executeTest(pdf);
assertNotNull("signed doc", resp.getSignedPDF());
assertEquals("sign check", 0, resp.getVerificationResponse().getValueCode());
+ assertNotNull("sigern Cert", resp.getVerificationResponse().getSignerCertificate());
}
diff --git a/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/SimpleWebServiceWithoutVerificationTest.java b/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/SimpleWebServiceWithoutVerificationTest.java
new file mode 100644
index 00000000..d7529721
--- /dev/null
+++ b/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/SimpleWebServiceWithoutVerificationTest.java
@@ -0,0 +1,92 @@
+package at.gv.egiz.pdfas.web.test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.io.IOException;
+import java.util.UUID;
+
+import org.apache.commons.io.IOUtils;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.BlockJUnit4ClassRunner;
+
+import at.gv.egiz.pdfas.api.ws.PDFASSignParameters;
+import at.gv.egiz.pdfas.api.ws.PDFASSignParameters.Connector;
+import at.gv.egiz.pdfas.api.ws.PDFASSignRequest;
+import at.gv.egiz.pdfas.api.ws.PDFASSignResponse;
+import at.gv.egiz.pdfas.common.exceptions.PdfAsSettingsValidationException;
+import at.gv.egiz.pdfas.common.settings.ISettings;
+import at.gv.egiz.pdfas.lib.api.PdfAsFactory;
+import at.gv.egiz.pdfas.web.config.WebConfiguration;
+import at.gv.egiz.pdfas.web.helper.PdfAsHelper;
+import at.gv.egiz.pdfas.web.ws.PDFASSigningImpl;
+import lombok.SneakyThrows;
+
+@RunWith(BlockJUnit4ClassRunner.class)
+public class SimpleWebServiceWithoutVerificationTest {
+
+ @BeforeClass
+ public static void classInitializer() throws IOException {
+ final String current = new java.io.File(".").getCanonicalPath();
+ System.setProperty("pdf-as-web.conf",
+ current + "/src/test/resources/config/pdfas/pdf-as-web-verify-disabled.properties");
+
+ String webconfig = System.getProperty("pdf-as-web.conf");
+
+ if(webconfig == null) {
+ throw new RuntimeException("No web configuration provided!");
+ }
+
+ WebConfiguration.configure(webconfig);
+ PdfAsHelper.init();
+
+ try {
+ PdfAsFactory.validateConfiguration((ISettings)PdfAsHelper.getPdfAsConfig());
+
+ } catch (PdfAsSettingsValidationException e) {
+ e.printStackTrace();
+ }
+ }
+
+ @Test
+ @SneakyThrows
+ public void sign() {
+ byte[] pdf = IOUtils.toByteArray(SimpleVerifyServletTest.class.getResourceAsStream("/data/enc_own.pdf"));
+ PDFASSignResponse resp = executeTest(pdf);
+ assertNotNull("signed doc", resp.getSignedPDF());
+ assertEquals("sign check", 0, resp.getVerificationResponse().getValueCode());
+ assertNotNull("sigern Cert", resp.getVerificationResponse().getSignerCertificate());
+
+ }
+
+ @Test
+ @SneakyThrows
+ public void withSignatureFields() {
+ byte[] pdf = IOUtils.toByteArray(SimpleVerifyServletTest.class.getResourceAsStream("/data/placeholder_sigfield_and_qr.pdf"));
+ PDFASSignResponse resp = executeTest(pdf);
+ assertNotNull("signed doc", resp.getSignedPDF());
+ assertEquals("sign check", 0, resp.getVerificationResponse().getValueCode());
+ assertNotNull("sigern Cert", resp.getVerificationResponse().getSignerCertificate());
+
+ }
+
+ @SneakyThrows
+ private PDFASSignResponse executeTest(byte[] pdf) {
+ PDFASSigningImpl service = new PDFASSigningImpl();
+
+ PDFASSignRequest req = new PDFASSignRequest();
+ req.setRequestID(UUID.randomUUID().toString());
+ req.setInputData(pdf);
+ PDFASSignParameters signParams = new PDFASSignParameters();
+ signParams.setConnector(Connector.JKS);
+ signParams.setTransactionId(UUID.randomUUID().toString());
+ req.setParameters(signParams );
+
+ PDFASSignResponse resp = service.signPDFDokument(req);
+ assertNotNull(resp);
+ return resp;
+
+ }
+}
diff --git a/pdf-as-web/src/test/resources/config/pdfas/pdf-as-web-verify-disabled.properties b/pdf-as-web/src/test/resources/config/pdfas/pdf-as-web-verify-disabled.properties
new file mode 100644
index 00000000..168af5e9
--- /dev/null
+++ b/pdf-as-web/src/test/resources/config/pdfas/pdf-as-web-verify-disabled.properties
@@ -0,0 +1,64 @@
+
+pdfas.dir=./src/test/resources/config/pdfas/
+
+bku.sign.enabled=true
+mobile.sign.enabled=true
+
+error.showdetails=true
+
+public.url=http://labda.iaik.tugraz.at:6080/pdf-as-web
+
+bku.local.url=http://127.0.0.1:3495/http-security-layer-request
+
+bku.online.url=https://demo.egiz.gv.at/bkuonline/http-security-layer-request
+
+#bku.mobile.url=https://www.handy-signatur.at/mobile/https-security-layer-request/default.aspx
+#bku.mobile.url=https://test1.a-trust.at/mobile/https-security-layer-request/Default.aspx
+bku.mobile.url=https://www.a-trust.at/mobile/https-security-layer-request/default.aspx
+
+sl20.sign.enabled=true
+sl20.mobile.url=http://localhost:7080/vda/services/getCertificate
+#sl20.mobile.url=https://demo.egiz.gv.at/vda/services/getCertificate
+#sl20.mobile.url=https://test1.a-trust.at/securitylayer2
+sl20.keystore.file=
+sl20.keystore.type=JKS
+sl20.keystore.pass=
+sl20.keystore.sign.key.alias=
+sl20.keystore.sign.key.pass=
+sl20.keystore.enc.key.alias=
+sl20.keystore.enc.key.pass=
+sl20.debug.validation.disable=true
+sl20.debug.signed.result.enabled=false
+sl20.debug.signed.result.required=false
+sl20.debug.encryption.enabled=false
+sl20.debug.encryption.required=false
+
+runtime.backend=PDFBOX_2_BACKEND
+
+
+qr.placeholder.generator.enabled=true
+
+json.enabled=true
+
+moa.enabled=false
+
+soap.sign.enabled=true
+soap.sign.with.verify.enabled=false
+soap.verify.enabled=true
+
+ks.enabled=true
+ks.file=./src/test/resources/config/pdfas/test.p12
+ks.type=PKCS12
+ks.pass=123456
+ks.key.alias=1
+#ks.key.alias=ecc_test
+ks.key.pass=123456
+
+whitelist.enabled=true
+# Matches everything
+whitelist.url.01=^.*$
+
+allow.ext.overwrite=true
+ext.overwrite.wl.01=sig_obj.type.defadult
+
+default.protectPDF = true