diff options
| author | Bojan Suzic <bojan.suzic@iaik.tugraz.at> | 2014-02-05 17:49:06 +0100 | 
|---|---|---|
| committer | Bojan Suzic <bojan.suzic@iaik.tugraz.at> | 2014-02-05 17:49:06 +0100 | 
| commit | 337c5b67682f893e7907d018077e3fb55c6d5dd6 (patch) | |
| tree | 5a4b0d2d9e5d503f3696f7f72f07232ea8ecd855 | |
| parent | 5688777cebee5a6e7dd27c88aed5a8f98abd690f (diff) | |
| download | moa-id-spss-337c5b67682f893e7907d018077e3fb55c6d5dd6.tar.gz moa-id-spss-337c5b67682f893e7907d018077e3fb55c6d5dd6.tar.bz2 moa-id-spss-337c5b67682f893e7907d018077e3fb55c6d5dd6.zip | |
saml changes
| -rw-r--r-- | id/server/data/deploy/conf/moa-id/stork/SamlEngine.xml | 18 | ||||
| -rw-r--r-- | id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/STORKProtocol.java | 37 | 
2 files changed, 44 insertions, 11 deletions
| diff --git a/id/server/data/deploy/conf/moa-id/stork/SamlEngine.xml b/id/server/data/deploy/conf/moa-id/stork/SamlEngine.xml index 563196604..e6a29ea18 100644 --- a/id/server/data/deploy/conf/moa-id/stork/SamlEngine.xml +++ b/id/server/data/deploy/conf/moa-id/stork/SamlEngine.xml @@ -17,5 +17,21 @@  			<parameter name="fileConfiguration" value="SignModule_outgoing.xml" />  		</configuration>  	</instance> + +        <instance name="incoming"> +                <!-- Configurations parameters StorkSamlEngine  --> +                <configuration name="SamlEngineConf"> +                        <parameter name="fileConfiguration" value="StorkSamlEngine_incoming.xml" /> +                </configuration> + +                <!-- Settings module signature--> +                <configuration name="SignatureConf"> +                        <!-- Specific signature module --> +                        <parameter name="class" value="eu.stork.peps.auth.engine.core.impl.SignSW" /> +                        <!-- Settings specific module --> +                        <parameter name="fileConfiguration" value="SignModule_incoming.xml" /> +                </configuration> +        </instance> + -</instances>
\ No newline at end of file +</instances> diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/STORKProtocol.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/STORKProtocol.java index 2c47620e1..2e42a0d75 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/STORKProtocol.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/STORKProtocol.java @@ -11,6 +11,7 @@ import at.gv.egovernment.moa.logging.Logger;  import eu.stork.peps.auth.commons.PEPSUtil;  import eu.stork.peps.auth.commons.STORKAuthnResponse;  import eu.stork.peps.auth.engine.STORKSAMLEngine; +import eu.stork.peps.exceptions.STORKSAMLEngineException;  import org.opensaml.common.binding.BasicSAMLMessageContext;  import org.opensaml.saml2.binding.decoding.HTTPPostDecoder;  import org.opensaml.ws.transport.http.HTTPInTransport; @@ -60,10 +61,14 @@ public class STORKProtocol implements IModulInfo, MOAIDAuthConstants {          return actions.get(action);      } +    public STORKProtocol() { +        super();    // +    } +      /* -    First request step - send it to BKU selection for user authentication. After the user credentials -    and other info are obtained, in the second step the request will be processed and the user redirected -     */ +        First request step - send it to BKU selection for user authentication. After the user credentials +        and other info are obtained, in the second step the request will be processed and the user redirected +         */      public IRequest preProcess(HttpServletRequest request, HttpServletResponse response, String action) throws MOAIDException {          Logger.debug("Starting preprocessing");          Logger.debug("Got request: " + request.toString()); @@ -120,22 +125,34 @@ public class STORKProtocol implements IModulInfo, MOAIDAuthConstants {          //extract STORK Response from HTTP Request          //Decodes SAML Response -        /* +          byte[] decSamlToken;          try { -            decSamlToken = PEPSUtil.decodeSAMLToken(request.getParameter("SAMLResponse")); +            decSamlToken = PEPSUtil.decodeSAMLToken(request.getParameter("SAMLRequest"));          } catch(NullPointerException e) {              Logger.error("Unable to retrieve STORK Response", e);              throw new MOAIDException("stork.04", null);          }          //Get SAMLEngine instance -        STORKSAMLEngine engine = STORKSAMLEngine.getInstance("outgoing"); +        STORKSAMLEngine engine = STORKSAMLEngine.getInstance("incoming"); + +        STORKAuthnRequest authnRequest = null; +        Logger.error("decsamltoken" +decSamlToken.toString()); + +        try { +        authnRequest = engine.validateSTORKAuthnRequest(decSamlToken); +        } catch (STORKSAMLEngineException ex) { +            Logger.error("Unable to validate storkrkauthnreqeust" + ex.getMessage() ); +        } + +        Logger.error("acsu " + authnRequest.getAssertionConsumerServiceURL()); +        Logger.error("cc " + authnRequest.getCitizenCountryCode()); +        Logger.error("iss " + authnRequest.getIssuer()); +        Logger.error("spid " + authnRequest.getSPID()); +        Logger.error("spi " + authnRequest.getSpInstitution()); + -        STORKAuthnResponse authnResponse = null; -        PEPSUtil.decode -        engine.validateSTORKAuthnRequest() -        */          return STORK2Request;      } | 
