From 1c2600e7328c84a3327719cc682731bb470417e3 Mon Sep 17 00:00:00 2001 From: tknall Date: Fri, 4 Feb 2011 10:12:25 +0000 Subject: - fixed: handling incomplete response from citizen card environment (missing headers "user-agent" or "Server") - fixed: do not try to delete non-existing file git-svn-id: https://joinup.ec.europa.eu/svn/pdf-as/trunk@743 7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c --- .../wag/egov/egiz/sig/connectors/bku/BKUPostConnection.java | 5 +++++ .../wag/egov/egiz/sig/connectors/bku/DetachedBKUConnector.java | 2 +- .../egov/egiz/sig/signaturelayout/SignatureLayoutHandlerFactory.java | 3 +++ 3 files changed, 9 insertions(+), 1 deletion(-) (limited to 'src/main/java/at/knowcenter/wag/egov/egiz/sig') diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/bku/BKUPostConnection.java b/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/bku/BKUPostConnection.java index 5fa1877..8b1da4c 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/bku/BKUPostConnection.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/bku/BKUPostConnection.java @@ -152,6 +152,11 @@ public final class BKUPostConnection response_properties.setProperty(RESPONSE_STRING_KEY, response_string); log.debug("doPostRequestMultipart finished."); //$NON-NLS-1$ + + // FIXME: remove + response_properties.remove("BKU-Signature-Layout"); + response_properties.remove("BKU-Server-Header"); + return response_properties; } diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/bku/DetachedBKUConnector.java b/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/bku/DetachedBKUConnector.java index 80a80bc..2726bd4 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/bku/DetachedBKUConnector.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/bku/DetachedBKUConnector.java @@ -134,7 +134,7 @@ public class DetachedBKUConnector implements Connector, LocalConnector String response_string = response_properties.getProperty(BKUPostConnection.RESPONSE_STRING_KEY); String bkuIdentifier = BKUHelper.getBKUIdentifier(response_properties); - log.debug("BKU identifier: \"" + bkuIdentifier + "\""); + log.debug("BKU identifier: " + (bkuIdentifier != null ? ("\"" + bkuIdentifier + "\"") : "n/a")); SignatureLayoutHandler sigLayout; try { diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/sig/signaturelayout/SignatureLayoutHandlerFactory.java b/src/main/java/at/knowcenter/wag/egov/egiz/sig/signaturelayout/SignatureLayoutHandlerFactory.java index c56b5f6..a98208b 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/sig/signaturelayout/SignatureLayoutHandlerFactory.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/sig/signaturelayout/SignatureLayoutHandlerFactory.java @@ -53,6 +53,9 @@ public class SignatureLayoutHandlerFactory { * @throws SettingsException Thrown in case of an error within the configuration. */ public static SignatureLayoutHandler getSignatureLayoutHandlerInstance(String bkuIdentifier) throws ConnectorException, SettingsException { + if (bkuIdentifier == null) { + throw new SettingsException(ErrorCode.MISSING_HEADER_SERVER_USER_AGENT, "Unable to determine type of citizen card environment. Response header \"Server\" resp. \"User-Agent\" is missing. Refer to security layer specification, section 3.3.2."); + } SignatureLayoutHandler signatureLayoutHandler = (SignatureLayoutHandler) instances.get(bkuIdentifier); if (signatureLayoutHandler == null) { -- cgit v1.2.3