summaryrefslogtreecommitdiff
path: root/pdf-over-signer/pdf-over-sigpdfas
diff options
context:
space:
mode:
Diffstat (limited to 'pdf-over-signer/pdf-over-sigpdfas')
-rw-r--r--pdf-over-signer/pdf-over-sigpdfas/src/main/java/at/asit/pdfover/signer/pdfas/ByteArrayPDFASDataSource.java3
-rw-r--r--pdf-over-signer/pdf-over-sigpdfas/src/main/java/at/asit/pdfover/signer/pdfas/PDFASSLRequest.java6
-rw-r--r--pdf-over-signer/pdf-over-sigpdfas/src/main/java/at/asit/pdfover/signer/pdfas/PDFASSigner.java7
-rw-r--r--pdf-over-signer/pdf-over-sigpdfas/src/main/java/at/asit/pdfover/signer/pdfas/PdfAsSignatureParameter.java12
-rw-r--r--pdf-over-signer/pdf-over-sigpdfas/src/main/java/at/asit/pdfover/signer/pdfas/exceptions/PDFASSLRequestException.java34
5 files changed, 51 insertions, 11 deletions
diff --git a/pdf-over-signer/pdf-over-sigpdfas/src/main/java/at/asit/pdfover/signer/pdfas/ByteArrayPDFASDataSource.java b/pdf-over-signer/pdf-over-sigpdfas/src/main/java/at/asit/pdfover/signer/pdfas/ByteArrayPDFASDataSource.java
index 5998055a..b2f95f50 100644
--- a/pdf-over-signer/pdf-over-sigpdfas/src/main/java/at/asit/pdfover/signer/pdfas/ByteArrayPDFASDataSource.java
+++ b/pdf-over-signer/pdf-over-sigpdfas/src/main/java/at/asit/pdfover/signer/pdfas/ByteArrayPDFASDataSource.java
@@ -61,8 +61,7 @@ public class ByteArrayPDFASDataSource implements DataSource {
@Override
public String getCharacterEncoding() {
- //TODO
- return null;
+ return "UTF8";
}
} \ No newline at end of file
diff --git a/pdf-over-signer/pdf-over-sigpdfas/src/main/java/at/asit/pdfover/signer/pdfas/PDFASSLRequest.java b/pdf-over-signer/pdf-over-sigpdfas/src/main/java/at/asit/pdfover/signer/pdfas/PDFASSLRequest.java
index 493b3e9c..85f06294 100644
--- a/pdf-over-signer/pdf-over-sigpdfas/src/main/java/at/asit/pdfover/signer/pdfas/PDFASSLRequest.java
+++ b/pdf-over-signer/pdf-over-sigpdfas/src/main/java/at/asit/pdfover/signer/pdfas/PDFASSLRequest.java
@@ -21,6 +21,7 @@ import org.slf4j.LoggerFactory;
import at.asit.pdfover.signator.ByteArrayDocumentSource;
import at.asit.pdfover.signator.SLRequest;
+import at.asit.pdfover.signer.pdfas.exceptions.PDFASSLRequestException;
/**
* PDF - AS Security Layer Request implementation
@@ -36,12 +37,13 @@ public class PDFASSLRequest extends SLRequest {
* Default constructor
* @param slRequest
* @param signData
+ * @throws PDFASSLRequestException
*/
- public PDFASSLRequest(String slRequest, byte[] signData) {
+ public PDFASSLRequest(String slRequest, byte[] signData) throws PDFASSLRequestException {
if(!slRequest.contains(PDFASSigner.LOC_REF)) {
- // TODO: throw Exception (Failed to prepare SL Request)
log.error("PDF-AS SL request doesn't contain " + PDFASSigner.LOC_REF);
log.debug("Request: " + slRequest);
+ throw new PDFASSLRequestException("PDF-AS SL request doesn't contain " + PDFASSigner.LOC_REF);
}
// Modifing SL Request ...
diff --git a/pdf-over-signer/pdf-over-sigpdfas/src/main/java/at/asit/pdfover/signer/pdfas/PDFASSigner.java b/pdf-over-signer/pdf-over-sigpdfas/src/main/java/at/asit/pdfover/signer/pdfas/PDFASSigner.java
index 43179367..1b058553 100644
--- a/pdf-over-signer/pdf-over-sigpdfas/src/main/java/at/asit/pdfover/signer/pdfas/PDFASSigner.java
+++ b/pdf-over-signer/pdf-over-sigpdfas/src/main/java/at/asit/pdfover/signer/pdfas/PDFASSigner.java
@@ -10,6 +10,7 @@ import at.asit.pdfover.signator.SignResultImpl;
import at.asit.pdfover.signator.SignatureParameter;
import at.asit.pdfover.signator.SignaturePosition;
import at.asit.pdfover.signator.SigningState;
+import at.asit.pdfover.signer.pdfas.exceptions.PDFASSLRequestException;
import at.gv.egiz.pdfas.api.PdfAs;
import at.gv.egiz.pdfas.api.sign.SignParameters;
import at.gv.egiz.pdfas.api.sign.SignatureDetailInformation;
@@ -63,7 +64,6 @@ public class PDFASSigner implements Signer {
if(parameter.getSignatureDevice() == BKUs.LOCAL) {
params.setSignatureDevice(Constants.SIGNATURE_DEVICE_BKU);
} else if(parameter.getSignatureDevice() == BKUs.MOBILE) {
- // TODO: change to MOBILE!!
params.setSignatureDevice(Constants.SIGNATURE_DEVICE_MOBILE);
//params.setSignatureDevice(Constants.SIGNATURE_DEVICE_MOBILETEST);
}
@@ -102,7 +102,10 @@ public class PDFASSigner implements Signer {
state.setSignatureRequest(request);
return state;
- } catch (PdfAsException e) {
+ } catch(PDFASSLRequestException e) {
+ throw new SignatureException(e);
+ }
+ catch (PdfAsException e) {
throw new SignatureException(e);
}
}
diff --git a/pdf-over-signer/pdf-over-sigpdfas/src/main/java/at/asit/pdfover/signer/pdfas/PdfAsSignatureParameter.java b/pdf-over-signer/pdf-over-sigpdfas/src/main/java/at/asit/pdfover/signer/pdfas/PdfAsSignatureParameter.java
index 9aec98f7..5b15543e 100644
--- a/pdf-over-signer/pdf-over-sigpdfas/src/main/java/at/asit/pdfover/signer/pdfas/PdfAsSignatureParameter.java
+++ b/pdf-over-signer/pdf-over-sigpdfas/src/main/java/at/asit/pdfover/signer/pdfas/PdfAsSignatureParameter.java
@@ -16,6 +16,9 @@
package at.asit.pdfover.signer.pdfas;
//Imports
+import java.util.HashMap;
+import java.util.Properties;
+
import at.asit.pdfover.signator.SignatureDimension;
import at.asit.pdfover.signator.SignatureParameter;
import at.gv.egiz.pdfas.api.io.DataSource;
@@ -26,6 +29,8 @@ import at.gv.egiz.pdfas.api.sign.pos.SignaturePositioning;
*/
public class PdfAsSignatureParameter extends SignatureParameter {
+ private HashMap<String, String> genericProperties = new HashMap<String, String>();
+
@Override
public SignatureDimension getPlaceholderDimension() {
// TODO Auto-generated method stub
@@ -46,19 +51,16 @@ public class PdfAsSignatureParameter extends SignatureParameter {
* @return ByteArrayPDFASDataSource
*/
public DataSource getPDFASDataSource() {
- // TODO: implement Signature creation
return new ByteArrayPDFASDataSource(this.getInputDocument().getByteArray());
}
@Override
public void setProperty(String key, String value) {
- // TODO Auto-generated method stub
-
+ this.genericProperties.put(key, value);
}
@Override
public String getProperty(String key) {
- // TODO Auto-generated method stub
- return null;
+ return this.genericProperties.get(key);
}
}
diff --git a/pdf-over-signer/pdf-over-sigpdfas/src/main/java/at/asit/pdfover/signer/pdfas/exceptions/PDFASSLRequestException.java b/pdf-over-signer/pdf-over-sigpdfas/src/main/java/at/asit/pdfover/signer/pdfas/exceptions/PDFASSLRequestException.java
new file mode 100644
index 00000000..ceb25779
--- /dev/null
+++ b/pdf-over-signer/pdf-over-sigpdfas/src/main/java/at/asit/pdfover/signer/pdfas/exceptions/PDFASSLRequestException.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2012 by A-SIT, Secure Information Technology Center Austria
+ *
+ * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
+ * the European Commission - subsequent versions of the EUPL (the "Licence");
+ * You may not use this work except in compliance with the Licence.
+ * You may obtain a copy of the Licence at:
+ * http://joinup.ec.europa.eu/software/page/eupl
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the Licence is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the Licence for the specific language governing permissions and
+ * limitations under the Licence.
+ */
+package at.asit.pdfover.signer.pdfas.exceptions;
+
+/**
+ *
+ */
+public class PDFASSLRequestException extends Exception {
+ /**
+ *
+ */
+ private static final long serialVersionUID = -7515747014505057787L;
+
+ /**
+ * Constructor
+ * @param msg
+ */
+ public PDFASSLRequestException(String msg) {
+ super(msg);
+ }
+}