aboutsummaryrefslogtreecommitdiff
path: root/id
diff options
context:
space:
mode:
authorBojan Suzic <bojan.suzic@iaik.tugraz.at>2014-02-05 17:49:06 +0100
committerBojan Suzic <bojan.suzic@iaik.tugraz.at>2014-02-05 17:49:06 +0100
commit337c5b67682f893e7907d018077e3fb55c6d5dd6 (patch)
tree5a4b0d2d9e5d503f3696f7f72f07232ea8ecd855 /id
parent5688777cebee5a6e7dd27c88aed5a8f98abd690f (diff)
downloadmoa-id-spss-337c5b67682f893e7907d018077e3fb55c6d5dd6.tar.gz
moa-id-spss-337c5b67682f893e7907d018077e3fb55c6d5dd6.tar.bz2
moa-id-spss-337c5b67682f893e7907d018077e3fb55c6d5dd6.zip
saml changes
Diffstat (limited to 'id')
-rw-r--r--id/server/data/deploy/conf/moa-id/stork/SamlEngine.xml18
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/stork2/STORKProtocol.java37
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;
}