diff options
Diffstat (limited to 'moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/invoke/PDFASInvoker.java')
-rw-r--r-- | moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/invoke/PDFASInvoker.java | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/invoke/PDFASInvoker.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/invoke/PDFASInvoker.java index 97bf58b..7f638fa 100644 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/invoke/PDFASInvoker.java +++ b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/invoke/PDFASInvoker.java @@ -18,8 +18,11 @@ import at.gv.egiz.pdfas.lib.api.verify.VerifyParameter; import at.gv.egiz.pdfas.lib.api.verify.VerifyResult; import at.gv.egiz.pdfas.sigs.pades.PAdESSigner; import at.gv.egovernment.moa.logging.Logger; +import at.gv.egovernment.moa.spss.MOAApplicationException; +import at.gv.egovernment.moa.spss.MOAException; import at.gv.egovernment.moa.spss.server.logging.TransactionId; import at.gv.egovernment.moa.spss.server.pdfas.InternalMoaConnector; +import at.gv.egovernment.moa.spss.server.pdfas.InternalMoaVerifier; import at.gv.egovernment.moa.spss.server.xmlbind.CreatePDFRequest; import at.gv.egovernment.moa.spss.server.xmlbind.CreatePDFRespone; import at.gv.egovernment.moa.spss.server.xmlbind.PDFSignatureInfo; @@ -48,7 +51,7 @@ public class PDFASInvoker { return instance; } - public VerifyPDFResponse verifyPDFSignature(VerifyPDFRequest verifyPDFRequest, String transactionId) { + public VerifyPDFResponse verifyPDFSignature(VerifyPDFRequest verifyPDFRequest) throws MOAException { Configuration pdfConfiguration = this.pdfAS.getConfiguration(); VerifyPDFResponse verifyPDFResponse = new VerifyPDFResponse(); @@ -56,21 +59,14 @@ public class PDFASInvoker { VerifyParameter verifyParameter = PdfAsFactory.createVerifyParameter(pdfConfiguration, new ByteArrayDataSource( verifyPDFRequest.getSignedPDF())); + pdfConfiguration.setValue(InternalMoaVerifier.MOA_TRUSTPROFILE, verifyPDFRequest.getTrustProfileID()); + try { List<VerifyResult> verifyResults = this.pdfAS.verify(verifyParameter); - verifyPDFResponse.setResponseType(VerifyPDFResponse.SUCCESS_SIGNATURE); verifyPDFResponse.setVerificationResults(verifyResults); } catch (Throwable e) { - if (e instanceof PDFASError) { - PDFASError pdfAsError = (PDFASError) e; - Logger.warn("Failed to generate signed PDF document", e); - verifyPDFResponse.setErrorCode((int) pdfAsError.getCode()); - verifyPDFResponse.setErrorInfo(pdfAsError.getInfo()); - } else { - Logger.error("Unknown exception!: ", e); - verifyPDFResponse.setErrorCode(9999); - verifyPDFResponse.setErrorInfo("Nicht klassifizierter Fehler"); - } + Logger.warn("Failed to generate signed PDF document", e); + throw new MOAApplicationException("Failed to generate signed PDF document", null, e); } return verifyPDFResponse; |