diff options
author | Andreas Fitzek <andreas.fitzek@iaik.tugraz.at> | 2013-11-27 10:05:17 +0100 |
---|---|---|
committer | Andreas Fitzek <andreas.fitzek@iaik.tugraz.at> | 2013-11-27 10:05:17 +0100 |
commit | f3476576c50efd922593c82656efda7aec5ae97f (patch) | |
tree | 66107d5c5d3a88af66bd4829d8fcecc5678b749e /signature-standards/sigs-pades/src/main/java/at/gv/egiz/pdfas/sigs/pades/PAdESSigner.java | |
parent | 7b2e2b640b0f392183f7927f692936950d3fabfc (diff) | |
download | pdf-as-4-f3476576c50efd922593c82656efda7aec5ae97f.tar.gz pdf-as-4-f3476576c50efd922593c82656efda7aec5ae97f.tar.bz2 pdf-as-4-f3476576c50efd922593c82656efda7aec5ae97f.zip |
MOA integration sign/verification (not finished yet ...)
Lots of PDF-AS Web implementation
Diffstat (limited to 'signature-standards/sigs-pades/src/main/java/at/gv/egiz/pdfas/sigs/pades/PAdESSigner.java')
-rw-r--r-- | signature-standards/sigs-pades/src/main/java/at/gv/egiz/pdfas/sigs/pades/PAdESSigner.java | 51 |
1 files changed, 10 insertions, 41 deletions
diff --git a/signature-standards/sigs-pades/src/main/java/at/gv/egiz/pdfas/sigs/pades/PAdESSigner.java b/signature-standards/sigs-pades/src/main/java/at/gv/egiz/pdfas/sigs/pades/PAdESSigner.java index 91237d98..7fc0081b 100644 --- a/signature-standards/sigs-pades/src/main/java/at/gv/egiz/pdfas/sigs/pades/PAdESSigner.java +++ b/signature-standards/sigs-pades/src/main/java/at/gv/egiz/pdfas/sigs/pades/PAdESSigner.java @@ -2,63 +2,32 @@ package at.gv.egiz.pdfas.sigs.pades; import iaik.x509.X509Certificate; -import java.io.IOException; -import java.security.cert.CertificateException; -import java.util.Iterator; - -import org.apache.pdfbox.exceptions.SignatureException; import org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature; import at.gv.egiz.pdfas.common.exceptions.PdfAsException; import at.gv.egiz.pdfas.lib.api.sign.IPlainSigner; -import at.gv.egiz.sl.CreateCMSSignatureRequestType; -import at.gv.egiz.sl.CreateCMSSignatureResponseType; -import at.gv.egiz.sl.InfoboxAssocArrayPairType; -import at.gv.egiz.sl.InfoboxReadRequestType; -import at.gv.egiz.sl.InfoboxReadResponseType; -import at.gv.egiz.sl.util.BKUSLConnector; +import at.gv.egiz.sl.util.ISignatureConnector; +import at.gv.egiz.sl.util.ISignatureConnectorSLWrapper; import at.gv.egiz.sl.util.ISLConnector; -import at.gv.egiz.sl.util.BaseSLConnector; public class PAdESSigner implements IPlainSigner { - private ISLConnector connector; + private ISignatureConnector plainSigner; public PAdESSigner(ISLConnector connector) { - this.connector = connector; + this.plainSigner = new ISignatureConnectorSLWrapper(connector); + } + + public PAdESSigner(ISignatureConnector signer) { + this.plainSigner = signer; } public X509Certificate getCertificate() throws PdfAsException { - X509Certificate certificate = null; - try { - InfoboxReadRequestType request = connector - .createInfoboxReadRequest(); - InfoboxReadResponseType response = connector - .sendInfoboxReadRequest(request); - - Iterator<InfoboxAssocArrayPairType> iterator = response - .getAssocArrayData().getPair().iterator(); - - while (iterator.hasNext()) { - InfoboxAssocArrayPairType pair = iterator.next(); - if (pair.getKey().equals("SecureSignatureKeypair")) { - byte[] certData = pair.getBase64Content(); - certificate = new X509Certificate(certData); - break; - } - } - } catch (CertificateException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - return certificate; + return this.plainSigner.getCertificate(); } public byte[] sign(byte[] input, int[] byteRange) throws PdfAsException { - CreateCMSSignatureRequestType request = connector.createCMSRequest(input, byteRange); - CreateCMSSignatureResponseType response = connector.sendCMSRequest(request); - - return response.getCMSSignature(); + return this.plainSigner.sign(input, byteRange); } public String getPDFSubFilter() { |