summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ArgumentHandler.java1
-rw-r--r--pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/InvisibleProfile.java72
-rw-r--r--pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareConfigurationState.java1
-rw-r--r--pdf-over-gui/src/main/resources/at/asit/pdfover/gui/messages.properties2
-rw-r--r--pdf-over-signer/pdf-over-sigpdfas4/src/main/java/at/asit/pdfover/signer/pdfas/PdfAs4SignatureParameter.java23
5 files changed, 96 insertions, 3 deletions
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ArgumentHandler.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ArgumentHandler.java
index dbc92a29..89e76edb 100644
--- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ArgumentHandler.java
+++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/ArgumentHandler.java
@@ -26,6 +26,7 @@ import org.slf4j.LoggerFactory;
import at.asit.pdfover.gui.exceptions.InitializationException;
import at.asit.pdfover.gui.workflow.StateMachine;
+import at.asit.pdfover.signer.pdfas.PdfAs4SignatureParameter;
/**
* Handler to process CLI Arguments
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/InvisibleProfile.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/InvisibleProfile.java
new file mode 100644
index 00000000..b833ce9d
--- /dev/null
+++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/cliarguments/InvisibleProfile.java
@@ -0,0 +1,72 @@
+/*
+ * 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.gui.cliarguments;
+
+// Imports
+import java.io.File;
+import java.io.FileNotFoundException;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import at.asit.pdfover.gui.exceptions.InitializationException;
+import at.asit.pdfover.gui.utils.Messages;
+import at.asit.pdfover.signer.pdfas.PdfAs4SignatureParameter;
+
+/**
+ * CLI Argument to set the visibility of signature
+ */
+public class InvisibleProfile extends Argument {
+ /**
+ * Constructor
+ */
+ public InvisibleProfile() {
+ super(new String[] {"-v"}, "argument.help.vis"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * SLF4J Logger instance
+ **/
+ private static final Logger log = LoggerFactory
+ .getLogger(InvisibleProfile.class);
+
+ /* (non-Javadoc)
+ * @see at.asit.pdfovewr.gui.cliarguments.CLIArgument#handleArgument(java.lang.String[], int, at.asit.pdfover.gui.workflow.StateMachine, at.asit.pdfover.gui.cliarguments.ArgumentHandler)
+ */
+ @Override
+ public int handleArgument(String[] args, int argOffset,
+ ArgumentHandler handler)
+ throws InitializationException {
+ try {
+ log.info("Set Profile Invisible");
+
+ if (args.length > argOffset + 1) {
+
+ PdfAs4SignatureParameter.PROFILE_VISIBILITY=false;
+ return argOffset + 1;
+ }
+
+ } catch (Exception ex) {
+ log.error("Signature Profile Visibilty Error", ex); //$NON-NLS-1$
+ throw new InitializationException(
+ Messages.getString("argument.invalid.vis") + this.getHelpText(), ex); //$NON-NLS-1$
+ }
+
+ throw new InitializationException(
+ Messages.getString("argument.invalid.vis") + this.getHelpText(), null); //$NON-NLS-1$
+ }
+
+}
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareConfigurationState.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareConfigurationState.java
index e9ff0b25..640f61da 100644
--- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareConfigurationState.java
+++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareConfigurationState.java
@@ -99,6 +99,7 @@ public class PrepareConfigurationState extends State {
this.handler.addCLIArgument(SkipFinishArgument.class);
// adding config file argument to this handler so it appears in help
this.handler.addCLIArgument(ConfigFileArgument.class);
+ this.handler.addCLIArgument(InvisibleProfile.class);
this.configFileHandler = new ArgumentHandler(getStateMachine());
this.configFileHandler.addCLIArgument(ConfigFileArgument.class);
diff --git a/pdf-over-gui/src/main/resources/at/asit/pdfover/gui/messages.properties b/pdf-over-gui/src/main/resources/at/asit/pdfover/gui/messages.properties
index 16062baf..3f69b0ad 100644
--- a/pdf-over-gui/src/main/resources/at/asit/pdfover/gui/messages.properties
+++ b/pdf-over-gui/src/main/resources/at/asit/pdfover/gui/messages.properties
@@ -64,6 +64,7 @@ argument.help.proxypass=Sets the proxy password to use. Example\: -proxypass <pa
argument.help.proxyport=Sets the proxy port to use. Example\: -proxyport <port>
argument.help.proxyuser=Sets the proxy username to use. Example\: -proxyuser <username>
argument.help.skipfinish=Enables skipping of the "Finish" dialog (if successfully saved)
+argument.help.vis=Sets the visibility of a signature. Example\: -v "true"
argument.info.help=The following options are available\:
argument.invalid.bku=CCE argument invalid\! Usage\:
argument.invalid.config=Configuration file argument invalid\! Usage\:
@@ -81,6 +82,7 @@ argument.invalid.proxyhost=Proxy host argument invalid\! Usage\:
argument.invalid.proxypass=Proxy password argument invalid\! Usage\:
argument.invalid.proxyport=Proxy port argument invalid\! Usage\:
argument.invalid.proxyuser=Proxy username argument invalid\! Usage\:
+argument.invalid.vis=Profile Visbility argument invalid\! Usage\:
bku_selection.card=&Card
bku_selection.ks=&Keystore
bku_selection.mobile=&Mobile
diff --git a/pdf-over-signer/pdf-over-sigpdfas4/src/main/java/at/asit/pdfover/signer/pdfas/PdfAs4SignatureParameter.java b/pdf-over-signer/pdf-over-sigpdfas4/src/main/java/at/asit/pdfover/signer/pdfas/PdfAs4SignatureParameter.java
index 0403de2f..600a5e75 100644
--- a/pdf-over-signer/pdf-over-sigpdfas4/src/main/java/at/asit/pdfover/signer/pdfas/PdfAs4SignatureParameter.java
+++ b/pdf-over-signer/pdf-over-sigpdfas4/src/main/java/at/asit/pdfover/signer/pdfas/PdfAs4SignatureParameter.java
@@ -48,6 +48,11 @@ public class PdfAs4SignatureParameter extends SignatureParameter {
private static final String PROFILE_ID_NOTE = "_NOTE";
/** The profile ID extension for PDF/A compatibility */
private static final String PROFILE_ID_PDFA = "_PDFA";
+
+ /**
+ * Visibility of signature block
+ */
+ public static boolean PROFILE_VISIBILITY=true;
private HashMap<String, String> genericProperties = new HashMap<String, String>();
@@ -155,10 +160,22 @@ public class PdfAs4SignatureParameter extends SignatureParameter {
String lang = getSignatureLanguage();
boolean useNote = (getProperty("SIG_NOTE") != null);
boolean usePdfACompat = (getSignaturePdfACompat());
-
- String profileId = PROFILE_ID_BASE;
+
+ //Add Signature Param here//
+ String profileId;
+
+
+
+ if (PROFILE_VISIBILITY)
+ {
+ profileId = PROFILE_ID_BASE;
profileId += (lang != null && lang.equals("en")) ?
- PROFILE_ID_LANG_EN : PROFILE_ID_LANG_DE;
+ PROFILE_ID_LANG_EN : PROFILE_ID_LANG_DE;}
+
+ else
+ {
+ profileId ="INVISIBLE";
+ }
if (useNote)
profileId += PROFILE_ID_NOTE;