From 61a2d23ef72630934c603fe9ffb96ebebff6ee09 Mon Sep 17 00:00:00 2001 From: netconomy Date: Thu, 29 Nov 2007 12:00:22 +0000 Subject: PDF-AS API git-svn-id: https://joinup.ec.europa.eu/svn/pdf-as/trunk@233 7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c --- .../gv/egiz/pdfas/framework/ConnectorFactory.java | 12 +-- .../egiz/pdfas/framework/ConnectorParameters.java | 85 ++++++++++++++++++++++ .../framework/signator/SignatorInformation.java | 20 +++++ 3 files changed, 111 insertions(+), 6 deletions(-) create mode 100644 src/main/java/at/gv/egiz/pdfas/framework/ConnectorParameters.java (limited to 'src/main/java/at/gv/egiz/pdfas/framework') diff --git a/src/main/java/at/gv/egiz/pdfas/framework/ConnectorFactory.java b/src/main/java/at/gv/egiz/pdfas/framework/ConnectorFactory.java index b42c8ed..99d692e 100644 --- a/src/main/java/at/gv/egiz/pdfas/framework/ConnectorFactory.java +++ b/src/main/java/at/gv/egiz/pdfas/framework/ConnectorFactory.java @@ -33,34 +33,34 @@ public class ConnectorFactory - public static Connector createConnector (String connectorId, String profile, String locRef) throws ConnectorFactoryException, ConnectorException + public static Connector createConnector (String connectorId, ConnectorParameters connectorParameters) throws ConnectorFactoryException, ConnectorException { if (connectorId.equals(DETACHED_MULTIPART_BKU_CONNECTOR)) { - return new MultipartDetachedBKUConnector(profile); + return new MultipartDetachedBKUConnector(connectorParameters); } if (connectorId.equals(ENVELOPING_BASE64_BKU_CONNECTOR)) { - return new EnvelopedBase64BKUConnector(profile); + return new EnvelopedBase64BKUConnector(connectorParameters.getProfileId()); } if (connectorId.equals(OLD_ENVELOPING_BASE64_BKU_CONNECTOR)) { - return new OldEnvelopingBase64BKUConnector(profile); + return new OldEnvelopingBase64BKUConnector(connectorParameters.getProfileId()); } if (connectorId.equals(DETACHED_LOCREF_MOA_CONNECTOR)) { // TODO Hier wird der neue Connector verwendet // return new DetachedLocRefMOAConnector(profile, locRef); - return new MOASoapWithAttachmentConnector(profile); + return new MOASoapWithAttachmentConnector(connectorParameters); } if (connectorId.equals(ENVELOPING_BASE64_MOA_CONNECTOR)) { // TODO Hier wird NICHT der neue Connector verwendet - return new EnvelopingBase64MOAConnector(profile); + return new EnvelopingBase64MOAConnector(connectorParameters.getProfileId()); // return new MOASoapWithAttachmentConnector(profile); } diff --git a/src/main/java/at/gv/egiz/pdfas/framework/ConnectorParameters.java b/src/main/java/at/gv/egiz/pdfas/framework/ConnectorParameters.java new file mode 100644 index 0000000..618624d --- /dev/null +++ b/src/main/java/at/gv/egiz/pdfas/framework/ConnectorParameters.java @@ -0,0 +1,85 @@ +/** + * + */ +package at.gv.egiz.pdfas.framework; + +import java.util.Date; + +/** + * Parameters passed to the constructor of the Connector. + * + *

+ * Each Connector must have a constructor accepting this parameter class as an + * argument. + *

+ * + * @author wprinz + */ +public class ConnectorParameters +{ + /** + * The profile Id to get the connector parameters from. + * + *

+ * The there are no explicit parameters for the connector in the profile, the + * default parameters are used. + *

+ */ + protected String profileId = null; + + /** + * Tells, if the connector should ask the device to return the hash input + * data. + * + *

+ * Note that not all connectors support to return the hash input data - so + * there is no guarantee that the hash value will actually be returned. + *

+ */ + protected boolean returnHashInputData = false; + + /** + * Allows to specify an explicit time of verification. + * + *

+ * If null, the device's default behaviour determines the time of + * verification, which is usually the current time. + *

+ *

+ * The time of verification usually influences the certificate check. E.g. the + * certificate may not be valid at the time of verification. + *

+ */ + protected Date verificationTime = null; + + public String getProfileId() + { + return this.profileId; + } + + public void setProfileId(String profileId) + { + this.profileId = profileId; + } + + public boolean isReturnHashInputData() + { + return this.returnHashInputData; + } + + public void setReturnHashInputData(boolean returnHashInputData) + { + this.returnHashInputData = returnHashInputData; + } + + public Date getVerificationTime() + { + return this.verificationTime; + } + + public void setVerificationTime(Date verificationTime) + { + this.verificationTime = verificationTime; + } + +} diff --git a/src/main/java/at/gv/egiz/pdfas/framework/signator/SignatorInformation.java b/src/main/java/at/gv/egiz/pdfas/framework/signator/SignatorInformation.java index da81e87..9abf509 100644 --- a/src/main/java/at/gv/egiz/pdfas/framework/signator/SignatorInformation.java +++ b/src/main/java/at/gv/egiz/pdfas/framework/signator/SignatorInformation.java @@ -3,6 +3,7 @@ */ package at.gv.egiz.pdfas.framework.signator; +import at.knowcenter.wag.egov.egiz.pdf.ActualTablePos; import at.knowcenter.wag.egov.egiz.sig.SignatureData; import at.knowcenter.wag.egov.egiz.sig.connectors.bku.SignSignatureObject; @@ -40,4 +41,23 @@ public interface SignatorInformation * The SignSignatureObject. */ public void setSignSignatureObject(SignSignatureObject signSignatureObject); + + /** + * Returns the SignSignatureObject. + * + *

+ * After signation, this is used by the framework/API to get additional + * information about the signature. + *

+ * + * @return Returns the SignSignatureObject. + */ + public SignSignatureObject getSignSignatureObject(); + + /** + * Returns the position where the signature table was actually placed. + * + * @return Returns the position where the signature table was actually placed. + */ + public ActualTablePos getActualTablePos(); } -- cgit v1.2.3