From 05212e955f2c44bd3150b47d9d534c5a73eb71d1 Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Fri, 21 Mar 2014 13:16:38 +0100 Subject: add global QC check deactivation for testing --- id/server/doc/handbook/config/config.html | 68 ++++++++++++++-------- .../VerifyXMLSignatureResponseValidator.java | 11 +++- .../id/config/auth/AuthConfigurationProvider.java | 5 ++ 3 files changed, 58 insertions(+), 26 deletions(-) diff --git a/id/server/doc/handbook/config/config.html b/id/server/doc/handbook/config/config.html index 9aed46fd1..58214bb44 100644 --- a/id/server/doc/handbook/config/config.html +++ b/id/server/doc/handbook/config/config.html @@ -52,29 +52,30 @@
  • Bekanntmachung der Konfigurationsdatei
  • Konfigurationsparameter
      -
    1. Allgemeine Konfigurationsparameter
    2. -
    3. Externe Services -
        -
      1. MOA-SP
      2. -
      3. Online-Vollmachen
      4. -
      5. Foreign Identities
      6. -
      -
    4. -
    5. Protokolle -
        -
      1. PVP 2.1
      2. -
      3. OpenID Connect
      4. -
      -
    6. -
    7. Datenbank -
        -
      1. Konfiguration
      2. -
      3. Session Informationen
      4. -
      5. Statistikdaten
      6. -
      -
    8. -
    -
  • +
  • Allgemeine Konfigurationsparameter
  • +
  • Externe Services +
      +
    1. MOA-SP
    2. +
    3. Online-Vollmachen
    4. +
    5. Foreign Identities
    6. +
    +
  • +
  • Protokolle +
      +
    1. PVP 2.1
    2. +
    3. OpenID Connect
    4. +
    +
  • +
  • Datenbank +
      +
    1. Konfiguration
    2. +
    3. Session Informationen
    4. +
    5. Statistikdaten
    6. +
    +
  • +
  • Testing
  • + +
  • Konfiguration des Loggings
  • @@ -839,6 +840,27 @@ https://<host>:<port>/moa-id-auth/MonitoringServlet

     

    Die Beispielkonfiguration beinhaltet noch zusätzliche Konfigurationsparameter für den Datenbankzugriff der einzelnen Schema welche direkt aus der Beispielkonfiguration übernommen werden können. Eine detaillierte Beschreibung der einzelnen Einstellungsparameter kann der Hibernate Dokumention entnommen werden.

    +

    2.2.2.5 Testing

    +

    Diese Parameter dienen auf Testsystemen zur Deaktivierung einzelner Verarbeitungs- oder Prüfschritte. Standardmäßig ist jeweils die sichere Variante aktiviert.

    + + + + + + + + + + + + + + + + +
    NameBeispielwertBeschreibung
    configuration.validation.certificate.QC.ignore

    true / false

    Deaktiviert die QC Prüfung von Signaturzertifikaten. Da manche Testzertifikate oder Testkarten keine QC Erweiterung aufweisen und somit eine Anmeldung mit diesen Zertifikaten nicht möglich ist, kann die QC Prüfung je Instanz deaktiviert werden.

    +

    Defaultwert: false

    protocols.pvp2.assertion.encryption.activetrue / false

    Mit diesem Parameter kann die Verschlüsselung der PVP2.1 Assertion für diese MOA-ID-Auth Instanz vollständig deaktiviert werden.

    +

    Defaultwert: true

     

    2.3 Konfiguration des Loggings

    Die Module MOA-ID-Auth und MOA-ID-Configuration verwendet als Framework für Logging-Information die Open Source Software log4j. Die Konfiguration der Logging-Information erfolgt nicht direkt durch die einzelnen Module, sondern über eine eigene Konfigurationsdatei, die der Java Virtual Machine durch eine System Property mitgeteilt wird. Der Name der System Property lautet log4j.configuration; als Wert der System Property ist eine URL anzugeben, die auf die log4j-Konfigurationsdatei verweist, z.B.

    diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/VerifyXMLSignatureResponseValidator.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/VerifyXMLSignatureResponseValidator.java index 5f39abf73..ccaa7bbbb 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/VerifyXMLSignatureResponseValidator.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/VerifyXMLSignatureResponseValidator.java @@ -60,6 +60,8 @@ import at.gv.egovernment.moa.id.auth.MOAIDAuthConstants; import at.gv.egovernment.moa.id.auth.data.IdentityLink; import at.gv.egovernment.moa.id.auth.data.VerifyXMLSignatureResponse; import at.gv.egovernment.moa.id.auth.exception.ValidateException; +import at.gv.egovernment.moa.id.config.ConfigurationException; +import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider; import at.gv.egovernment.moa.id.util.MOAIDMessageProvider; import at.gv.egovernment.moa.logging.Logger; @@ -101,12 +103,13 @@ public class VerifyXMLSignatureResponseValidator { * manifest has to be ignored (identityLink validation if * the OA is a business service) or not * @throws ValidateException on any validation error + * @throws ConfigurationException */ public void validate(VerifyXMLSignatureResponse verifyXMLSignatureResponse, List identityLinkSignersSubjectDNNames, String whatToCheck, boolean ignoreManifestValidationResult) - throws ValidateException { + throws ValidateException, ConfigurationException { if (verifyXMLSignatureResponse.getSignatureCheckCode() != 0) throw new ValidateException("validator.06", null); @@ -130,8 +133,10 @@ public class VerifyXMLSignatureResponseValidator { throw new ValidateException("validator.19", new Object[] { checkFailedReason } ); } - //check QC - if (!verifyXMLSignatureResponse.isQualifiedCertificate()) + //check QC + if (AuthConfigurationProvider.getInstance().isCertifiacteQCActive() && + !whatToCheck.equals(CHECK_IDENTITY_LINK) && + !verifyXMLSignatureResponse.isQualifiedCertificate()) throw new ValidateException("validator.71", null); if (ignoreManifestValidationResult) { diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/AuthConfigurationProvider.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/AuthConfigurationProvider.java index 8d1fc7979..8b5c8d796 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/AuthConfigurationProvider.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/AuthConfigurationProvider.java @@ -1003,6 +1003,11 @@ public class AuthConfigurationProvider extends ConfigurationProvider { return Boolean.valueOf(prop); } + public boolean isCertifiacteQCActive() { + String prop = props.getProperty("configuration.validation.certificate.QC.ignore", "false"); + return !Boolean.valueOf(prop); + } + /** * Retruns the STORK Configuration * @return STORK Configuration -- cgit v1.2.3