aboutsummaryrefslogtreecommitdiff
path: root/pdf-as-web-client/src/test/java/at
diff options
context:
space:
mode:
authorAlexander Marsalek <amarsalek@iaik.tugraz.at>2021-04-12 15:58:14 +0200
committerAlexander Marsalek <amarsalek@iaik.tugraz.at>2021-04-12 15:58:14 +0200
commitc0f97e7b1ad5b6256eb935aeab06d159d68d1966 (patch)
treee014d891f58b87a5ca7dbb5c63e6334d9385c266 /pdf-as-web-client/src/test/java/at
parentbc6073700024e4b3c95bcf5bf3e48efb6edd14ab (diff)
downloadpdf-as-4-c0f97e7b1ad5b6256eb935aeab06d159d68d1966.tar.gz
pdf-as-4-c0f97e7b1ad5b6256eb935aeab06d159d68d1966.tar.bz2
pdf-as-4-c0f97e7b1ad5b6256eb935aeab06d159d68d1966.zip
pdf-as-web signature block parameter handling
Diffstat (limited to 'pdf-as-web-client/src/test/java/at')
-rw-r--r--pdf-as-web-client/src/test/java/at/gv/egiz/pdfas/web/client/test/SimpleTest1.java174
1 files changed, 174 insertions, 0 deletions
diff --git a/pdf-as-web-client/src/test/java/at/gv/egiz/pdfas/web/client/test/SimpleTest1.java b/pdf-as-web-client/src/test/java/at/gv/egiz/pdfas/web/client/test/SimpleTest1.java
new file mode 100644
index 00000000..4ff9be0c
--- /dev/null
+++ b/pdf-as-web-client/src/test/java/at/gv/egiz/pdfas/web/client/test/SimpleTest1.java
@@ -0,0 +1,174 @@
+/*******************************************************************************
+ * <copyright> Copyright 2014 by E-Government Innovation Center EGIZ, Graz, Austria </copyright>
+ * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
+ * joint initiative of the Federal Chancellery Austria and Graz University of
+ * Technology.
+ *
+ * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
+ * the European Commission - subsequent versions of the EUPL (the "Licence");
+ * You may not use this work except in compliance with the Licence.
+ * You may obtain a copy of the Licence at:
+ * http://www.osor.eu/eupl/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the Licence is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the Licence for the specific language governing permissions and
+ * limitations under the Licence.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text
+ * file for details on the various modules and licenses.
+ * The "NOTICE" text file is part of the distribution. Any derivative works
+ * that you distribute must include a readable copy of the "NOTICE" text file.
+ ******************************************************************************/
+package at.gv.egiz.pdfas.web.client.test;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.net.URL;
+import java.util.List;
+
+import org.apache.commons.io.IOUtils;
+
+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.api.ws.PDFASVerifyRequest;
+import at.gv.egiz.pdfas.api.ws.PDFASVerifyResponse;
+import at.gv.egiz.pdfas.api.ws.PDFASVerifyResult;
+import at.gv.egiz.pdfas.api.ws.VerificationLevel;
+import at.gv.egiz.pdfas.web.client.RemotePDFSigner;
+import at.gv.egiz.pdfas.web.client.RemotePDFVerifier;
+
+public class SimpleTest1 {
+
+ public static void main(String[] args) {
+ try {
+ String file = "/Users/amarsalek/Documents/pdf-as-4/unsigned.pdf";
+ FileInputStream fis = new FileInputStream(file);
+ byte[] inputData = IOUtils.toByteArray(fis);
+
+ PDFASSignParameters signParameters = new PDFASSignParameters();
+// signParameters.setConnector(Connector.JKS);
+ signParameters.setConnector(Connector.BKU);
+ signParameters.setPosition(null);
+ signParameters.setProfile("SIGNATURBLOCK_SMALL_DE1");
+ signParameters.setQRCodeContent("TEST CONTENT");
+ //signParameters.setKeyIdentifier("test");
+
+ PDFASSignRequest request = new PDFASSignRequest();
+ request.setInputData(inputData);
+ request.setParameters(signParameters);
+ request.setRequestID("SOME TEST ID");
+ request.getSignatureBlockParameters().put("abc","SOAP Test");
+ //URL endpoint = new
+ //URL("http://demo.egiz.gv.at/demoportal-pdf_as/wssign?wsdl");
+ //URL endpoint = new
+ // URL("http://www.buergerkarte.at/pdf-as-extern-4/wssign?wsdl");
+// String baseUrl = "http://demo.egiz.gv.at/demoportal-pdf_as/services/";
+ String baseUrl = "http://localhost:8080/pdf-as-web/services/";
+ //URL endpoint = new URL(
+ // "http://192.168.56.10/pdf-as-web/wssign?wsdl");
+
+ URL signEndpoint = new URL(baseUrl + "wssign?wsdl");
+ URL verifyEndpoint = new URL(baseUrl + "wsverify?wsdl");
+
+ RemotePDFSigner signer = new RemotePDFSigner(signEndpoint, true);
+// RemotePDFVerifier verifier = new RemotePDFVerifier(verifyEndpoint, true);
+
+ PDFASSignRequest signrequest = new PDFASSignRequest();
+ signrequest.setInputData(inputData);
+ signrequest.setParameters(signParameters);
+ signParameters.setTransactionId("MYID ....");
+ signrequest.getSignatureBlockParameters().put("abc","SOAP Test 5555");
+ System.out.println("Simple Request:");
+ PDFASSignResponse response = signer.signPDFDokument(signrequest);
+
+ System.out.println("Sign Error: " + response.getError());
+ System.out.println("redirect url: " + response.getRedirectUrl());
+ File outputFile = new File(file+"_signedSOAP.pdf");
+ try (FileOutputStream outputStream = new FileOutputStream(outputFile)) {
+ outputStream.write(response.getSignedPDF());
+ }
+
+ PDFASVerifyRequest verifyRequest = new PDFASVerifyRequest();
+ verifyRequest.setInputData(response.getSignedPDF());
+ verifyRequest.setVerificationLevel(VerificationLevel.INTEGRITY_ONLY);
+
+// PDFASVerifyResponse verifyResponse = verifier.verifyPDFDokument(verifyRequest);
+
+// List<PDFASVerifyResult> results = verifyResponse.getVerifyResults();
+//
+// for(int i = 0; i < results.size(); i++) {
+// PDFASVerifyResult result = results.get(i);
+// printVerifyResult(result);
+// }
+
+ /*
+ * System.out.println("Simple Request:"); byte[] outputFile =
+ * signer.signPDFDokument(inputData, signParameters);
+ *
+ * FileOutputStream fos = new FileOutputStream(
+ * "/home/afitzek/simple_request_signed.pdf");
+ * fos.write(outputFile); fos.close();
+ *
+ * System.out.println("Simple Request Obj:"); PDFASSignResponse
+ * response = signer.signPDFDokument(request);
+ *
+ * if (response.getSignedPDF() != null) { FileOutputStream fos2 =
+ * new FileOutputStream(
+ * "/home/afitzek/simple_request_obj_signed.pdf");
+ * fos2.write(response.getSignedPDF()); fos2.close(); }
+ *
+ * if(response.getError() != null) { System.out.println("ERROR: " +
+ * response.getError()); }
+ */
+
+ /*
+ List<PDFASSignRequest> bulk = new ArrayList<PDFASSignRequest>();
+ for (int i = 0; i < 10; i++) {
+ bulk.add(request);
+ }
+
+ PDFASBulkSignRequest bulkRequest = new PDFASBulkSignRequest();
+ bulkRequest.setSignRequests(bulk);
+
+ for (int j = 0; j < 10; j++) {
+ System.out.println("Bulk Request:");
+ PDFASBulkSignResponse responses = signer
+ .signPDFDokument(bulkRequest);
+
+ for (int i = 0; i < responses.getSignResponses().size(); i++) {
+ PDFASSignResponse bulkresponse = responses
+ .getSignResponses().get(i);
+ System.out.println("ID: " + bulkresponse.getRequestID());
+
+ if (bulkresponse.getError() != null) {
+ System.out.println("ERROR: " + bulkresponse.getError());
+ } else {
+ System.out.println("OK");
+ }
+ }
+ }
+ */
+ System.out.println("Done!");
+ } catch (Throwable e) {
+ e.printStackTrace();
+ }
+ }
+
+ private static void printVerifyResult(PDFASVerifyResult result) {
+ System.out.println(result.getSignatureIndex());
+ System.out.println(" Certificate: " + result.getCertificate());
+ System.out.println(" Cert Messag: " + result.getCertificateMessage());
+ System.out.println(" Cert Code : " + result.getCertificateCode());
+ System.out.println(" Value Code : " + result.getValueCode());
+ System.out.println(" Value Messg: " + result.getValueMessage());
+ System.out.println(" SignedBy : " + result.getSignedBy());
+ System.out.println(" Processed : " + result.getProcessed());
+ System.out.println(" Signed Data: " + result.getSignedData());
+ }
+
+}