From d9b7f8f0ed2befcd0bbfa80c84c6a89e190ff481 Mon Sep 17 00:00:00 2001 From: Tobias Kellner Date: Wed, 7 Oct 2015 06:17:42 +0200 Subject: Add keystore signing --- .../java/at/asit/pdfover/signer/pdfas/PdfAs4Signer.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'pdf-over-signer/pdf-over-sigpdfas4/src/main/java/at/asit/pdfover/signer/pdfas/PdfAs4Signer.java') diff --git a/pdf-over-signer/pdf-over-sigpdfas4/src/main/java/at/asit/pdfover/signer/pdfas/PdfAs4Signer.java b/pdf-over-signer/pdf-over-sigpdfas4/src/main/java/at/asit/pdfover/signer/pdfas/PdfAs4Signer.java index efce1c6e..344c2e7e 100644 --- a/pdf-over-signer/pdf-over-sigpdfas4/src/main/java/at/asit/pdfover/signer/pdfas/PdfAs4Signer.java +++ b/pdf-over-signer/pdf-over-sigpdfas4/src/main/java/at/asit/pdfover/signer/pdfas/PdfAs4Signer.java @@ -23,6 +23,7 @@ import at.gv.egiz.pdfas.lib.api.Configuration; import at.gv.egiz.pdfas.lib.api.IConfigurationConstants; import at.gv.egiz.pdfas.lib.api.PdfAs; import at.gv.egiz.pdfas.lib.api.PdfAsFactory; +import at.gv.egiz.pdfas.lib.api.sign.IPlainSigner; import at.gv.egiz.pdfas.lib.api.sign.SignParameter; import at.gv.egiz.pdfas.sigs.pades.PAdESSigner; import at.gv.egiz.sl.util.ISLConnector; @@ -115,8 +116,16 @@ public class PdfAs4Signer implements Signer { IConfigurationConstants.SL_REQUEST_TYPE_BASE64 : IConfigurationConstants.SL_REQUEST_TYPE_UPLOAD); - ISLConnector connector = new PdfAs4BKUSLConnector(sstate.getBKUConnector()); - param.setPlainSigner(new PAdESSigner(connector)); + IPlainSigner signer; + if (sstate.hasBKUConnector()) { + ISLConnector connector = new PdfAs4BKUSLConnector(sstate.getBKUConnector()); + signer = new PAdESSigner(connector); + } else if (sstate.hasKSSigner()) { + signer = sstate.getKSSigner(); + } else { + throw new SignatureException("SigningState doesn't have a signer"); + } + param.setPlainSigner(signer); pdfas.sign(param); -- cgit v1.2.3