aboutsummaryrefslogtreecommitdiff
path: root/signature-standards/sigs-pades/src/main/java/at/gv/egiz/pdfas/sigs/pades/PAdESSigner.java
diff options
context:
space:
mode:
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.java51
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() {