aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/ConnectorChooser.java
diff options
context:
space:
mode:
authorknowcenter <knowcenter@7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c>2007-07-24 13:05:39 +0000
committerknowcenter <knowcenter@7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c>2007-07-24 13:05:39 +0000
commitf9a64d885db5339164a34c4f365e2ee0cf082a05 (patch)
tree5dcd2b0b968f7c9a6c8b8a9e11885a91c3d6dd36 /src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/ConnectorChooser.java
parentc0c25e9418919e40e6f798ccfa2d8f3f94423593 (diff)
downloadpdf-as-3-f9a64d885db5339164a34c4f365e2ee0cf082a05.tar.gz
pdf-as-3-f9a64d885db5339164a34c4f365e2ee0cf082a05.tar.bz2
pdf-as-3-f9a64d885db5339164a34c4f365e2ee0cf082a05.zip
Template Versioning, BKU and MOA 1.1.0 (detached)
NOTE: MOA enveloping is still not fixed git-svn-id: https://joinup.ec.europa.eu/svn/pdf-as/trunk@149 7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c
Diffstat (limited to 'src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/ConnectorChooser.java')
-rw-r--r--src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/ConnectorChooser.java86
1 files changed, 35 insertions, 51 deletions
diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/ConnectorChooser.java b/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/ConnectorChooser.java
index 32dcb72..38680c4 100644
--- a/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/ConnectorChooser.java
+++ b/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/ConnectorChooser.java
@@ -9,7 +9,6 @@ import org.apache.commons.logging.LogFactory;
import at.knowcenter.wag.egov.egiz.PdfASID;
import at.knowcenter.wag.egov.egiz.cfg.SettingsReader;
import at.knowcenter.wag.egov.egiz.exceptions.ConnectorException;
-import at.knowcenter.wag.egov.egiz.exceptions.SettingNotFoundException;
import at.knowcenter.wag.egov.egiz.exceptions.SettingsException;
import at.knowcenter.wag.egov.egiz.framework.SignatorFactory;
import at.knowcenter.wag.egov.egiz.sig.connectors.bku.EnvelopedBase64BKUConnector;
@@ -31,19 +30,17 @@ public final class ConnectorChooser
/**
* The log.
*/
- private static Log log = LogFactory.getLog(ConnectorChooser.class);
- private static final String MOA_CMD_LINE_SUPPORTED_KEY = "moa.sign.cmd.detached";
+ private static Log log = LogFactory.getLog(ConnectorChooser.class);
+
+ private static final String MOA_DETACHED_ENABLED_KEY = "moa.sign.console.detached.enabled";
- /*
- * Called when we try to connect BKU over Web interface
- */
public static LocalConnector chooseLocalConnectorForSign(String connector,
String profile, String loc_ref_url) throws ConnectorException
{
log.debug("Choosing LocalConnector for signation...");
log.debug("connector type = " + connector);
-
+
if (!connector.equals("bku"))
{
log.error("Currently only the BKU connector is fully implemented.");
@@ -70,43 +67,37 @@ public final class ConnectorChooser
}
public static Connector chooseCommandlineConnectorForSign(String connector,
- String profile) throws ConnectorException, SettingNotFoundException
+ String profile) throws ConnectorException
{
log.debug("Choosing Connector for commandline signation...");
log.debug("connector type = " + connector);
if (connector.equals(BKU))
- {
- log.debug("sig_app is BKU ==> MultipartDetachedBKUConnector"); //$NON-NLS-1
-
+ {
+ log.debug("sig_app is BKU ==> MultipartDetachedBKUConnector"); //$NON-NLS-1$
+
return new MultipartDetachedBKUConnector(profile);
}
-
if (connector.equals(MOA))
- {
- try {
- String cmd_supported = SettingsReader.getInstance().getValueFromKey(MOA_CMD_LINE_SUPPORTED_KEY);
-
- if(cmd_supported.equals("true"))
- {
- //TODO: replace hardcoded constants!!!
- return new DetachedLocRefMOAConnector(profile, "formdata:fileupload");
- }
- else
- {
- // TODO MOA detached signing is not allowed at the commandline
- log.warn("Detached MOA is not supported on the commandline. -> choosing Base64 temporarily.");
-
- return new EnvelopingBase64MOAConnector(profile);
- }
-
- } catch (SettingsException e) {
+ {
+ // is detached mode enabled from console
+ String detached_mode_enabled = null;
+
+ try
+ {
+ detached_mode_enabled = SettingsReader.getInstance().getValueFromKey(MOA_DETACHED_ENABLED_KEY);
+ } catch (SettingsException e)
+ {
e.printStackTrace();
- }
- //if()
- //return new DetachedLocRefMOAConnector(profile, "formdata:fileupload");
- //return new EnvelopingBase64MOAConnector(profile);
+ }
+
+ // currently MOA does'nt support detached mode in command line
+ if(detached_mode_enabled == null || detached_mode_enabled.equals("true"))
+ return new DetachedLocRefMOAConnector(profile, "formdata:fileupload");
+
+ log.warn("Detached MOA is not supported on the commandline. -> choosing Base64 temporarily.");
+ return new EnvelopingBase64MOAConnector(profile);
}
throw new ConnectorException(300, "Unknown connector type '" + connector + "' specified.");
@@ -232,6 +223,13 @@ public final class ConnectorChooser
return chooseEnvelopedBase64ConnectorHotfix(profile, connector);
}
+ // test
+ if (sig_id.equals(""))
+ {
+ log.debug("sig_id is null, which means that it is a MOA signature -> choose a hotfix base64 connector (thus it is moa - it doesn't matter).");
+
+ return chooseEnvelopedBase64ConnectorHotfix(profile, connector);
+ }
String[] sig_id_parts = sig_id.split("@");
if (sig_id_parts.length == 2)
@@ -249,7 +247,6 @@ public final class ConnectorChooser
throw new ConnectorException(300, "The SIG_KZ version is 1.0.0, but SIG_ID is neither MOA nor Old base64 nor Hotfix base64 ???'");
}
-
if (sig_kz.getVersion().equals(SignatorFactory.VERSION_1_1_0))
{
log.debug("Version is 1.1.0 -> chose a detached connector.");
@@ -315,22 +312,9 @@ public final class ConnectorChooser
{
log.debug("sig_app is MOA ==> DetachedMOAConnector"); //$NON-NLS-1$
- try
- {
- if(SettingsReader.getInstance().getValueFromKey(MOA_CMD_LINE_SUPPORTED_KEY).equals("false"))
- {
- String msg = "A Detached signature cannot be verified with the MOA connector (yet)."; //$NON-NLS-1$
- log.error(msg);
- throw new ConnectorException(370, msg);
- } else
- {
- // TODO: replace hardcoded constants
- return new DetachedLocRefMOAConnector(profile, "formdata:fileupload");
- }
- } catch (SettingsException e)
- {
- e.printStackTrace();
- }
+ String msg = "A Detached signature cannot be verified with the MOA connector (yet)."; //$NON-NLS-1$
+ log.error(msg);
+ throw new ConnectorException(370, msg);
}
throw new ConnectorException(310, "Unknown sig_app '" + sig_app + "'."); //$NON-NLS-1$ //$NON-NLS-2$
}