aboutsummaryrefslogtreecommitdiff
path: root/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl
diff options
context:
space:
mode:
Diffstat (limited to 'pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl')
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsImpl.java4
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsParameterImpl.java10
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PdfboxSignerWrapper.java7
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/OperationStatus.java7
4 files changed, 24 insertions, 4 deletions
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsImpl.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsImpl.java
index c40704b1..b146edfe 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsImpl.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsImpl.java
@@ -149,7 +149,7 @@ public class PdfAsImpl implements PdfAs, IConfigurationConstants {
status.setRequestedSignature(requestedSignature);
requestedSignature.setCertificate(status.getSignParamter()
- .getPlainSigner().getCertificate());
+ .getPlainSigner().getCertificate(parameter));
// Only use this profileID because validation was done in
// RequestedSignature
@@ -168,7 +168,7 @@ public class PdfAsImpl implements PdfAs, IConfigurationConstants {
IPdfSigner signer = PdfSignerFactory.createPdfSigner();
signer.signPDF(status.getPdfObject(), requestedSignature,
new PdfboxSignerWrapper(status.getSignParamter()
- .getPlainSigner()));
+ .getPlainSigner(), parameter));
// ================================================================
// Create SignResult
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsParameterImpl.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsParameterImpl.java
index c9e8ef54..362715a3 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsParameterImpl.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsParameterImpl.java
@@ -31,11 +31,13 @@ public class PdfAsParameterImpl implements PdfAsParameter {
protected Configuration configuration;
protected DataSource dataSource;
+ protected String transactionId;
public PdfAsParameterImpl(Configuration configuration,
DataSource dataSource) {
this.configuration = configuration;
this.dataSource = dataSource;
+ this.transactionId = null;
}
public Configuration getConfiguration() {
@@ -53,4 +55,12 @@ protected Configuration configuration;
public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
}
+
+ public String getTransactionId() {
+ return transactionId;
+ }
+
+ public void setTransactionId(String id) {
+ this.transactionId = id;
+ }
}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PdfboxSignerWrapper.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PdfboxSignerWrapper.java
index 0925a646..faa49148 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PdfboxSignerWrapper.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PdfboxSignerWrapper.java
@@ -37,6 +37,7 @@ import at.gv.egiz.pdfas.common.exceptions.PdfAsWrappedIOException;
import at.gv.egiz.pdfas.common.utils.PDFUtils;
import at.gv.egiz.pdfas.common.utils.StreamUtils;
import at.gv.egiz.pdfas.lib.api.sign.IPlainSigner;
+import at.gv.egiz.pdfas.lib.api.sign.SignParameter;
import at.gv.egiz.pdfas.lib.impl.signing.sig_interface.PDFASSignatureInterface;
public class PdfboxSignerWrapper implements PDFASSignatureInterface {
@@ -49,10 +50,12 @@ public class PdfboxSignerWrapper implements PDFASSignatureInterface {
private PDSignature signature;
private int[] byteRange;
private Calendar date;
+ private SignParameter parameters;
- public PdfboxSignerWrapper(IPlainSigner signer) {
+ public PdfboxSignerWrapper(IPlainSigner signer, SignParameter parameters) {
this.signer = signer;
this.date = Calendar.getInstance();
+ this.parameters = parameters;
}
public byte[] sign(InputStream inputStream) throws SignatureException,
@@ -63,7 +66,7 @@ public class PdfboxSignerWrapper implements PDFASSignatureInterface {
logger.info("Byte Range 2: " + byteRange2);
try {
logger.info("Signing with Pdfbox Wrapper");
- byte[] signature = signer.sign(data, byteRange);
+ byte[] signature = signer.sign(data, byteRange, this.parameters);
return signature;
} catch (PdfAsException e) {
throw new PdfAsWrappedIOException(e);
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/OperationStatus.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/OperationStatus.java
index 75eee27f..4a8445b5 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/OperationStatus.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/status/OperationStatus.java
@@ -156,4 +156,11 @@ public class OperationStatus implements Serializable {
this.signingDate = signingDate;
}
+ public String getTransactionId() {
+ if(this.signParamter != null) {
+ return this.signParamter.getTransactionId();
+ }
+ return null;
+ }
+
}