aboutsummaryrefslogtreecommitdiff
path: root/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl
diff options
context:
space:
mode:
authorAndreas Fitzek <andreas.fitzek@iaik.tugraz.at>2013-12-11 12:04:19 +0100
committerAndreas Fitzek <andreas.fitzek@iaik.tugraz.at>2013-12-11 12:04:19 +0100
commit05bb51dd0190c56f7ec59f6f0c759e00f1d72edc (patch)
tree0c49fa461cc659b335f6e2979d53954d599c6988 /pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl
parent84553d9bc5eb670ee6f9cf21b3f9aa516530bc56 (diff)
downloadpdf-as-4-05bb51dd0190c56f7ec59f6f0c759e00f1d72edc.tar.gz
pdf-as-4-05bb51dd0190c56f7ec59f6f0c759e00f1d72edc.tar.bz2
pdf-as-4-05bb51dd0190c56f7ec59f6f0c759e00f1d72edc.zip
Signature profile implementations
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.java6
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/SignatureProfileConfiguration.java11
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/positioning/Positioning.java33
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PADESPDFBOXSigner.java13
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PdfboxSignerWrapper.java4
5 files changed, 27 insertions, 40 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 ddfc79ce..fc245592 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
@@ -459,7 +459,7 @@ public class PdfAsImpl implements PdfAs, IConfigurationConstants {
PositioningInstruction positioningInstruction = Positioning
.determineTablePositioning(tablePos, "", originalDocument,
- visualObject);
+ visualObject, false);
// ================================================================
// StampingStage (visual) -> stamp logical signature block to
@@ -524,6 +524,8 @@ public class PdfAsImpl implements PdfAs, IConfigurationConstants {
.getDefaultPositioning();
}
+ boolean legacy32Position = signatureProfileConfiguration.getLegacy32Positioning();
+
TablePos tablePos = null;
if (posString == null) {
@@ -538,7 +540,7 @@ public class PdfAsImpl implements PdfAs, IConfigurationConstants {
PositioningInstruction positioningInstruction = Positioning
.determineTablePositioning(tablePos, "", originalDocument,
- visualObject);
+ visualObject, legacy32Position);
// ================================================================
// StampingStage (visual) -> stamp logical signature block to
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/SignatureProfileConfiguration.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/SignatureProfileConfiguration.java
index 8f09b495..b8a0139a 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/SignatureProfileConfiguration.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/configuration/SignatureProfileConfiguration.java
@@ -23,4 +23,15 @@ public class SignatureProfileConfiguration extends SpecificBaseConfiguration
String key = SIG_OBJECT + SEPERATOR + profileID + SEPERATOR + TABLE + SEPERATOR + POS;
return this.configuration.getValue(key);
}
+
+ public boolean getLegacy32Positioning() {
+ String key = SIG_OBJECT + SEPERATOR + profileID + LEGACY_POSITIONING;
+ String value = this.configuration.getValue(key);
+ if(value != null) {
+ if(value.equalsIgnoreCase(TRUE)) {
+ return true;
+ }
+ }
+ return false;
+ }
}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/positioning/Positioning.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/positioning/Positioning.java
index 340ba0bb..da7da772 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/positioning/Positioning.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/positioning/Positioning.java
@@ -47,39 +47,8 @@ public class Positioning {
* F.e.
*/
public static PositioningInstruction determineTablePositioning(TablePos pos, String signature_type,
- PDDocument pdfDataSource, IPDFVisualObject pdf_table) throws PdfAsException
+ PDDocument pdfDataSource, IPDFVisualObject pdf_table, boolean legacy32) throws PdfAsException
{
- boolean legacy32 = false;
-
- //TODO: settings reader ...
-
- /*
- if (pos == null)
- {
- String pos_string = SettingsReader.getInstance().getSetting(SignatureTypes.SIG_OBJ + signature_type + ".pos", null);
- if (pos_string != null)
- {
- pos = PdfAS.parsePositionFromPosString(pos_string);
- }
- }
- if (pos == null)
- {
- // The default algorithm. x,y,w =auto ,p=lastpage, f:ignored because
- // y:auto
- pos = new TablePos();
- }
-
- // afitzek
- // Allow legacy positioning (3.2) for BRZ Templates ...
- boolean legacy32 = false;
- String leg = SettingsReader.getInstance().getSetting(SignatureTypes.SIG_OBJ + signature_type + ".legacy.pos", "false");
- if (leg != null) {
- if ("true".equals(leg.trim())) {
- legacy32 = true;
- }
- }
- */
- // System.out.println("Tablepos="+pos);
return adjustSignatureTableandCalculatePosition(pdfDataSource, pdf_table, pos, legacy32);
}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PADESPDFBOXSigner.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PADESPDFBOXSigner.java
index 7273b8a9..cc75ff69 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PADESPDFBOXSigner.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PADESPDFBOXSigner.java
@@ -65,11 +65,16 @@ public class PADESPDFBOXSigner implements IPdfSigner {
String signerName = resolver.resolve("SIG_SUBJECT", signatureProfileSettings.getValue("SIG_SUBJECT"),
signatureProfileSettings, requestedSignature);
-
signature.setName(signerName);
- //signature.setLocation("signer location");
- signature.setReason("PDF-AS Signatur");
-
+ signature.setSignDate(Calendar.getInstance());
+ String signerReason = signatureProfileSettings.getSigningReason();
+
+ if(signerReason == null) {
+ signerReason = "PAdES Signature";
+ }
+
+ signature.setReason(signerReason);
+ logger.debug("Signing reason: " + signerReason);
logger.debug("Signing @ " + signer.getSigningDate().getTime().toString());
// the signing date, needed for valid signature
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 554a5b98..718acc24 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
@@ -42,10 +42,10 @@ public class PdfboxSignerWrapper implements PDFASSignatureInterface {
try {
byte[] signature = signer.sign(data, byteRange);
/*logger.debug("Signature Data: "
- + iaik.utils.Util.toBase64String(signature));
+ + iaik.utils.Util.toBase64String(signature));*/
FileOutputStream fos = new FileOutputStream("/tmp/fos.bin");
fos.write(signature);
- fos.close();*/
+ fos.close();
return signature;
} catch (PdfAsException e) {
throw new PdfAsWrappedIOException(e);