From 961e7453e71b57a1b669b84b067922051ae5a855 Mon Sep 17 00:00:00 2001 From: ceoche <cedric.eoche.duval@gmail.com> Date: Wed, 30 Jun 2021 15:00:00 +0200 Subject: [PATCH 01/11] APS-16 assertion generated with default OID --- .gitignore | 18 +- assertion-provider/README.md | 16 +- .../groovy-script/mock-script.groovy | 536 ++++++------ .../epr-assertion-provider-soapui-project.xml | 759 +++++++++-------- .../generator/model/AssertionAttributes.java | 244 +++--- .../xua/generator/utils/Constants.java | 1 + .../utils/EhealthsuisseHelperService.java | 783 +++++++++--------- .../generator/test/AssertionUtilsTest.java | 2 +- 8 files changed, 1249 insertions(+), 1110 deletions(-) diff --git a/.gitignore b/.gitignore index 15d5399..91883bc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,12 +1,10 @@ -<<<<<<< HEAD -# / -/.idea -/*.log -/*.iml +# IntelliJ Idea +.idea/ +*.iml -# /soapui/ -/soapui/*.log -======= -/target/ ->>>>>>> saml/master +# soapui +*.log + +# maven +target/ diff --git a/assertion-provider/README.md b/assertion-provider/README.md index 858f7a5..c56db35 100644 --- a/assertion-provider/README.md +++ b/assertion-provider/README.md @@ -44,6 +44,13 @@ Copy the jar into the external SoapUI intallation dir cp target/epr-saml-generator-X.X.X-jar-with-dependencies.jar $SOAPUI_INSTALL_DIR/bin/ext/. ``` +Get the mock-recorder jar into the external SoapUI intallation dir + +```bash +cd $SOAPUI_INSTALL_DIR/bin/ext/. +wget https://gazelle.ihe.net/nexus/service/local/repositories/releases/content/net/ihe/gazelle/gwt-message-recording-for-mock/1.7.3/gwt-message-recording-for-mock-1.7.3-jar-with-dependencies.jar +``` + ## Install EPR Assertion Provider MockUp ### Get the Subversion project @@ -54,12 +61,13 @@ svn checkout https://scm.gforge.inria.fr/anonscm/svn/gazelle/EPD/trunk/epr-asser ### Install libraries required by SoapUI -Copy the external jars (esapi, velocity and postgresql) +Get the external jars (esapi, velocity and postgresql) ```bash -cp $EPR_AP_MOCK_DIR/external_jar/esapi-2.1.0.1.jar $SOAPUI_INSTALL_DIR/lib/ -cp $EPR_AP_MOCK_DIR/external_jar/velocity-1.7.jar $SOAPUI_INSTALL_DIR/lib/ -cp $EPR_AP_MOCK_DIR/external_jar/postgresql-9.3-1102.jdbc4.jar $SOAPUI_INSTALL_DIR/lib/ +cd $SOAPUI_INSTALL_DIR/lib/ +wget https://repo1.maven.org/maven2/org/owasp/esapi/esapi/2.1.0.1/esapi-2.1.0.1.jar +wget https://repo1.maven.org/maven2/org/apache/velocity/velocity/1.7/velocity-1.7.jar +wget https://repo1.maven.org/maven2/org/postgresql/postgresql/42.2.22.jre7/postgresql-42.2.22.jre7.jar ``` ### Prepare the database diff --git a/assertion-provider/groovy-script/mock-script.groovy b/assertion-provider/groovy-script/mock-script.groovy index 22ac528..3cfd9cb 100755 --- a/assertion-provider/groovy-script/mock-script.groovy +++ b/assertion-provider/groovy-script/mock-script.groovy @@ -13,6 +13,12 @@ holder.declareNamespace("wsa", "http://www.w3.org/2005/08/addressing") holder.declareNamespace("saml2", "urn:oasis:names:tc:SAML:2.0:assertion") holder.declareNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance") +///////////////////////////////////////// +// CONSTANTS //////////////////////////// +///////////////////////////////////////// + +def HOME_COMMUNITY_ID = "urn:oid:1.1.4567334.1.6" + ///////////////////////////////////////// ///////////////////////////////////////// //VARIABLES TO CHECK///////////////////// @@ -22,32 +28,31 @@ def g_purposeOfUse = holder["//wst:Claims/saml2:Attribute[@Name='urn:oasis:names def g_role = holder["//wst:Claims/saml2:Attribute[@Name='urn:oasis:names:tc:xacml:2.0:subject:role']/saml2:AttributeValue/*:Role/@code"] def g_EPR_SPIP = holder["//wst:Claims/saml2:Attribute[@Name='urn:oasis:names:tc:xacml:2.0:resource:resource-id']/saml2:AttributeValue"] def g_assertion = holder["exists(//saml2:Assertion)"] - +def applies_to_exist = holder["exists(//wst:RequestSecurityToken/wsp:AppliesTo)"] ///////////////////////////////////////// ///////////////////////////////////////// //CHECK PROPERTIERS FOR GENERAL REQUEST// ///////////////////////////////////////// - -if (g_purposeOfUse != null && isPresent(g_purposeOfUse, "Purpose of use")){ +if (g_purposeOfUse != null && isDefined(g_purposeOfUse)) { requestContext.g_purposeOfUse = g_purposeOfUse } else { return soapFaultMissing("Purpose of use") } -if (g_role != null && isPresent(g_role, "Role")){ +if (g_role != null && isDefined(g_role)) { requestContext.g_role = g_role } else { return soapFaultMissing("Role") } -if (g_assertion != null && isPresent(g_assertion, "Assertion")){ +if (g_assertion != null && isDefined(g_assertion)) { requestContext.g_assertion = g_assertion } else { return soapFaultMissing("Assertion") } -if (g_EPR_SPIP != null && isPresent(g_EPR_SPIP, "Resource ID")){ +if (g_EPR_SPIP != null && isDefined(g_EPR_SPIP)) { requestContext.g_EPR_SPIP = g_EPR_SPIP - if (!isValidPatientId(g_EPR_SPIP)){ + if (!isValidPatientId(g_EPR_SPIP)) { return soapFaultWrongValue("Resource ID", g_EPR_SPIP) } } else { @@ -55,7 +60,6 @@ if (g_EPR_SPIP != null && isPresent(g_EPR_SPIP, "Resource ID")){ } - log.info "All checks for common requirements passed" ///////////////////////////////////////// ///////////////////////////////////////// @@ -65,7 +69,7 @@ log.info "All checks for common requirements passed" log.info "Check role code with value : " + g_role g_role = checkRoleCode(g_role) -if (g_role == "SoapFault Response"){ +if (g_role == "SoapFault Response") { return g_role } @@ -75,27 +79,27 @@ if (g_role == "SoapFault Response"){ ///////////////////////////////////////// -if(g_role == "HCP"){ +if (g_role == "HCP") { log.info "Role detected : Healthcare Professional" def hcp_assertion_gln = holder["//saml2:Assertion//saml2:AttributeStatement//saml2:Attribute[@NameFormat='urn:oasis:names:tc:ebcore:partyid-type:DataUniversalNumberingSystem:0060' or @Name='GLN']/saml2:AttributeValue"] def hcp_id_subject = holder["//saml2:Subject/saml2:NameID"] - if (isValidPurposeOfUse(g_purposeOfUse)){ + if (isValidPurposeOfUse(g_purposeOfUse)) { requestContext.g_purposeOfUse = g_purposeOfUse } else { return soapFaultWrongValue("Purpose of use", g_purposeOfUse) } - if (isPresent(hcp_assertion_gln, "GLN from assertion")){ + if (isDefined(hcp_assertion_gln)) { requestContext.final_gln = hcp_assertion_gln - if (!isGlnInDataStore(hcp_assertion_gln)){ + if (!isGlnInDataStore(hcp_assertion_gln)) { return soapFaultWrongValue("GLN from assertion", hcp_assertion_gln) } log.info "Found GLN in assertion : " + requestContext.final_gln } else { //TODO query the community data stores to resolve the Name ID of the <Subject> element to the GLN of the healthcare professional to be returned in the <Assertion> def gnl_from_nameid = getGlnFromNameId(hcp_id_subject) - if (gnl_from_nameid == null){ + if (gnl_from_nameid == null) { return soapFaultWrongValue("Subject ID", hcp_id_subject) } requestContext.final_gln = gnl_from_nameid @@ -106,7 +110,7 @@ if(g_role == "HCP"){ //TODO query the Healthcare Provider Directory and resolve the GLN of the healthcare professional to all groups including all //superior group up to the root level. The X-Asser-tion Provider actor must add the group IDs and the group names in an ordered sequence - def groupId = getGroupIdFromFromHcpGln(requestContext.final_gln) + def groupId = getGroupIdFromHcpGln(requestContext.final_gln) if (groupId == null) { log.info "No Group id for GLN with value : " + requestContext.final_gln requestContext.soapFaultCodeValue = "wst:InvalidRequest" @@ -132,13 +136,14 @@ if(g_role == "HCP"){ // Generate assertion log.info "Generating assertion" def keystoreParams = new KeystoreParams("/opt/gazelle/cert/jboss.jks", "password", "/opt/gazelle/cert/jboss.jks", "password", "jboss", "password") - def assertionAttributes = new AssertionAttributes(requestContext.final_gln, requestContext.g_EPR_SPIP, requestContext.g_purposeOfUse, doctorName, groupId, organizationName, g_role, null, null, null) + def assertionAttributes = new AssertionAttributes(requestContext.final_gln, requestContext.g_EPR_SPIP, requestContext.g_purposeOfUse, doctorName, groupId, organizationName, g_role, null, null, null, HOME_COMMUNITY_ID) def assertion = AssertionUtils.getStringAssertionWithPath(assertionAttributes, keystoreParams) - requestContext.assertion = assertion + requestContext.appliesTo = getAppliesTo(applies_to_exist, holder) + requestContext.assertion = assertion return "Default RequestSecurityTokenResponse" -} else if (g_role == "ASS"){ +} else if (g_role == "ASS") { log.info "Role detected : Assistant" //MUST FOR ASS // FROM CLAIMS @@ -159,9 +164,9 @@ if(g_role == "HCP"){ ///////////////////////////////////////////////////////// log.info "Check MUST fields :" - if (isPresent(ass_principalID, "Principal ID")){ + if (isDefined(ass_principalID)) { requestContext.ass_principalID = ass_principalID - if (!isGlnInDataStore(requestContext.ass_principalID)){ + if (!isGlnInDataStore(requestContext.ass_principalID)) { log.info "No entry for GLN in data stores : " + requestContext.ass_principalID requestContext.soapFaultCodeValue = "wst:InvalidRequest" requestContext.soapFaultReason = "No entry for GLN : " + requestContext.ass_principalID @@ -171,20 +176,11 @@ if(g_role == "HCP"){ return soapFaultMissing("Principal ID") } - if (isPresent(ass_principalName, "Principal Name")){ - requestContext.ass_principalName = ass_principalName - if (!getNameFromGln(requestContext.ass_principalID).equals(requestContext.ass_principalName)){ - log.info "Name doesn't correspond to GLN : " + requestContext.ass_principalName - log.info getNameFromGln(requestContext.ass_principalName) - requestContext.soapFaultCodeValue = "wst:InvalidRequest" - requestContext.soapFaultReason = "Name doesn't correspond to GLN : " + requestContext.ass_principalName - return "SoapFault Response"; - } - } else { + if (!isDefined(ass_principalName)) { return soapFaultMissing("Principal Name") } - if (isValidPurposeOfUse(g_purposeOfUse)){ + if (isValidPurposeOfUse(g_purposeOfUse)) { log.info "Valid purpose of use with value : " + g_purposeOfUse requestContext.g_purposeOfUse = g_purposeOfUse } else { @@ -196,8 +192,8 @@ if(g_role == "HCP"){ /////////////////////////////////////////////////////////////// log.info "Check optional fields :" - if (isPresent(ass_organizationName, "Organization Name")){ - if (!ass_organizationName.equals(getOrganizationNameFromId(getGroupIdFromFromHcpGln(requestContext.ass_principalID)))){ + if (isDefined(ass_organizationName)) { + if (!ass_organizationName.equals(getOrganizationNameFromId(getGroupIdFromHcpGln(requestContext.ass_principalID)))) { log.info "Organization name does not correspond to GLN : " + ass_organizationName requestContext.soapFaultCodeValue = "wst:InvalidRequest" requestContext.soapFaultReason = "Organization name does not correspond to GLN : " + ass_organizationName @@ -206,8 +202,8 @@ if(g_role == "HCP"){ requestContext.ass_organizationName = ass_organizationName } - if (isPresent(ass_organizationId, "Organization ID")){ - if (!ass_organizationId.equals(getGroupIdFromFromHcpGln(requestContext.ass_principalID))){ + if (isDefined(ass_organizationId)) { + if (!ass_organizationId.equals(getGroupIdFromHcpGln(requestContext.ass_principalID))) { log.info "Organization ID does not correspond to GLN : " + ass_organizationId requestContext.soapFaultCodeValue = "wst:InvalidRequest" requestContext.soapFaultReason = "Organization ID does not correspond to GLN : " + ass_organizationId @@ -220,7 +216,7 @@ if(g_role == "HCP"){ log.info "Check values to put in the assertion : " // verify Id of the accessing person - if(ass_id_subject.size() > 0){ + if (ass_id_subject.size() > 0) { log.info "Id of the accessing person: " + ass_id_subject requestContext.id_subject = ass_id_subject } else { @@ -228,36 +224,36 @@ if(g_role == "HCP"){ } - if (isPresent(ass_assertion_gln, "GLN from assertion")){ + if (isDefined(ass_assertion_gln)) { requestContext.ass_gln = ass_assertion_gln } else { requestContext.ass_gln = getGlnFromAssistantId(requestContext.id_subject) } - if (requestContext.ass_gln == null){ + if (requestContext.ass_gln == null) { return soapFaultWrongValue("Assistant GLN", requestContext.ass_gln) } - if (!isAssistantAuthorized(requestContext.ass_gln, requestContext.ass_principalID)){ + if (!isAssistantAuthorized(requestContext.ass_gln, requestContext.ass_principalID)) { log.info "Assistant with gln " + requestContext.ass_gln + " not authorized to act for HCP with ID " + requestContext.ass_principalID requestContext.soapFaultCodeValue = "wst:InvalidRequest" requestContext.soapFaultReason = "Assistant with gln " + requestContext.ass_gln + " not authorized to act for HCP with ID " + requestContext.ass_principalID return "SoapFault Response" } - if (getNameFromGln(requestContext.ass_principalID) == null){ + if (getNameFromGln(requestContext.ass_principalID) == null) { log.info "No name for gln " + requestContext.ass_principalID requestContext.soapFaultCodeValue = "wst:InvalidRequest" requestContext.soapFaultReason = "No name for gln " + requestContext.ass_principalID return "SoapFault Response" } - if (getGroupIdFromFromHcpGln(requestContext.ass_principalID) == null){ + if (getGroupIdFromHcpGln(requestContext.ass_principalID) == null) { log.info "No organization for gln " + requestContext.ass_principalID requestContext.soapFaultCodeValue = "wst:InvalidRequest" requestContext.soapFaultReason = "No organization for gln " + requestContext.ass_principalID return "SoapFault Response" } - if (getOrganizationNameFromId(getGroupIdFromFromHcpGln(requestContext.ass_principalID))==null){ + if (getOrganizationNameFromId(getGroupIdFromHcpGln(requestContext.ass_principalID)) == null) { log.info "No organization name for gln " + requestContext.ass_principalID requestContext.soapFaultCodeValue = "wst:InvalidRequest" requestContext.soapFaultReason = "No organization name for gln " + requestContext.ass_principalID @@ -269,13 +265,14 @@ if(g_role == "HCP"){ log.info "Generating assertion" def keystoreParams = new KeystoreParams("/opt/gazelle/cert/jboss.jks", "password", "/opt/gazelle/cert/jboss.jks", "password", "jboss", "password") def assertionAttributes = new AssertionAttributes(requestContext.ass_principalID, requestContext.g_EPR_SPIP, requestContext.g_purposeOfUse, - getNameFromGln(requestContext.ass_principalID), getGroupIdFromFromHcpGln(requestContext.ass_principalID), - getOrganizationNameFromId(getGroupIdFromFromHcpGln(requestContext.ass_principalID)), "HCP", requestContext.ass_gln, "ASS", getAssNameFromGLN(requestContext.ass_gln)) + getNameFromGln(requestContext.ass_principalID), getGroupIdFromHcpGln(requestContext.ass_principalID), + getOrganizationNameFromId(getGroupIdFromHcpGln(requestContext.ass_principalID)), "HCP", requestContext.ass_gln, "ASS", getAssNameFromGLN(requestContext.ass_gln), HOME_COMMUNITY_ID) def assertion = AssertionUtils.getStringAssertionWithPath(assertionAttributes, keystoreParams) - requestContext.assertion = assertion + requestContext.appliesTo = getAppliesTo(applies_to_exist, holder) + requestContext.assertion = assertion return "Default RequestSecurityTokenResponse" -} else if (g_role == "TCU"){ +} else if (g_role == "TCU") { log.info "Role detected : Technical User" @@ -291,9 +288,9 @@ if(g_role == "HCP"){ def tcu_id_subject = holder["//saml2:Subject/saml2:NameID"] - if (isPresent(tcu_principalID, "Principal ID")){ + if (isDefined(tcu_principalID)) { requestContext.tcu_principalID = tcu_principalID - if (!isGlnInDataStore(requestContext.tcu_principalID)){ + if (!isGlnInDataStore(requestContext.tcu_principalID)) { log.info "No entry for GLN in data stores : " + requestContext.tcu_principalID requestContext.soapFaultCodeValue = "wst:InvalidRequest" requestContext.soapFaultReason = "No entry for GLN : " + requestContext.tcu_principalID @@ -303,21 +300,12 @@ if(g_role == "HCP"){ return soapFaultMissing("Principal ID") } - if (isPresent(tcu_principalName, "Principal Name")){ - requestContext.tcu_principalName = tcu_principalName - if (!getNameFromGln(requestContext.tcu_principalID).equals(requestContext.tcu_principalName)){ - log.info "Name doesn't correspond to GLN : " + requestContext.tcu_principalName - log.info getNameFromGln(requestContext.tcu_principalName) - requestContext.soapFaultCodeValue = "wst:InvalidRequest" - requestContext.soapFaultReason = "Name doesn't correspond to GLN : " + requestContext.tcu_principalName - return "SoapFault Response"; - } - } else { + if (!isDefined(tcu_principalName)) { return soapFaultMissing("Principal Name") } - if (g_purposeOfUse == "AUTO"){ + if (g_purposeOfUse == "AUTO") { requestContext.g_purposeOfUse = g_purposeOfUse } else { return soapFaultWrongValue("Purpose of use", g_purposeOfUse) @@ -330,9 +318,9 @@ if(g_role == "HCP"){ //the certificate registered with the technical user. - if (isPresent(tcu_id_subject, "Subject ID")){ + if (isDefined(tcu_id_subject)) { def tcu_gln = getTcuGlnFromNameId(tcu_id_subject) - if(!isTechnicalUserAuthorized(tcu_gln, requestContext.tcu_principalID)){ + if (!isTechnicalUserAuthorized(tcu_gln, requestContext.tcu_principalID)) { log.info "Technical user with id " + tcu_gln + " not authorized to act for HCP with ID " + requestContext.tcu_principalID requestContext.soapFaultCodeValue = "wst:InvalidRequest" requestContext.soapFaultReason = "Technical user with id " + tcu_gln + " not authorized to act for HCP with ID " + requestContext.tcu_principalID @@ -343,26 +331,26 @@ if(g_role == "HCP"){ return soapFaultMissing("Subject ID") } - if (getTcuGlnFromNameId(tcu_id_subject) == null){ + if (getTcuGlnFromNameId(tcu_id_subject) == null) { return soapFaultWrongValue("Name ID", tcu_id_subject) } //HCP NAME - if (getNameFromGln(requestContext.tcu_principalID) == null){ + if (getNameFromGln(requestContext.tcu_principalID) == null) { log.info "No name for gln" + requestContext.tcu_principalID requestContext.soapFaultCodeValue = "wst:InvalidRequest" requestContext.soapFaultReason = "No name for gln " + requestContext.tcu_principalID return "SoapFault Response" } //ORGA ID - if (getGroupIdFromFromHcpGln(requestContext.tcu_principalID) == null){ + if (getGroupIdFromHcpGln(requestContext.tcu_principalID) == null) { log.info "No organization for gln" + requestContext.tcu_principalID requestContext.soapFaultCodeValue = "wst:InvalidRequest" requestContext.soapFaultReason = "No organization for gln " + requestContext.tcu_principalID return "SoapFault Response" } //ORGA NAME - if (getOrganizationNameFromId(getGroupIdFromFromHcpGln(requestContext.tcu_principalID))==null){ + if (getOrganizationNameFromId(getGroupIdFromHcpGln(requestContext.tcu_principalID)) == null) { log.info "No organization name for gln" + requestContext.tcu_principalID requestContext.soapFaultCodeValue = "wst:InvalidRequest" requestContext.soapFaultReason = "No organization name for gln " + requestContext.tcu_principalID @@ -370,34 +358,34 @@ if(g_role == "HCP"){ } - ////////////////////////////////////////////////////// //Generate Assertion log.info "Generating assertion" def keystoreParams = new KeystoreParams("/opt/gazelle/cert/jboss.jks", "password", "/opt/gazelle/cert/jboss.jks", "password", "jboss", "password") - def assertionAttributes = new AssertionAttributes(requestContext.tcu_principalID, requestContext.g_EPR_SPIP, "NORM", - getNameFromGln(requestContext.tcu_principalID), getGroupIdFromFromHcpGln(requestContext.tcu_principalID), - getOrganizationNameFromId(getGroupIdFromFromHcpGln(requestContext.tcu_principalID)), "HCP", requestContext.tcu_gln, "TCU", null) + def assertionAttributes = new AssertionAttributes(requestContext.tcu_principalID, requestContext.g_EPR_SPIP, "AUTO", + getNameFromGln(requestContext.tcu_principalID), getGroupIdFromHcpGln(requestContext.tcu_principalID), + getOrganizationNameFromId(getGroupIdFromHcpGln(requestContext.tcu_principalID)), "HCP", requestContext.tcu_gln, "TCU", null, HOME_COMMUNITY_ID) def assertion = AssertionUtils.getStringAssertionWithPath(assertionAttributes, keystoreParams) - requestContext.assertion = assertion + requestContext.appliesTo = getAppliesTo(applies_to_exist, holder) + requestContext.assertion = assertion return "Default RequestSecurityTokenResponse" -} else if (g_role == "PADM"){ +} else if (g_role == "PADM") { log.info "Role detected : Policy Administrator" def padm_id_subject = holder["//saml2:Subject/saml2:NameID"] - if (g_purposeOfUse == "NORM"){ + if (g_purposeOfUse == "NORM") { requestContext.g_purposeOfUse = g_purposeOfUse } else { return soapFaultWrongValue("Purpose of use", g_purposeOfUse) } - if (isPresent(padm_id_subject, "Subject ID")){ + if (isDefined(padm_id_subject)) { def padm_gln = getPadmGlnFromNameId(padm_id_subject) - if (padm_gln == null){ + if (padm_gln == null) { return soapFaultWrongValue("Name id in community store", padm_id_subject) } requestContext.padm_gln = padm_gln @@ -407,26 +395,26 @@ if(g_role == "HCP"){ log.info "Generating assertion" def keystoreParams = new KeystoreParams("/opt/gazelle/cert/jboss.jks", "password", "/opt/gazelle/cert/jboss.jks", "password", "jboss", "password") - def assertionAttributes = new AssertionAttributes(requestContext.padm_gln, requestContext.g_EPR_SPIP, "NORM", getPADMNameFromId(padm_id_subject), null, null, "PADM", null, null, null) + def assertionAttributes = new AssertionAttributes(requestContext.padm_gln, requestContext.g_EPR_SPIP, "NORM", getPADMNameFromId(padm_id_subject), null, null, "PADM", null, null, null, HOME_COMMUNITY_ID) def assertion = AssertionUtils.getStringAssertionWithPath(assertionAttributes, keystoreParams); - requestContext.assertion = assertion + requestContext.appliesTo = getAppliesTo(applies_to_exist, holder) + requestContext.assertion = assertion return "Default RequestSecurityTokenResponse" - -} else if (g_role == "DADM"){ +} else if (g_role == "DADM") { log.info "Role detected : Document Administrator" def dadm_id_subject = holder["//saml2:Subject/saml2:NameID"] - if (g_purposeOfUse == "NORM"){ + if (g_purposeOfUse == "NORM") { requestContext.g_purposeOfUse = g_purposeOfUse } else { return soapFaultWrongValue("Purpose of use", g_purposeOfUse) } - if (isPresent(dadm_id_subject, "Subject ID")){ + if (isDefined(dadm_id_subject)) { def dadm_gln = getDadmGlnFromNameId(dadm_id_subject) - if (dadm_gln == null){ + if (dadm_gln == null) { return soapFaultWrongValue("Name id in community store", dadm_id_subject) } requestContext.dadm_gln = dadm_gln @@ -436,29 +424,30 @@ if(g_role == "HCP"){ log.info "Generating assertion" def keystoreParams = new KeystoreParams("/opt/gazelle/cert/jboss.jks", "password", "/opt/gazelle/cert/jboss.jks", "password", "jboss", "password") - def assertionAttributes = new AssertionAttributes(requestContext.dadm_gln, requestContext.g_EPR_SPIP, "NORM", getDADMNameFromId(dadm_id_subject), null, null, g_role, null, null, null) + def assertionAttributes = new AssertionAttributes(requestContext.dadm_gln, requestContext.g_EPR_SPIP, "NORM", getDADMNameFromId(dadm_id_subject), null, null, g_role, null, null, null, HOME_COMMUNITY_ID) def assertion = AssertionUtils.getStringAssertionWithPath(assertionAttributes, keystoreParams); - requestContext.assertion = assertion + requestContext.appliesTo = getAppliesTo(applies_to_exist, holder) + requestContext.assertion = assertion return "Default RequestSecurityTokenResponse" -} else if (g_role == "PAT"){ +} else if (g_role == "PAT") { log.info "Role detected : Patient" def pat_principalID = holder["//wst:Claims/saml2:Attribute[@Name='urn:e-health-suisse:principal-id']/saml2:AttributeValue"] def pat_principalName = holder["//wst:Claims/saml2:Attribute[@Name='urn:e-health-suisse:principal-name']/saml2:AttributeValue"] def pat_id_subject = holder["//saml2:Subject/saml2:NameID"] - if (g_purposeOfUse == "NORM"){ + if (g_purposeOfUse == "NORM") { requestContext.g_purposeOfUse = g_purposeOfUse } else { return soapFaultWrongValue("Purpose of use", g_purposeOfUse) } - if (isPresent(pat_id_subject, "Subject ID")){ + if (isDefined(pat_id_subject)) { log.info "Subject id : " + pat_id_subject requestContext.pat_id_subject = pat_id_subject def patientid_from_nameid = getPatientIdFromNameId(pat_id_subject) - if (patientid_from_nameid == null){ + if (patientid_from_nameid == null) { return soapFaultWrongValue("Name id in community store", pat_id_subject) } requestContext.patientid_from_nameid = patientid_from_nameid @@ -467,33 +456,33 @@ if(g_role == "HCP"){ } - log.info "Generating assertion" def keystoreParams = new KeystoreParams("/opt/gazelle/cert/jboss.jks", "password", "/opt/gazelle/cert/jboss.jks", "password", "jboss", "password") - def assertionAttributes = new AssertionAttributes(requestContext.patientid_from_nameid, requestContext.g_EPR_SPIP, g_purposeOfUse, getPatientNameFromId(requestContext.pat_id_subject), null, null, g_role, null, null, null) + def assertionAttributes = new AssertionAttributes(requestContext.patientid_from_nameid, requestContext.g_EPR_SPIP, g_purposeOfUse, getPatientNameFromId(requestContext.pat_id_subject), null, null, g_role, null, null, null, HOME_COMMUNITY_ID) def assertion = AssertionUtils.getStringAssertionWithPath(assertionAttributes, keystoreParams); - requestContext.assertion = assertion + requestContext.appliesTo = getAppliesTo(applies_to_exist, holder) + requestContext.assertion = assertion return "Default RequestSecurityTokenResponse" -} else if (g_role == "REP"){ +} else if (g_role == "REP") { log.info "Role detected : Representative" def rep_principalID = holder["//wst:Claims/saml2:Attribute[@Name='urn:e-health-suisse:principal-id']/saml2:AttributeValue"] def rep_principalName = holder["//wst:Claims/saml2:Attribute[@Name='urn:e-health-suisse:principal-name']/saml2:AttributeValue"] def rep_id_subject = holder["//saml2:Subject/saml2:NameID"] - if (g_purposeOfUse == "NORM"){ + if (g_purposeOfUse == "NORM") { requestContext.g_purposeOfUse = g_purposeOfUse } else { return soapFaultWrongValue("Purpose of use", g_purposeOfUse) } - if (isPresent(rep_id_subject, "Subject ID")){ + if (isDefined(rep_id_subject)) { log.info "Subject id : " + rep_id_subject requestContext.rep_id_subject = rep_id_subject def patientid_from_nameid = getPatientIdFromNameId(rep_id_subject) - if (patientid_from_nameid == null){ + if (patientid_from_nameid == null) { return soapFaultWrongValue("Name id in community store", rep_id_subject) } requestContext.patientid_from_nameid = patientid_from_nameid @@ -501,15 +490,16 @@ if(g_role == "HCP"){ return soapFaultMissing("Subject ID") } - if (rep_id_subject == null){ + if (rep_id_subject == null) { return soapFaultMissing("Name ID") } log.info "Generating assertion" def keystoreParams = new KeystoreParams("/opt/gazelle/cert/jboss.jks", "password", "/opt/gazelle/cert/jboss.jks", "password", "jboss", "password") - def assertionAttributes = new AssertionAttributes(requestContext.patientid_from_nameid, requestContext.g_EPR_SPIP, g_purposeOfUse, getRepNameFromId(rep_id_subject), null, null, g_role, null, null, null) + def assertionAttributes = new AssertionAttributes(requestContext.patientid_from_nameid, requestContext.g_EPR_SPIP, g_purposeOfUse, getRepNameFromId(rep_id_subject), null, null, g_role, null, null, null, HOME_COMMUNITY_ID) def assertion = AssertionUtils.getStringAssertionWithPath(assertionAttributes, keystoreParams); - requestContext.assertion = assertion + requestContext.appliesTo = getAppliesTo(applies_to_exist, holder) + requestContext.assertion = assertion return "Default RequestSecurityTokenResponse" @@ -525,21 +515,26 @@ if(g_role == "HCP"){ ///////////////////////////////////////// -boolean isPresent(String element, String elementName){ - log.info "To find " + elementName + " with value : " + element.toString() - if(element.toString() != "[]" ){ - if(element.size() > 0){ - log.info elementName + " found : " + element; - return true; - } else { - return false; - } - } - return false; +boolean isDefined(String element) { + return element.toString() != "[]" && element.size() > 0; } -boolean isPresent(String[] element, String elementName){ - return isPresent(element.toString(), elementName); +boolean isDefined(String[] element) { + return isDefined(element.toString()); +} + + +def getAppliesTo(def appliesToExist, def holder) { + if (appliesToExist.contains("true")) { + String appliesToName = holder["//wst:RequestSecurityToken/wsp:AppliesTo/wsa:EndpointReference/wsa:Address"] + return "<wsp:AppliesTo>" + + "<wsa:EndpointReference>" + + "<wsa:Address>" + appliesToName + "</wsa:Address>" + + "</wsa:EndpointReference>" + + "</wsp:AppliesTo>" + } else { + return "" + } } @@ -549,75 +544,92 @@ boolean isPresent(String[] element, String elementName){ ///////////////////////////////////////// //Regex to check PatientId -boolean isValidPatientId(String[] value){ - if(value.toString() == "[]"){ +boolean isValidPatientId(def value) { + if (value == "") { return false; - }else{ + } else { log.info "Check SPID with value : " + value final String regex = "([a-zA-Z0-9]{1,})(\\^{3})([A-Z]{0,})(&|&{1})([0-9\\.]{1,})(&|&{1})(ISO{1})"; final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE); - final Matcher matcher = pattern.matcher(value.toString()); - if (matcher.find()){ + final Matcher matcher = pattern.matcher(value); + if (matcher.find()) { log.info "Id has valid format" return isPatientIdInDataStore(value); - }else{ + } else { return false; } } } -boolean isPatientIdInDataStore(String[] patientId){ - return isInList(patientId[0], getPatientSpidList()); +boolean isPatientIdInDataStore(def patientId) { + return isInList(patientId, getPatientSpidList()); } -boolean isGlnInDataStore(String gln){ +boolean isGlnInDataStore(String gln) { return isInList(gln, getGlnList()); } -boolean isInList(String element, String[] list){ - boolean result = false; - for(String i : list){ - if(i.equals(element)){ - result = true; - break; - } +boolean isInList(def element, def list) { + return list.any { item -> item.equals(element) }; +} + +boolean isValidPurposeOfUse(String purposeOfUse) { + return PurposeOfUse.getCodes().contains(purposeOfUse); +} + +enum PurposeOfUse { + NORMAL("NORM"), + EMERGENCY("EMER"), + AUTOMATIC_PROCESS("AUTO"); + + private String code; + + private PurposeOfUse(String code) { + this.code = code; + } + + String getCode() { + return code; + } + + static String[] getCodes() { + return PurposeOfUse.values().collect { it.getCode() }; } - return result; } -boolean isValidPurposeOfUse(String purposeOfUse){ - log.info "Check purposeOfUse value : " + purposeOfUse.toString() - if (purposeOfUse.toString() == "NORM"){ - return true; - } else if (purposeOfUse.toString() == "EMER"){ - return true; - }else if (purposeOfUse.toString() == "AUTO"){ - return true; - } else { - return false; +enum Role { + PATIENT("PAT"), + HEALTH_CARE_PRO("HCP"), + ASSISTANT("ASS"), + REPRESENTATIVE("REP"), + POLICY_ADMIN("PADM"), + TECHNICAL_USER("TCU"), + DOCUMENT_ADMIN("DADM"); + + private String code; + + private Role(String code) { + this.code = code; + } + + String getCode() { + return code; + } + + static String[] getCodes() { + return Role.values().collect { it.getCode() } + } + + static Role fromCode(String code) { + Role.values().find { it.getCode() == code } } } -String checkRoleCode(String g_role){ - if (g_role == "HCP"){ - return g_role; - } else if (g_role == "PAT"){ - return g_role; - } else if (g_role == "ASS"){ - return g_role; - } else if (g_role == "REP"){ - return g_role; - } else if (g_role == "PADM"){ - return g_role; - } else if (g_role == "TCU"){ - return g_role; - } else if (g_role == "DADM"){ +String checkRoleCode(String g_role) { + if (Role.getCodes().contains(g_role)) { return g_role; } else { - log.info "Invalid role from request"; - requestContext.soapFaultCodeValue = "wst:InvalidRequest"; - requestContext.soapFaultReason = "Invalid role from request"; - return "SoapFault Response"; + return soapFaultWrongValue("Role", g_role) } } @@ -627,17 +639,17 @@ String checkRoleCode(String g_role){ ////////////////SOAP///////////////////// ///////////////////////////////////////// -String soapFaultMissing(String elementName){ +String soapFaultMissing(String elementName) { log.info "Unable to get " + elementName + " from request"; requestContext.soapFaultCodeValue = "wst:InvalidRequest"; requestContext.soapFaultReason = "Unable to get " + elementName + " from request"; return "SoapFault Response"; } -String soapFaultWrongValue(String elementName, String[] value){ - log.info "Wrong value for " + elementName + " from request : " + value; +String soapFaultWrongValue(String elementName, String[] value) { + log.info "Wrong value for " + elementName + " in request : " + value; requestContext.soapFaultCodeValue = "wst:InvalidRequest"; - requestContext.soapFaultReason = "Wrong value for " + elementName + " from request : " + value; + requestContext.soapFaultReason = "Wrong value for " + elementName + " in request : " + value; return "SoapFault Response"; } @@ -652,120 +664,120 @@ String soapFaultWrongValue(String elementName, String[] value){ ///////////////////////////////////////// -String getPatientNameFromId(String pat_id_subject){ - if(pat_id_subject.equals("wwalters")){ +String getPatientNameFromId(String pat_id_subject) { + if (pat_id_subject.equals("wwalters")) { return "William Walters"; } - if(pat_id_subject.equals("bovie")){ + if (pat_id_subject.equals("bovie")) { return "Bergan Ovie"; } - if(pat_id_subject.equals("lavdic")){ + if (pat_id_subject.equals("lavdic")) { return "Léo Gérard Avdic"; } - if(pat_id_subject.equals("maschwanden")){ + if (pat_id_subject.equals("maschwanden")) { return "Marie-Christelle Victoire Aschwanden-Stocker"; } - if(pat_id_subject.equals("gantonyova")){ + if (pat_id_subject.equals("gantonyova")) { return "Gebhard August Antonyova"; } - if(pat_id_subject.equals("aamrein")){ + if (pat_id_subject.equals("aamrein")) { return "Alessandra Monica Amrein-Brunner"; } - if(pat_id_subject.equals("sebibi")){ + if (pat_id_subject.equals("sebibi")) { return "Salome Anja Ebibi-Limani"; } - if(pat_id_subject.equals("negger")){ + if (pat_id_subject.equals("negger")) { return "Nina Robine Egger-Staub"; } - if(pat_id_subject.equals("aerne")){ + if (pat_id_subject.equals("aerne")) { return "Andrea Juliana Erne Cehic"; } - if(pat_id_subject.equals("dozkanturk")){ + if (pat_id_subject.equals("dozkanturk")) { return "Désirée Gabrielle Ôzkantürk"; } - if(pat_id_subject.equals("remery")){ + if (pat_id_subject.equals("remery")) { return "Roman Remo Eméry"; } - if(pat_id_subject.equals("nwittwerchristen")){ + if (pat_id_subject.equals("nwittwerchristen")) { return "Nilesh Wittwer-Christen"; } return null; } -String getPADMNameFromId(String padm_id_subject){ - if(padm_id_subject.equals("icastineira")){ +String getPADMNameFromId(String padm_id_subject) { + if (padm_id_subject.equals("icastineira")) { return "Ivo Castineira"; } return null; } -String getDADMNameFromId(String dadm_id_subject){ - if(dadm_id_subject.equals("kweisskopf")){ +String getDADMNameFromId(String dadm_id_subject) { + if (dadm_id_subject.equals("kweisskopf")) { return "Käthi Weisskopf"; } return null; } -String getRepNameFromId(String rep_id_subject){ +String getRepNameFromId(String rep_id_subject) { return getPatientNameFromId(rep_id_subject); } -String getAssNameFromGLN(String ass_gln){ +String getAssNameFromGLN(String ass_gln) { return getNameFromGln(ass_gln); } -String getGlnFromAssistantId(String assistantId){ - if (assistantId.equals("ltieche")){ +String getGlnFromAssistantId(String assistantId) { + if (assistantId.equals("ltieche")) { return "7601002467158"; - }else if (assistantId.equals("cberger")){ + } else if (assistantId.equals("cberger")) { return "7601002466812"; - }else if (assistantId.equals("travasi")){ + } else if (assistantId.equals("travasi")) { return "7601002462586"; } else { return null; } } -String getTcuGlnFromNameId(String tcu_id_subject){ - if (tcu_id_subject.equals("sbaader")){ +String getTcuGlnFromNameId(String tcu_id_subject) { + if (tcu_id_subject.equals("sbaader")) { return "7601002461111"; } else { return null; } } -String getPadmGlnFromNameId(String padm_id_subject){ - if (padm_id_subject.equals("icastineira")){ +String getPadmGlnFromNameId(String padm_id_subject) { + if (padm_id_subject.equals("icastineira")) { return "7601002468963"; } else { return null; } } -String getDadmGlnFromNameId(String dadm_id_subject){ - if (dadm_id_subject.equals("kweisskopf")){ +String getDadmGlnFromNameId(String dadm_id_subject) { + if (dadm_id_subject.equals("kweisskopf")) { return "7601002467458"; } else { return null; } } -boolean isAssistantAuthorized(String ass_gln, String ass_principalID){ - if(isInList(ass_gln, getGlnAssList())){ +boolean isAssistantAuthorized(String ass_gln, String ass_principalID) { + if (isInList(ass_gln, getGlnAssList())) { switch (ass_principalID) { - case "7601002468282": return true; - case "7601002467373": return true; + case "7601002468282": return true; + case "7601002467373": return true; default: return false; } } return false; } -boolean isTechnicalUserAuthorized(String tcu_id, String ass_principalID){ - if(isInList(tcu_id, getGlnTcuList())){ +boolean isTechnicalUserAuthorized(String tcu_id, String ass_principalID) { + if (isInList(tcu_id, getGlnTcuList())) { switch (ass_principalID) { - case "7601000050717": return true; - case "7601002466565": return true; + case "7601000050717": return true; + case "7601002466565": return true; default: return false; } } @@ -773,7 +785,7 @@ boolean isTechnicalUserAuthorized(String tcu_id, String ass_principalID){ } -String[] getPatientSpidList(){ +String[] getPatientSpidList() { return ["761337610435200998^^^SPID&2.16.756.5.30.1.127.3.10.3&ISO", "761337610435209810^^^SPID&2.16.756.5.30.1.127.3.10.3&ISO", @@ -785,10 +797,34 @@ String[] getPatientSpidList(){ "761337610448027647^^^SPID&2.16.756.5.30.1.127.3.10.3&ISO", "761337610469261945^^^SPID&2.16.756.5.30.1.127.3.10.3&ISO", "761337610510635763^^^SPID&2.16.756.5.30.1.127.3.10.3&ISO", - "761337610433933946^^^SPID&2.16.756.5.30.1.127.3.10.3&ISO"] -} - -String[] getGlnList(){ + "761337610433933946^^^SPID&2.16.756.5.30.1.127.3.10.3&ISO", + "761337610411265456^^^SPID&2.16.756.5.30.1.127.3.10.3&ISO", + "761337610411265789^^^SPID&2.16.756.5.30.1.127.3.10.3&ISO", + "761337610411265777^^^SPID&2.16.756.5.30.1.127.3.10.3&ISO", + "761337610411265304^^^SPID&2.16.756.5.30.1.127.3.10.3&ISO", + "761337610411265888^^^SPID&2.16.756.5.30.1.127.3.10.3&ISO", + "761337610411265222^^^SPID&2.16.756.5.30.1.127.3.10.3&ISO", + "761337610435200998^^^&2.16.756.5.30.1.127.3.10.3&ISO", + "761337610435209810^^^&2.16.756.5.30.1.127.3.10.3&ISO", + "761337610436974489^^^&2.16.756.5.30.1.127.3.10.3&ISO", + "761337610430891416^^^&2.16.756.5.30.1.127.3.10.3&ISO", + "761337610423590456^^^&2.16.756.5.30.1.127.3.10.3&ISO", + "761337610455909127^^^&2.16.756.5.30.1.127.3.10.3&ISO", + "761337610445502987^^^&2.16.756.5.30.1.127.3.10.3&ISO", + "761337610448027647^^^&2.16.756.5.30.1.127.3.10.3&ISO", + "761337610469261945^^^&2.16.756.5.30.1.127.3.10.3&ISO", + "761337610510635763^^^&2.16.756.5.30.1.127.3.10.3&ISO", + "761337610433933946^^^&2.16.756.5.30.1.127.3.10.3&ISO", + "761337610411265456^^^&2.16.756.5.30.1.127.3.10.3&ISO", + "761337610411265789^^^&2.16.756.5.30.1.127.3.10.3&ISO", + "761337610411265777^^^&2.16.756.5.30.1.127.3.10.3&ISO", + "761337610411265304^^^&2.16.756.5.30.1.127.3.10.3&ISO", + "761337610411265888^^^&2.16.756.5.30.1.127.3.10.3&ISO", + "761337610411265222^^^&2.16.756.5.30.1.127.3.10.3&ISO"] + +} + +String[] getGlnList() { return ["7601000050717", "7601002033572", "7601002469191", @@ -797,124 +833,130 @@ String[] getGlnList(){ "7601002466565"] } -String[] getGlnAssList(){ +String[] getGlnAssList() { return ["7601002467158", "7601002466812", "7601002462586"] } -String[] getGlnTcuList(){ +String[] getGlnTcuList() { return ["7601002461111"] } -String getGroupIdFromFromHcpGln(String hcp_gln){ - if (hcp_gln.equals("7601000050717")){ - return null; - }else if (hcp_gln.equals("7601002033572")){ - return null; - }else if (hcp_gln.equals("7601002469191")){ +String getGroupIdFromHcpGln(String hcp_gln) { + if (hcp_gln.equals("7601000050717")) { + return "urn:oid:2.16.10.89.211"; + } else if (hcp_gln.equals("7601002033572")) { return "urn:oid:2.16.10.89.211"; - }else if (hcp_gln.equals("7601002467373")){ + } else if (hcp_gln.equals("7601002469191")) { + return "urn:oid:2.16.10.89.211"; + } else if (hcp_gln.equals("7601002467373")) { return "urn:oid:2.16.10.89.211" - }else if (hcp_gln.equals("7601002468282")){ + } else if (hcp_gln.equals("7601002468282")) { return "urn:oid:2.16.10.89.211" - }else if (hcp_gln.equals("7601002466565")){ + } else if (hcp_gln.equals("7601002466565")) { return "urn:oid:2.16.10.89.211" - }else { + } else { return null; } } -String getOrganizationNameFromId(String id){ - if (id.equals("urn:oid:2.16.10.89.211")){ +String getOrganizationNameFromId(String id) { + if (id.equals("urn:oid:2.16.10.89.211")) { return "Spital Y"; } else { return null; } } -String getNameFromGln(String hcp_gln){ +String getNameFromGln(String hcp_gln) { //HCP - if (hcp_gln.equals("7601000050717")){ + if (hcp_gln.equals("7601000050717")) { return "Marc Loris Agpar"; - }else if (hcp_gln.equals("7601002033572")){ + } else if (hcp_gln.equals("7601002033572")) { return "Rose Spieler"; - }else if (hcp_gln.equals("7601002469191")){ + } else if (hcp_gln.equals("7601002469191")) { return "Ann Andrews"; - }else if (hcp_gln.equals("7601002467373")){ + } else if (hcp_gln.equals("7601002467373")) { return "Richard Reynolds" - }else if (hcp_gln.equals("7601002468282")){ + } else if (hcp_gln.equals("7601002468282")) { return "Camille Bouchard"; - }else if (hcp_gln.equals("7601002466565")){ + } else if (hcp_gln.equals("7601002466565")) { return "Matthew Marston"; //ASS - }else if (hcp_gln.equals("7601002467158")){ + } else if (hcp_gln.equals("7601002467158")) { return "Lara Tièche"; - }else if (hcp_gln.equals("7601002466812")){ + } else if (hcp_gln.equals("7601002466812")) { return "Cihan Berger"; - }else if (hcp_gln.equals("7601002462586")){ + } else if (hcp_gln.equals("7601002462586")) { return "Taulant Ravasi"; - }else { + } else { return null; } } -String getGlnFromNameId(String hcp_id_subject){ - if (hcp_id_subject.equals("magpar")){ +String getGlnFromNameId(String hcp_id_subject) { + if (hcp_id_subject.equals("magpar")) { return "7601000050717"; - }else if (hcp_id_subject.equals("rspieler")){ + } else if (hcp_id_subject.equals("rspieler")) { return "7601002033572"; - }else if (hcp_id_subject.equals("aandrews")){ + } else if (hcp_id_subject.equals("aandrews")) { return "7601002469191"; - }else if (hcp_id_subject.equals("rreynolds")){ + } else if (hcp_id_subject.equals("rreynolds")) { return "7601002467373" - }else if (hcp_id_subject.equals("cbouchard")){ + } else if (hcp_id_subject.equals("cbouchard")) { return "7601002468282"; - }else if (hcp_id_subject.equals("mmarston")){ + } else if (hcp_id_subject.equals("mmarston")) { return "7601002466565"; - }else { + } else { return null; } } -String getPatientIdFromNameId(String pat_id_subject){ +String getPatientIdFromNameId(String pat_id_subject) { - if(pat_id_subject.equals("wwalters")){ + if (pat_id_subject.equals("wwalters")) { return "761337610435200998"; } - if(pat_id_subject.equals("bovie")){ + if (pat_id_subject.equals("bovie")) { return "761337610435209810"; } - if(pat_id_subject.equals("lavdic")){ + if (pat_id_subject.equals("lavdic")) { return "761337610436974489"; } - if(pat_id_subject.equals("maschwanden")){ + if (pat_id_subject.equals("maschwanden")) { return "761337610430891416"; } - if(pat_id_subject.equals("gantonyova")){ + if (pat_id_subject.equals("gantonyova")) { return "761337610423590456"; } - if(pat_id_subject.equals("aamrein")){ + if (pat_id_subject.equals("aamrein")) { return "761337610455909127"; } - if(pat_id_subject.equals("sebibi")){ + if (pat_id_subject.equals("sebibi")) { return "761337610445502987"; } - if(pat_id_subject.equals("negger")){ + if (pat_id_subject.equals("negger")) { return "761337610448027647"; } - if(pat_id_subject.equals("aerne")){ + if (pat_id_subject.equals("aerne")) { return "761337610469261945"; } - if(pat_id_subject.equals("dozkanturk")){ + if (pat_id_subject.equals("dozkanturk")) { return "761337610510635763"; } - if(pat_id_subject.equals("remery")){ + if (pat_id_subject.equals("remery")) { return "761337610433933946"; } - if(pat_id_subject.equals("nwittwerchristen")){ + if (pat_id_subject.equals("nwittwerchristen")) { return "761337610411265304"; } + if (pat_id_subject.equals("rregez")) { + return "761337610411265777"; + } + if (pat_id_subject.equals("ftenaglia")) { + return "761337610411265456"; + } return null; } diff --git a/assertion-provider/soapui/epr-assertion-provider-soapui-project.xml b/assertion-provider/soapui/epr-assertion-provider-soapui-project.xml index 598b9ac..c7d962a 100755 --- a/assertion-provider/soapui/epr-assertion-provider-soapui-project.xml +++ b/assertion-provider/soapui/epr-assertion-provider-soapui-project.xml @@ -1511,7 +1511,15 @@ declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; declare namespace wsa='http://www.w3.org/2005/08/addressing'; -boolean(//wst:RequestSecurityTokenResponse/wsp:AppliesTo)</path><content>true</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:testStep type="request" id="858bb3db-0ac5-4b2f-8405-b395e2a95eeb" name="NoAppliesTo Request"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>STSBinding</con:interface><con:operation>Issue</con:operation><con:request name="NoAppliesTo Request" outgoingWss="" incomingWss="" timeout="" sslKeystore="" useWsAddressing="true" useWsReliableMessaging="false" id="679d289c-3fa3-4bc4-95a8-a1a6f835ebfc"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers"><xml-fragment/></con:setting><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@strip-whitespaces">true</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>${#TestSuite#testEndpoint}</con:endpoint><con:request><![CDATA[<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:S12="http://www.w3.org/2003/05/soap-envelope" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:wst="http://docs.oasis-open.org/ws-sx/ws-trust/200512" xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"> +boolean(//wst:RequestSecurityTokenResponse/wsp:AppliesTo)</path><content>true</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:assertion type="XPath Match" id="85bb8009-07fc-42e3-bc3c-e5256d1b5b94" name="XPath homeCommunityId"><con:configuration><path>declare namespace saml2='urn:oasis:names:tc:SAML:2.0:assertion'; +declare namespace wsp='http://schemas.xmlsoap.org/ws/2004/09/policy'; +declare namespace xs='http://www.w3.org/2001/XMLSchema'; +declare namespace wsa='http://www.w3.org/2005/08/addressing'; +declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; +declare namespace ds='http://www.w3.org/2000/09/xmldsig#'; +declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; +declare namespace ns1='urn:hl7-org:v3'; +//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:testStep type="request" id="858bb3db-0ac5-4b2f-8405-b395e2a95eeb" name="NoAppliesTo Request"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>STSBinding</con:interface><con:operation>Issue</con:operation><con:request name="NoAppliesTo Request" outgoingWss="" incomingWss="" timeout="" sslKeystore="" useWsAddressing="true" useWsReliableMessaging="false" id="679d289c-3fa3-4bc4-95a8-a1a6f835ebfc"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers"><xml-fragment/></con:setting><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@strip-whitespaces">true</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>${#TestSuite#testEndpoint}</con:endpoint><con:request><![CDATA[<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:S12="http://www.w3.org/2003/05/soap-envelope" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:wst="http://docs.oasis-open.org/ws-sx/ws-trust/200512" xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"> <soap:Header xmlns:wsa="http://www.w3.org/2005/08/addressing"> <wsse:Security> <wsu:Timestamp wsu:Id="id-06540FF6159365931114525933973941"> @@ -1634,7 +1642,15 @@ declare namespace xs='http://www.w3.org/2001/XMLSchema'; declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; -boolean(//wst:RequestSecurityTokenResponse/wst:AppliesTo)</path><content>false</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties/></con:testCase><con:testCase id="b2b67bb7-d32b-4e92-a689-1db07431cc19" failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="InvalidIssueTestCase" searchProperties="true"><con:settings/><con:testStep type="request" name="HP_short_patientID" id="d7047da1-eddc-49c5-99fd-bf84e413eb2c"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>STSBinding</con:interface><con:operation>Issue</con:operation><con:request name="HP_short_patientID" id="34046b99-5ad5-4cee-b323-f3668dc01658"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers"><xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>${#TestSuite#testEndpoint}</con:endpoint><con:request><![CDATA[<?xml version="1.0" encoding="UTF-8"?> +boolean(//wst:RequestSecurityTokenResponse/wst:AppliesTo)</path><content>false</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:assertion type="XPath Match" id="f1ae4454-4914-4fc2-9570-6301825540bd" name="XPath homeCommunityID"><con:configuration><path>declare namespace saml2='urn:oasis:names:tc:SAML:2.0:assertion'; +declare namespace wsp='http://schemas.xmlsoap.org/ws/2004/09/policy'; +declare namespace xs='http://www.w3.org/2001/XMLSchema'; +declare namespace wsa='http://www.w3.org/2005/08/addressing'; +declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; +declare namespace ds='http://www.w3.org/2000/09/xmldsig#'; +declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; +declare namespace ns1='urn:hl7-org:v3'; +//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties/></con:testCase><con:testCase id="b2b67bb7-d32b-4e92-a689-1db07431cc19" failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="InvalidIssueTestCase" searchProperties="true"><con:settings/><con:testStep type="request" name="HP_short_patientID" id="d7047da1-eddc-49c5-99fd-bf84e413eb2c"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>STSBinding</con:interface><con:operation>Issue</con:operation><con:request name="HP_short_patientID" id="34046b99-5ad5-4cee-b323-f3668dc01658"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers"><xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>${#TestSuite#testEndpoint}</con:endpoint><con:request><![CDATA[<?xml version="1.0" encoding="UTF-8"?> <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <wsa:To xmlns:wsa="http://www.w3.org/2005/08/addressing">https://ehealthsuisse.ihe-europe.net/STS?wsdl</wsa:To> @@ -1781,7 +1797,7 @@ cvkZwq/lWFuKZU3EpUatnjWXiL3YAOfI7FIwP8lVZLiMcVP0ICBqUQQJrEEzOzAUBANJ1Ix1You5 </wst:Claims> </wst:RequestSecurityToken> </env:Body> -</env:Envelope>]]></con:request><con:assertion type="SOAP Response" id="ab2eebe7-cfb1-4734-9278-37df6e3a6c3c"/><con:assertion type="Simple Contains" id="76557e98-1e5f-45f0-ab99-84baa1dab151" name="Contains"><con:configuration><token>Wrong value for Resource ID from request</token><ignoreCase>false</ignoreCase><useRegEx>false</useRegEx></con:configuration></con:assertion><con:credentials><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties/></con:testCase><con:testCase id="dd06ed7a-26ff-4800-840d-e1d3cddaa2d0" failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="AppliesToIssueTestCase" searchProperties="true"><con:settings/><con:testStep type="request" id="4a999a4f-764e-4dda-bed9-2f4dc85116ef" name="AppliesTo Request"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>STSBinding</con:interface><con:operation>Issue</con:operation><con:request name="AppliesTo Request" outgoingWss="" incomingWss="" timeout="" sslKeystore="jboss.jks" useWsAddressing="true" useWsReliableMessaging="false" id="679d289c-3fa3-4bc4-95a8-a1a6f835ebfc"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers"><xml-fragment/></con:setting><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@strip-whitespaces">true</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>${#TestSuite#testEndpoint}</con:endpoint><con:request><![CDATA[<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:S12="http://www.w3.org/2003/05/soap-envelope" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:wst="http://docs.oasis-open.org/ws-sx/ws-trust/200512" xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"> +</env:Envelope>]]></con:request><con:assertion type="SOAP Response" id="ab2eebe7-cfb1-4734-9278-37df6e3a6c3c"/><con:assertion type="Simple Contains" id="76557e98-1e5f-45f0-ab99-84baa1dab151" name="Contains"><con:configuration><token>Wrong value for Resource ID in request</token><ignoreCase>false</ignoreCase><useRegEx>false</useRegEx></con:configuration></con:assertion><con:credentials><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties/></con:testCase><con:testCase id="dd06ed7a-26ff-4800-840d-e1d3cddaa2d0" failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="AppliesToIssueTestCase" searchProperties="true"><con:settings/><con:testStep type="request" id="4a999a4f-764e-4dda-bed9-2f4dc85116ef" name="AppliesTo Request"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>STSBinding</con:interface><con:operation>Issue</con:operation><con:request name="AppliesTo Request" outgoingWss="" incomingWss="" timeout="" sslKeystore="jboss.jks" useWsAddressing="true" useWsReliableMessaging="false" id="679d289c-3fa3-4bc4-95a8-a1a6f835ebfc"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers"><xml-fragment/></con:setting><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@strip-whitespaces">true</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>${#TestSuite#testEndpoint}</con:endpoint><con:request><![CDATA[<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:S12="http://www.w3.org/2003/05/soap-envelope" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:wst="http://docs.oasis-open.org/ws-sx/ws-trust/200512" xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"> <soap:Header> <wsse:Security> <wsu:Timestamp wsu:Id="id-06540FF6159365931114525933973941"> @@ -2122,7 +2138,7 @@ declare namespace ns2='urn:h7-org:v3'; declare namespace xs='http://www.w3.org/2001/XMLSchema'; declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; -boolean(//wst:RequestSecurityTokenResponseCollection/wst:RequestSecurityTokenResponse/wst:RequestedSecurityToken/saml2:Assertion)</path><content>true</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:assertion type="XPath Match" id="113e70b1-be26-4969-9c7d-1a240a76efff" name="XPath match AppliesTo"><con:configuration><path>declare namespace ns1='http://www.w3.org/2001/XMLSchema'; +boolean(//wst:RequestSecurityTokenResponseCollection/wst:RequestSecurityTokenResponse/wst:RequestedSecurityToken/saml2:Assertion)</path><content>true</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:assertion type="XPath Match" id="113e70b1-be26-4969-9c7d-1a240a76efff" name="XPath Match AppliesTo"><con:configuration><path>declare namespace ns1='http://www.w3.org/2001/XMLSchema'; declare namespace saml2='urn:oasis:names:tc:SAML:2.0:assertion'; declare namespace ns2='urn:h7-org:v3'; declare namespace xs='http://www.w3.org/2001/XMLSchema'; @@ -2131,20 +2147,28 @@ declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; declare namespace wsa='http://www.w3.org/2005/08/addressing'; -boolean(//wst:RequestSecurityTokenResponse/wsp:AppliesTo)</path><content>true</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20200916145254198</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2020-09-16T14:52:54.198Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ +boolean(//wst:RequestSecurityTokenResponse/wsp:AppliesTo)</path><content>true</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:assertion type="XPath Match" id="5f40fc0d-fb23-47e1-9a96-d80c9ed8a80d" name="XPath Match homeCommunityID"><con:configuration><path>declare namespace saml2='urn:oasis:names:tc:SAML:2.0:assertion'; +declare namespace wsp='http://schemas.xmlsoap.org/ws/2004/09/policy'; +declare namespace xs='http://www.w3.org/2001/XMLSchema'; +declare namespace wsa='http://www.w3.org/2005/08/addressing'; +declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; +declare namespace ds='http://www.w3.org/2000/09/xmldsig#'; +declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; +declare namespace ns1='urn:hl7-org:v3'; +//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210630121642025</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-06-30T12:16:42.025Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ <saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" - ID="_77d2254c8abf622ee633ffa5488f2593" - IssueInstant="2020-09-16T14:52:54.332Z" + ID="_fb2405ecd022b03e6ea9bd2da0754517" + IssueInstant="2021-06-30T12:16:42.602Z" Version="2.0"> <saml2:Issuer>https://ehealthsuisse.ihe-europe.net/idp/shibboleth</saml2:Issuer> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"/> - <ds:Reference URI="#_77d2254c8abf622ee633ffa5488f2593"> + <ds:Reference URI="#_fb2405ecd022b03e6ea9bd2da0754517"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> @@ -2152,12 +2176,12 @@ boolean(//wst:RequestSecurityTokenResponse/wsp:AppliesTo)</path><content>true</c </ds:Transform> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> - <ds:DigestValue>/LOcUnq2YxyqSWhaPW4JnHNw4CsDPab+2XsUPT/volI=</ds:DigestValue> + <ds:DigestValue>tGtmwuoIIZ2x+PxLpP/90dNx0931BF786wQZ4QR0Itw=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> - <ds:SignatureValue>ZpbyyGKXZ+v9J3EK2uOzmIBy5ElH60Yg+jLdmx9/lD9CC9+mdSpmGfW8sEcbHV6LJ2nnbToE+z4T -TFGx9wrPKVOqUKslpzlyCK9HZIJ4om3H6gP5p+t9Nh7C4dbDLRibLbF/nJuf0Y07eRnw7Iwc6ZWo -IRY0XrkUNM1DPMR80F0=</ds:SignatureValue> + <ds:SignatureValue>EHKn5mVkwgG9biG8pi7QuvbLzcBXdwJWFe9iQauVBQorGEEGpis0SBfRV7Okvtq4h8JLx15jsood +maczLAisNDmnbeoxw7ULLCDpynNNuNrilHY1Y0/iBhUxexWeTAhP6F7CsJ+EpevQtpxMIk8h+ah1 +b/zTg2FK+DIImRgZDPo=</ds:SignatureValue> <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate>MIIDjTCCAvagAwIBAgICAI0wDQYJKoZIhvcNAQENBQAwRTELMAkGA1UEBhMCQ0gxDDAKBgNVBAoM @@ -2185,18 +2209,18 @@ ew==</ds:X509Certificate> NameQualifier="https://ehealthsuisse.ihe-europe.net/idp/shibboleth" SPNameQualifier="https://sp-clone.ihe-europe.net/shibboleth">aandrews</saml2:NameID> <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> - <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20200916145254198" - NotOnOrAfter="2020-09-16T14:57:54.336Z" + <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210630121642025" + NotOnOrAfter="2021-06-30T12:21:42.607Z" Recipient="https://sp-clone.ihe-europe.net/Shibboleth.sso/SAML2/ECP"/> </saml2:SubjectConfirmation> </saml2:Subject> - <saml2:Conditions NotBefore="2020-09-16T14:52:54.332Z" NotOnOrAfter="2020-09-16T14:57:54.332Z"> + <saml2:Conditions NotBefore="2021-06-30T12:16:42.602Z" NotOnOrAfter="2021-06-30T12:21:42.602Z"> <saml2:AudienceRestriction> <saml2:Audience>https://sp-clone.ihe-europe.net/shibboleth</saml2:Audience> </saml2:AudienceRestriction> </saml2:Conditions> - <saml2:AuthnStatement AuthnInstant="2020-09-16T14:52:54.327Z" - SessionIndex="_b5204e80292bbeb468fd432a414e2d0c"> + <saml2:AuthnStatement AuthnInstant="2021-06-30T12:16:42.596Z" + SessionIndex="_58e9e807809c7ec01be03afdf5d4fdb8"> <saml2:SubjectLocality Address="127.0.0.1"/> <saml2:AuthnContext> <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef> @@ -2236,21 +2260,21 @@ ew==</ds:X509Certificate> </saml2:AttributeStatement> </saml2:Assertion>]]></con:value></con:property></con:properties></con:testCase><con:testCase id="8490ccbb-39a9-42ea-b7b5-a3366a908e37" failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="Patient authentication and XUA" searchProperties="true"><con:settings/><con:testStep type="groovy" name="Groovy Script" id="1dc9ef7b-2171-42b0-8a6b-057627f97754"><con:settings/><con:config><script> - def project = testRunner.testCase.testSuite.project - def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context ) +def project = testRunner.testCase.testSuite.project +def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context ) - // =================== Generate Unique_Number =================== +// =================== Generate Unique_Number =================== - def now = new Date() - def Unique_Number = now.format("yyyyMMddHHmmssSSS", TimeZone.getTimeZone('UTC')) - testRunner.testCase.setPropertyValue("Unique_Number", Unique_Number) +def now = new Date() +def Unique_Number = now.format("yyyyMMddHHmmssSSS", TimeZone.getTimeZone('UTC')) +testRunner.testCase.setPropertyValue("Unique_Number", Unique_Number) - - // =================== Generate timeStamp =================== - - def timeStamp= now.format("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", TimeZone.getTimeZone('UTC')) - testRunner.testCase.setPropertyValue("timeStamp", timeStamp) + +// =================== Generate timeStamp =================== + +def timeStamp= now.format("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", TimeZone.getTimeZone('UTC')) +testRunner.testCase.setPropertyValue("timeStamp", timeStamp) </script></con:config></con:testStep><con:testStep type="request" name="IDP_authentication" id="904f4c4d-b13a-4c74-ad6a-7329ccd655db"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>STSBinding</con:interface><con:operation>Issue</con:operation><con:request name="IDP_authentication" id="c3009509-c3ca-4668-8366-effa1e51ae16"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers"><entry key="Content-Type" value="text/xml" xmlns="http://eviware.com/soapui/config"/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>${#TestSuite#endPointIDP}</con:endpoint><con:request><![CDATA[<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"> <S:Body> @@ -2336,20 +2360,28 @@ declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; declare namespace wsa='http://www.w3.org/2005/08/addressing'; -boolean(//wst:RequestSecurityTokenResponse/wsp:AppliesTo)</path><content>true</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20200916145254671</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2020-09-16T14:52:54.671Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ +boolean(//wst:RequestSecurityTokenResponse/wsp:AppliesTo)</path><content>true</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:assertion type="XPath Match" id="0d5c9996-0633-4573-b85d-5fd18415cc85" name="XPath Match homeCommunityID"><con:configuration><path>declare namespace saml2='urn:oasis:names:tc:SAML:2.0:assertion'; +declare namespace wsp='http://schemas.xmlsoap.org/ws/2004/09/policy'; +declare namespace xs='http://www.w3.org/2001/XMLSchema'; +declare namespace wsa='http://www.w3.org/2005/08/addressing'; +declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; +declare namespace ds='http://www.w3.org/2000/09/xmldsig#'; +declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; +declare namespace ns1='urn:hl7-org:v3'; +//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210630121642780</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-06-30T12:16:42.780Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ <saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" - ID="_af97895ffcbd3cbb883911c831a00db7" - IssueInstant="2020-09-16T14:52:54.769Z" + ID="_064c509230b4a4caff34bbf4f1894491" + IssueInstant="2021-06-30T12:16:43.171Z" Version="2.0"> <saml2:Issuer>https://ehealthsuisse.ihe-europe.net/idp/shibboleth</saml2:Issuer> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"/> - <ds:Reference URI="#_af97895ffcbd3cbb883911c831a00db7"> + <ds:Reference URI="#_064c509230b4a4caff34bbf4f1894491"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> @@ -2357,12 +2389,12 @@ boolean(//wst:RequestSecurityTokenResponse/wsp:AppliesTo)</path><content>true</c </ds:Transform> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> - <ds:DigestValue>uC0t0lTmQSHwgsDpxR/r0FvJtqn83T2INx6XX/ILVuQ=</ds:DigestValue> + <ds:DigestValue>QmtP5Dralz97TNb1eumZv3qswdsZ6iSalXIsnL0RhU0=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> - <ds:SignatureValue>YcyV7TrOFc7ZWX8iJGQtfJN1e9th4UefO3BLgfCIP2/ExeGFAIVBx/SZA03gGSAPsBVo/uh1gRy0 -UQR9A5CZrQtCZFctMUB+s8V3lc3MRxi2bjSzR7nRkdvOYMsiU5iuJiivlwpvZt3vqfaEC5t4H1lN -jA/UnP4uFpuDp0seuWo=</ds:SignatureValue> + <ds:SignatureValue>dZhvbprr/RaABiE76xTcLw0EUjsuwfx1jtkv3Rx7qTa2YI3CG9VEA3VIvCf08E4QpCLmCBOjk5pO +wNFnCcIRweAnojWJD3e9gvQN11VJ7F3KXTR4rJKB8MFVncwkMKEwcSKEipIjeQ2oK2428xqKf6jX +jcd97lL0tIGrUNokeLw=</ds:SignatureValue> <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate>MIIDjTCCAvagAwIBAgICAI0wDQYJKoZIhvcNAQENBQAwRTELMAkGA1UEBhMCQ0gxDDAKBgNVBAoM @@ -2390,18 +2422,18 @@ ew==</ds:X509Certificate> NameQualifier="https://ehealthsuisse.ihe-europe.net/idp/shibboleth" SPNameQualifier="https://sp-clone.ihe-europe.net/shibboleth">nwittwerchristen</saml2:NameID> <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> - <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20200916145254671" - NotOnOrAfter="2020-09-16T14:57:54.774Z" + <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210630121642780" + NotOnOrAfter="2021-06-30T12:21:43.176Z" Recipient="https://sp-clone.ihe-europe.net/Shibboleth.sso/SAML2/ECP"/> </saml2:SubjectConfirmation> </saml2:Subject> - <saml2:Conditions NotBefore="2020-09-16T14:52:54.769Z" NotOnOrAfter="2020-09-16T14:57:54.769Z"> + <saml2:Conditions NotBefore="2021-06-30T12:16:43.171Z" NotOnOrAfter="2021-06-30T12:21:43.171Z"> <saml2:AudienceRestriction> <saml2:Audience>https://sp-clone.ihe-europe.net/shibboleth</saml2:Audience> </saml2:AudienceRestriction> </saml2:Conditions> - <saml2:AuthnStatement AuthnInstant="2020-09-16T14:52:54.764Z" - SessionIndex="_2983fa4472a5fc565d0a9559462fe201"> + <saml2:AuthnStatement AuthnInstant="2021-06-30T12:16:43.164Z" + SessionIndex="_526fa0f90d68a8e76261b4e2bb40605e"> <saml2:SubjectLocality Address="127.0.0.1"/> <saml2:AuthnContext> <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef> @@ -2426,7 +2458,7 @@ ew==</ds:X509Certificate> <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">Wittwer-Christen</saml2:AttributeValue> </saml2:Attribute> </saml2:AttributeStatement> - </saml2:Assertion>]]></con:value></con:property></con:properties></con:testCase><con:testCase id="c7cb7bab-37d6-4fab-8eed-d39c23216805" failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="Assitant authentication and XUA" searchProperties="true"><con:settings/><con:testStep type="groovy" name="Groovy Script" id="753b0c54-def0-4ba9-bdce-126f3605c4ea"><con:settings/><con:config><script> + </saml2:Assertion>]]></con:value></con:property></con:properties></con:testCase><con:testCase id="c7cb7bab-37d6-4fab-8eed-d39c23216805" failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="Assistant authentication and XUA" searchProperties="true"><con:settings/><con:testStep type="groovy" name="Groovy Script" id="753b0c54-def0-4ba9-bdce-126f3605c4ea"><con:settings/><con:config><script> def project = testRunner.testCase.testSuite.project def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context ) @@ -2528,20 +2560,28 @@ declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; declare namespace wsa='http://www.w3.org/2005/08/addressing'; -boolean(//wst:RequestSecurityTokenResponse/wsp:AppliesTo)</path><content>true</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20200916145255040</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2020-09-16T14:52:55.040Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ +boolean(//wst:RequestSecurityTokenResponse/wsp:AppliesTo)</path><content>true</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:assertion type="XPath Match" id="e5659120-4267-4080-ab72-0307c321ea03" name="XPath Match homeCommunityID"><con:configuration><path>declare namespace saml2='urn:oasis:names:tc:SAML:2.0:assertion'; +declare namespace wsp='http://schemas.xmlsoap.org/ws/2004/09/policy'; +declare namespace xs='http://www.w3.org/2001/XMLSchema'; +declare namespace wsa='http://www.w3.org/2005/08/addressing'; +declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; +declare namespace ds='http://www.w3.org/2000/09/xmldsig#'; +declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; +declare namespace ns1='urn:hl7-org:v3'; +//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210630121643137</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-06-30T12:16:43.137Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ <saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" - ID="_e4dd9c32f4796d21ba2ce454eb2a642f" - IssueInstant="2020-09-16T14:52:55.139Z" + ID="_95c425476e51c3d116831571ee0dd713" + IssueInstant="2021-06-30T12:16:43.533Z" Version="2.0"> <saml2:Issuer>https://ehealthsuisse.ihe-europe.net/idp/shibboleth</saml2:Issuer> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"/> - <ds:Reference URI="#_e4dd9c32f4796d21ba2ce454eb2a642f"> + <ds:Reference URI="#_95c425476e51c3d116831571ee0dd713"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> @@ -2549,12 +2589,12 @@ boolean(//wst:RequestSecurityTokenResponse/wsp:AppliesTo)</path><content>true</c </ds:Transform> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> - <ds:DigestValue>wPga47lhFLSXCrm+kHz7UwE7AuC/Rc+YIdCHbNAJCNE=</ds:DigestValue> + <ds:DigestValue>STa0aw6vKXKphKRmYsQqSe8HTE0KJvHjZSCQGDAz8yI=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> - <ds:SignatureValue>MksRm1d0ZEXrVR0qvI9v5uVepee9TVIhJD7dUEFgGCWoQx/YmyeOZ+Tg2PkQ9tPyFn/fmiCarlgy -/zPm2M7ceYvKxuH1oZw6ZzRcnon6WiDT/iVSUvCNaMZkCpe58bWMCDRPebuN1Nk1nbefiR8LeSEn -qVkj/O7wE//IMZOA+lI=</ds:SignatureValue> + <ds:SignatureValue>X74zl9RPSKIzQ7lQ3lmfuIMXUzfGIVlK98EVx4BNZVYGM+0g6jU9ndWGIN/8KJOZPo9UsDdA8Ark +zeFTvEIpoKJOIJ0ZdOw33/l05bIgeWSRPLmBOvY2Wt1kzQ1ck0vva2EH8ecmwEZml39D5r75f75N +wteC6T12RyM/QqZSjKc=</ds:SignatureValue> <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate>MIIDjTCCAvagAwIBAgICAI0wDQYJKoZIhvcNAQENBQAwRTELMAkGA1UEBhMCQ0gxDDAKBgNVBAoM @@ -2582,18 +2622,18 @@ ew==</ds:X509Certificate> NameQualifier="https://ehealthsuisse.ihe-europe.net/idp/shibboleth" SPNameQualifier="https://sp-clone.ihe-europe.net/shibboleth">ltieche</saml2:NameID> <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> - <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20200916145255040" - NotOnOrAfter="2020-09-16T14:57:55.144Z" + <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210630121643137" + NotOnOrAfter="2021-06-30T12:21:43.538Z" Recipient="https://sp-clone.ihe-europe.net/Shibboleth.sso/SAML2/ECP"/> </saml2:SubjectConfirmation> </saml2:Subject> - <saml2:Conditions NotBefore="2020-09-16T14:52:55.139Z" NotOnOrAfter="2020-09-16T14:57:55.139Z"> + <saml2:Conditions NotBefore="2021-06-30T12:16:43.533Z" NotOnOrAfter="2021-06-30T12:21:43.533Z"> <saml2:AudienceRestriction> <saml2:Audience>https://sp-clone.ihe-europe.net/shibboleth</saml2:Audience> </saml2:AudienceRestriction> </saml2:Conditions> - <saml2:AuthnStatement AuthnInstant="2020-09-16T14:52:55.134Z" - SessionIndex="_625fb0a6ddc1e705304ca7b10f4ee26c"> + <saml2:AuthnStatement AuthnInstant="2021-06-30T12:16:43.526Z" + SessionIndex="_05a36b307493868ad9a7aacdb0a4dda5"> <saml2:SubjectLocality Address="127.0.0.1"/> <saml2:AuthnContext> <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef> @@ -2733,20 +2773,28 @@ declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; declare namespace wsa='http://www.w3.org/2005/08/addressing'; -boolean(//wst:RequestSecurityTokenResponse/wsp:AppliesTo)</path><content>true</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20200916145255388</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2020-09-16T14:52:55.388Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ +boolean(//wst:RequestSecurityTokenResponse/wsp:AppliesTo)</path><content>true</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:assertion type="XPath Match" id="339c4e58-6754-459e-9be7-8af4abb834b0" name="XPath Match homeCommunityID"><con:configuration><path>declare namespace saml2='urn:oasis:names:tc:SAML:2.0:assertion'; +declare namespace wsp='http://schemas.xmlsoap.org/ws/2004/09/policy'; +declare namespace xs='http://www.w3.org/2001/XMLSchema'; +declare namespace wsa='http://www.w3.org/2005/08/addressing'; +declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; +declare namespace ds='http://www.w3.org/2000/09/xmldsig#'; +declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; +declare namespace ns1='urn:hl7-org:v3'; +//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210630121643495</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-06-30T12:16:43.495Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ <saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" - ID="_8842613bd30ed85b86c1e0e25c36052b" - IssueInstant="2020-09-16T14:52:55.484Z" + ID="_e0e12097485a013dbbea0634cbc3d093" + IssueInstant="2021-06-30T12:16:43.889Z" Version="2.0"> <saml2:Issuer>https://ehealthsuisse.ihe-europe.net/idp/shibboleth</saml2:Issuer> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"/> - <ds:Reference URI="#_8842613bd30ed85b86c1e0e25c36052b"> + <ds:Reference URI="#_e0e12097485a013dbbea0634cbc3d093"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> @@ -2754,12 +2802,12 @@ boolean(//wst:RequestSecurityTokenResponse/wsp:AppliesTo)</path><content>true</c </ds:Transform> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> - <ds:DigestValue>Ki0kfsHVhdA5TuNzWkCRir8oNnCISNvyrkqE4LZuOSQ=</ds:DigestValue> + <ds:DigestValue>0FhMhWzYr2SSgGf9A7oZfus5GKui67X31uRumH3mbnQ=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> - <ds:SignatureValue>PcBqEZ5rmw+ZQ9pxQ01TDh5wMOm+W9ZA8iBe/pOwZJWEr++X6/m8Z8LrghLtN1AY6Jdnh2UHXY/K -xjMxy4tgdOSzSwd6yrrhGgabRmjaUYim2D20Rz5I9yQ1Pyl5Mh3iGg7q/MgBHasLiRf3YBFHR3Lz -UfSTGjYcFhRS8Qvl4jY=</ds:SignatureValue> + <ds:SignatureValue>B6iqJp8PY2GDfydEDIad/Burl1DiwNGTT95GueSbzr7VHAD1bQvfZ7g+5C7uUgzy41AX0s4YDRzP +kn7AMzRIqu4rrPunFCT8qMNcL0DLsDr+gZiMEYmabc3Od9/3jrzvPhG/D9l3W631v8GJp/rFiFD8 +ktIwENyJFLPjcyKfcYg=</ds:SignatureValue> <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate>MIIDjTCCAvagAwIBAgICAI0wDQYJKoZIhvcNAQENBQAwRTELMAkGA1UEBhMCQ0gxDDAKBgNVBAoM @@ -2787,18 +2835,18 @@ ew==</ds:X509Certificate> NameQualifier="https://ehealthsuisse.ihe-europe.net/idp/shibboleth" SPNameQualifier="https://sp-clone.ihe-europe.net/shibboleth">sbaader</saml2:NameID> <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> - <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20200916145255388" - NotOnOrAfter="2020-09-16T14:57:55.488Z" + <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210630121643495" + NotOnOrAfter="2021-06-30T12:21:43.894Z" Recipient="https://sp-clone.ihe-europe.net/Shibboleth.sso/SAML2/ECP"/> </saml2:SubjectConfirmation> </saml2:Subject> - <saml2:Conditions NotBefore="2020-09-16T14:52:55.484Z" NotOnOrAfter="2020-09-16T14:57:55.484Z"> + <saml2:Conditions NotBefore="2021-06-30T12:16:43.889Z" NotOnOrAfter="2021-06-30T12:21:43.889Z"> <saml2:AudienceRestriction> <saml2:Audience>https://sp-clone.ihe-europe.net/shibboleth</saml2:Audience> </saml2:AudienceRestriction> </saml2:Conditions> - <saml2:AuthnStatement AuthnInstant="2020-09-16T14:52:55.479Z" - SessionIndex="_2e78b90927c8575e7708a284afdbe9bb"> + <saml2:AuthnStatement AuthnInstant="2021-06-30T12:16:43.883Z" + SessionIndex="_40b5e7291486b26555d4690ecacd0853"> <saml2:SubjectLocality Address="127.0.0.1"/> <saml2:AuthnContext> <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef> @@ -2932,20 +2980,28 @@ declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; declare namespace wsa='http://www.w3.org/2005/08/addressing'; -boolean(//wst:RequestSecurityTokenResponse/wsp:AppliesTo)</path><content>true</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20200916145332189</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2020-09-16T14:53:32.189Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ +boolean(//wst:RequestSecurityTokenResponse/wsp:AppliesTo)</path><content>true</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:assertion type="XPath Match" id="1a7a90b5-1c34-4877-bc0e-6c5978c93292" name="XPath Match homeCommunityID"><con:configuration><path>declare namespace saml2='urn:oasis:names:tc:SAML:2.0:assertion'; +declare namespace wsp='http://schemas.xmlsoap.org/ws/2004/09/policy'; +declare namespace xs='http://www.w3.org/2001/XMLSchema'; +declare namespace wsa='http://www.w3.org/2005/08/addressing'; +declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; +declare namespace ds='http://www.w3.org/2000/09/xmldsig#'; +declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; +declare namespace ns1='urn:hl7-org:v3'; +//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210630121643829</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-06-30T12:16:43.829Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ <saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" - ID="_42058d4d30c6f5b42898ccf0a5a7b38a" - IssueInstant="2020-09-16T14:53:32.293Z" + ID="_fcc2d9850d6b8a524cfc79c59e7eee5e" + IssueInstant="2021-06-30T12:16:44.217Z" Version="2.0"> <saml2:Issuer>https://ehealthsuisse.ihe-europe.net/idp/shibboleth</saml2:Issuer> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"/> - <ds:Reference URI="#_42058d4d30c6f5b42898ccf0a5a7b38a"> + <ds:Reference URI="#_fcc2d9850d6b8a524cfc79c59e7eee5e"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> @@ -2953,12 +3009,12 @@ boolean(//wst:RequestSecurityTokenResponse/wsp:AppliesTo)</path><content>true</c </ds:Transform> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> - <ds:DigestValue>+IdWM7X1amTDqjkIBfcmmJ6wD0uOZzLKmzPUrkQIm+o=</ds:DigestValue> + <ds:DigestValue>FyWGPo//Bh66McN6M1vnHr3hasFUEV+mmln/hzxJQYc=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> - <ds:SignatureValue>Ql/UUMqN5sDyDcg1asGDNdl7uZjZWCQGEGutxuW9A7DCtYoWkfT2/HnnB3vMgmtlZdJjV7My90d5 -IA4jMeCqApfbnQT0kHbTijU/Sa68/PC9woeEcSx+/8Vz8X6fd9RTamys0cm3CxbN3Yjg3MTZNJ9s -wWI8uWtdrQKLZ+IoOdI=</ds:SignatureValue> + <ds:SignatureValue>VImZpSJWaI5+PTMalhVcehUVroCODHDgMSDhfIq3c21pQuQZ6KCR107eHAagklE8rM85Hii8UuWx +PoAeR6nUsi9gQKfyezRgYDQjS7tnbb/3IwmKI+g4tm6tNjWV2u4fDBQvF4rKxrCAEuQmfi4Ay6t+ +iG3/rxOVnn3tJsmR2yg=</ds:SignatureValue> <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate>MIIDjTCCAvagAwIBAgICAI0wDQYJKoZIhvcNAQENBQAwRTELMAkGA1UEBhMCQ0gxDDAKBgNVBAoM @@ -2986,18 +3042,18 @@ ew==</ds:X509Certificate> NameQualifier="https://ehealthsuisse.ihe-europe.net/idp/shibboleth" SPNameQualifier="https://sp-clone.ihe-europe.net/shibboleth">icastineira</saml2:NameID> <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> - <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20200916145332189" - NotOnOrAfter="2020-09-16T14:58:32.298Z" + <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210630121643829" + NotOnOrAfter="2021-06-30T12:21:44.222Z" Recipient="https://sp-clone.ihe-europe.net/Shibboleth.sso/SAML2/ECP"/> </saml2:SubjectConfirmation> </saml2:Subject> - <saml2:Conditions NotBefore="2020-09-16T14:53:32.293Z" NotOnOrAfter="2020-09-16T14:58:32.293Z"> + <saml2:Conditions NotBefore="2021-06-30T12:16:44.217Z" NotOnOrAfter="2021-06-30T12:21:44.217Z"> <saml2:AudienceRestriction> <saml2:Audience>https://sp-clone.ihe-europe.net/shibboleth</saml2:Audience> </saml2:AudienceRestriction> </saml2:Conditions> - <saml2:AuthnStatement AuthnInstant="2020-09-16T14:53:32.288Z" - SessionIndex="_8fc9aa36bbefa9590ba9857cc5658e07"> + <saml2:AuthnStatement AuthnInstant="2021-06-30T12:16:44.211Z" + SessionIndex="_7d7dd217a970c48001f152523f87df69"> <saml2:SubjectLocality Address="127.0.0.1"/> <saml2:AuthnContext> <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef> @@ -3131,20 +3187,28 @@ declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; declare namespace wsa='http://www.w3.org/2005/08/addressing'; -boolean(//wst:RequestSecurityTokenResponse/wsp:AppliesTo)</path><content>true</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20200916145256084</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2020-09-16T14:52:56.084Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ +boolean(//wst:RequestSecurityTokenResponse/wsp:AppliesTo)</path><content>true</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:assertion type="XPath Match" id="4549e9c8-f2d9-40e0-99fa-2a07319c601b" name="XPath Match homeCommunityID"><con:configuration><path>declare namespace saml2='urn:oasis:names:tc:SAML:2.0:assertion'; +declare namespace wsp='http://schemas.xmlsoap.org/ws/2004/09/policy'; +declare namespace xs='http://www.w3.org/2001/XMLSchema'; +declare namespace wsa='http://www.w3.org/2005/08/addressing'; +declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; +declare namespace ds='http://www.w3.org/2000/09/xmldsig#'; +declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; +declare namespace ns1='urn:hl7-org:v3'; +//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210630121644201</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-06-30T12:16:44.201Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ <saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" - ID="_b7ac7c34d6b2b93348a877ffdf549b9f" - IssueInstant="2020-09-16T14:52:56.180Z" + ID="_d956e244a408136298367c70f83bc803" + IssueInstant="2021-06-30T12:16:44.588Z" Version="2.0"> <saml2:Issuer>https://ehealthsuisse.ihe-europe.net/idp/shibboleth</saml2:Issuer> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"/> - <ds:Reference URI="#_b7ac7c34d6b2b93348a877ffdf549b9f"> + <ds:Reference URI="#_d956e244a408136298367c70f83bc803"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> @@ -3152,12 +3216,12 @@ boolean(//wst:RequestSecurityTokenResponse/wsp:AppliesTo)</path><content>true</c </ds:Transform> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> - <ds:DigestValue>bqj/ZtciBE4u0FuNOagDomNiGFDBGYKIjz16QrPjk9Q=</ds:DigestValue> + <ds:DigestValue>q4vy2b6+CLZWodiW24TSu2Z/R9aBGaTIrPXFyKta2sI=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> - <ds:SignatureValue>YZx2Tucam9od0TdCCjv07spxwBmCd7CAoqcSrINoTrcu6cDagfvFK69JmjqdZBezuSTxiee/L+SF -E4TQHaSmK08B/FeHP3HX+m1knaSuxC+lBx64LkBjjVpA+1ESaNm14KumUklGVLrQWPbMVUg7zynn -+hFXXmBZcLpUXXJI6JQ=</ds:SignatureValue> + <ds:SignatureValue>X+sPvxdGZDsSQGLIKCCScD4XxK7jMysZfRUq6oHhiH4MEwEC9VxVgjfUthoSH2bMR+SE8bL1Xj8X +gijkS4u+xsf7Mn11Dm5otHK8WMYTGAiiCqD5/7R133Yk2o77yslmbgPCmF1asD5ff2HPT6P5Sghg +ohCHMRKPdA/DsWzs19c=</ds:SignatureValue> <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate>MIIDjTCCAvagAwIBAgICAI0wDQYJKoZIhvcNAQENBQAwRTELMAkGA1UEBhMCQ0gxDDAKBgNVBAoM @@ -3185,18 +3249,18 @@ ew==</ds:X509Certificate> NameQualifier="https://ehealthsuisse.ihe-europe.net/idp/shibboleth" SPNameQualifier="https://sp-clone.ihe-europe.net/shibboleth">kweisskopf</saml2:NameID> <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> - <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20200916145256084" - NotOnOrAfter="2020-09-16T14:57:56.184Z" + <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210630121644201" + NotOnOrAfter="2021-06-30T12:21:44.592Z" Recipient="https://sp-clone.ihe-europe.net/Shibboleth.sso/SAML2/ECP"/> </saml2:SubjectConfirmation> </saml2:Subject> - <saml2:Conditions NotBefore="2020-09-16T14:52:56.180Z" NotOnOrAfter="2020-09-16T14:57:56.180Z"> + <saml2:Conditions NotBefore="2021-06-30T12:16:44.588Z" NotOnOrAfter="2021-06-30T12:21:44.588Z"> <saml2:AudienceRestriction> <saml2:Audience>https://sp-clone.ihe-europe.net/shibboleth</saml2:Audience> </saml2:AudienceRestriction> </saml2:Conditions> - <saml2:AuthnStatement AuthnInstant="2020-09-16T14:52:56.175Z" - SessionIndex="_fca70dd5cb18a5d1d3506b094188ad47"> + <saml2:AuthnStatement AuthnInstant="2021-06-30T12:16:44.581Z" + SessionIndex="_4ab1c0a6975ebba2c3d3c823bfaa93a4"> <saml2:SubjectLocality Address="127.0.0.1"/> <saml2:AuthnContext> <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef> @@ -3330,20 +3394,28 @@ declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; declare namespace wsa='http://www.w3.org/2005/08/addressing'; -boolean(//wst:RequestSecurityTokenResponse/wsp:AppliesTo)</path><content>true</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20200916145256407</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2020-09-16T14:52:56.407Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ +boolean(//wst:RequestSecurityTokenResponse/wsp:AppliesTo)</path><content>true</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:assertion type="XPath Match" id="9ab37322-6188-49a0-a8a4-8880386f1f76" name="XPath Match homeCommunityID"><con:configuration><path>declare namespace saml2='urn:oasis:names:tc:SAML:2.0:assertion'; +declare namespace wsp='http://schemas.xmlsoap.org/ws/2004/09/policy'; +declare namespace xs='http://www.w3.org/2001/XMLSchema'; +declare namespace wsa='http://www.w3.org/2005/08/addressing'; +declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; +declare namespace ds='http://www.w3.org/2000/09/xmldsig#'; +declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; +declare namespace ns1='urn:hl7-org:v3'; +//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210630121644573</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-06-30T12:16:44.573Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ <saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" - ID="_307b5df57be7c866bd7f77436d637ffc" - IssueInstant="2020-09-16T14:52:56.512Z" + ID="_957df5ac17376f5e6aab2d391f1d69f4" + IssueInstant="2021-06-30T12:16:44.958Z" Version="2.0"> <saml2:Issuer>https://ehealthsuisse.ihe-europe.net/idp/shibboleth</saml2:Issuer> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"/> - <ds:Reference URI="#_307b5df57be7c866bd7f77436d637ffc"> + <ds:Reference URI="#_957df5ac17376f5e6aab2d391f1d69f4"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> @@ -3351,12 +3423,12 @@ boolean(//wst:RequestSecurityTokenResponse/wsp:AppliesTo)</path><content>true</c </ds:Transform> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> - <ds:DigestValue>FIoAe4xavA9Z4kIu595GAq/CxNaKksTOGQzIu1/J65I=</ds:DigestValue> + <ds:DigestValue>K79LF8CpGsAHFP/E1JJuSXemTuFxXueDKtK0FptkzKQ=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> - <ds:SignatureValue>I7Kgp7k66aO6z4KlAZ0P7wZxmPiJXGUo+vNERilctH6UkYr/2EcDHuYLUtiPhhjgZlyGCfJZBr1f -uQrhFnVf3oz0RD/oXFlojL3a9F9ldZHrvX/iKLtphv/JZaqfYZ8vNcfewuZjhzVnluKMRz/uWRpF -qq2Zx+K/wTvvg45Mw5Q=</ds:SignatureValue> + <ds:SignatureValue>NY6ih7n5jHO5O6GzFhksUSPJIUliINzM6L1rp2ur+U7q8mpbgExb8PTOKTQPmc2mU5D86Q9ns9Fn +jqOsP8yu6u6fHjygCQn/8xjE1vRO/uSKk0WAj4J8i4OF1wGbNGT1cL7w77jBz+koADyv+g8+FWn9 +/h14uBvRNFXArqvQqGE=</ds:SignatureValue> <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate>MIIDjTCCAvagAwIBAgICAI0wDQYJKoZIhvcNAQENBQAwRTELMAkGA1UEBhMCQ0gxDDAKBgNVBAoM @@ -3384,18 +3456,18 @@ ew==</ds:X509Certificate> NameQualifier="https://ehealthsuisse.ihe-europe.net/idp/shibboleth" SPNameQualifier="https://sp-clone.ihe-europe.net/shibboleth">aamrein</saml2:NameID> <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> - <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20200916145256407" - NotOnOrAfter="2020-09-16T14:57:56.516Z" + <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210630121644573" + NotOnOrAfter="2021-06-30T12:21:44.963Z" Recipient="https://sp-clone.ihe-europe.net/Shibboleth.sso/SAML2/ECP"/> </saml2:SubjectConfirmation> </saml2:Subject> - <saml2:Conditions NotBefore="2020-09-16T14:52:56.512Z" NotOnOrAfter="2020-09-16T14:57:56.512Z"> + <saml2:Conditions NotBefore="2021-06-30T12:16:44.958Z" NotOnOrAfter="2021-06-30T12:21:44.958Z"> <saml2:AudienceRestriction> <saml2:Audience>https://sp-clone.ihe-europe.net/shibboleth</saml2:Audience> </saml2:AudienceRestriction> </saml2:Conditions> - <saml2:AuthnStatement AuthnInstant="2020-09-16T14:52:56.507Z" - SessionIndex="_59d0a8a3ddaf7a44da904f00e5f99a49"> + <saml2:AuthnStatement AuthnInstant="2021-06-30T12:16:44.953Z" + SessionIndex="_2d1dffe6d7e44691f5212e0c5aee98c0"> <saml2:SubjectLocality Address="127.0.0.1"/> <saml2:AuthnContext> <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef> @@ -3467,7 +3539,7 @@ listOfResponse.declareNamespace("saml2", "urn:oasis:names:tc:SAML:2.0:assertion" def assertion = listOfResponse.getDomNode("//saml2p:Response/saml2:Assertion"); assertion = assertion.toString().replace('<?xml version="1.0" encoding="UTF-8"?>', '') -testRunner.testCase.testSuite.project.setPropertyValue("assertion", assertion)</script></con:config></con:testStep><con:properties><con:property><con:name>Unique_Number</con:name><con:value>20200916144919313</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2020-09-16T14:49:19.313Z</con:value></con:property><con:property><con:name>user</con:name><con:value>magpar</con:value></con:property><con:property><con:name>password</con:name><con:value>azerty</con:value></con:property></con:properties></con:testCase><con:testCase id="e58c830a-57af-4021-ae45-df3465359419" failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="Patient authentication and XUA" searchProperties="true"><con:settings/><con:testStep type="groovy" name="Groovy Script" id="262f8f50-f75a-456c-a9d8-280fac9ab70f"><con:settings/><con:config><script> +testRunner.testCase.testSuite.project.setPropertyValue("assertion", assertion)</script></con:config></con:testStep><con:properties><con:property><con:name>Unique_Number</con:name><con:value>20210630125417546</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-06-30T12:54:17.546Z</con:value></con:property><con:property><con:name>user</con:name><con:value>magpar</con:value></con:property><con:property><con:name>password</con:name><con:value>azerty</con:value></con:property></con:properties></con:testCase><con:testCase id="e58c830a-57af-4021-ae45-df3465359419" failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="Patient authentication and XUA" searchProperties="true"><con:settings/><con:testStep type="groovy" name="Groovy Script" id="262f8f50-f75a-456c-a9d8-280fac9ab70f"><con:settings/><con:config><script> def project = testRunner.testCase.testSuite.project def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context ) @@ -3810,6 +3882,12 @@ holder.declareNamespace("wsa", "http://www.w3.org/2005/08/addressing") holder.declareNamespace("saml2", "urn:oasis:names:tc:SAML:2.0:assertion") holder.declareNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance") +///////////////////////////////////////// +// CONSTANTS //////////////////////////// +///////////////////////////////////////// + +def HOME_COMMUNITY_ID = "urn:oid:1.1.4567334.1.6" + ///////////////////////////////////////// ///////////////////////////////////////// //VARIABLES TO CHECK///////////////////// @@ -3825,28 +3903,25 @@ def applies_to_exist = holder["exists(//wst:RequestSecurityToken/wsp:AppliesTo)" //CHECK PROPERTIERS FOR GENERAL REQUEST// ///////////////////////////////////////// -log.info applies_to_exist - - -if (g_purposeOfUse != null && isPresent(g_purposeOfUse, "Purpose of use")){ +if (g_purposeOfUse != null && isDefined(g_purposeOfUse)) { requestContext.g_purposeOfUse = g_purposeOfUse } else { return soapFaultMissing("Purpose of use") } -if (g_role != null && isPresent(g_role, "Role")){ +if (g_role != null && isDefined(g_role)) { requestContext.g_role = g_role } else { return soapFaultMissing("Role") } -if (g_assertion != null && isPresent(g_assertion, "Assertion")){ +if (g_assertion != null && isDefined(g_assertion)) { requestContext.g_assertion = g_assertion } else { return soapFaultMissing("Assertion") } -if (g_EPR_SPIP != null && isPresent(g_EPR_SPIP, "Resource ID")){ +if (g_EPR_SPIP != null && isDefined(g_EPR_SPIP)) { requestContext.g_EPR_SPIP = g_EPR_SPIP - if (!isValidPatientId(g_EPR_SPIP)){ + if (!isValidPatientId(g_EPR_SPIP)) { return soapFaultWrongValue("Resource ID", g_EPR_SPIP) } } else { @@ -3854,7 +3929,6 @@ if (g_EPR_SPIP != null && isPresent(g_EPR_SPIP, "Resource ID")){ } - log.info "All checks for common requirements passed" ///////////////////////////////////////// ///////////////////////////////////////// @@ -3864,7 +3938,7 @@ log.info "All checks for common requirements passed" log.info "Check role code with value : " + g_role g_role = checkRoleCode(g_role) -if (g_role == "SoapFault Response"){ +if (g_role == "SoapFault Response") { return g_role } @@ -3874,27 +3948,27 @@ if (g_role == "SoapFault Response"){ ///////////////////////////////////////// -if(g_role == "HCP"){ +if (g_role == "HCP") { log.info "Role detected : Healthcare Professional" def hcp_assertion_gln = holder["//saml2:Assertion//saml2:AttributeStatement//saml2:Attribute[@NameFormat='urn:oasis:names:tc:ebcore:partyid-type:DataUniversalNumberingSystem:0060' or @Name='GLN']/saml2:AttributeValue"] def hcp_id_subject = holder["//saml2:Subject/saml2:NameID"] - if (isValidPurposeOfUse(g_purposeOfUse)){ + if (isValidPurposeOfUse(g_purposeOfUse)) { requestContext.g_purposeOfUse = g_purposeOfUse } else { return soapFaultWrongValue("Purpose of use", g_purposeOfUse) } - if (isPresent(hcp_assertion_gln, "GLN from assertion")){ + if (isDefined(hcp_assertion_gln)) { requestContext.final_gln = hcp_assertion_gln - if (!isGlnInDataStore(hcp_assertion_gln)){ + if (!isGlnInDataStore(hcp_assertion_gln)) { return soapFaultWrongValue("GLN from assertion", hcp_assertion_gln) } log.info "Found GLN in assertion : " + requestContext.final_gln } else { //TODO query the community data stores to resolve the Name ID of the <Subject> element to the GLN of the healthcare professional to be returned in the <Assertion> def gnl_from_nameid = getGlnFromNameId(hcp_id_subject) - if (gnl_from_nameid == null){ + if (gnl_from_nameid == null) { return soapFaultWrongValue("Subject ID", hcp_id_subject) } requestContext.final_gln = gnl_from_nameid @@ -3905,7 +3979,7 @@ if(g_role == "HCP"){ //TODO query the Healthcare Provider Directory and resolve the GLN of the healthcare professional to all groups including all //superior group up to the root level. The X-Asser-tion Provider actor must add the group IDs and the group names in an ordered sequence - def groupId = getGroupIdFromFromHcpGln(requestContext.final_gln) + def groupId = getGroupIdFromHcpGln(requestContext.final_gln) if (groupId == null) { log.info "No Group id for GLN with value : " + requestContext.final_gln requestContext.soapFaultCodeValue = "wst:InvalidRequest" @@ -3931,14 +4005,14 @@ if(g_role == "HCP"){ // Generate assertion log.info "Generating assertion" def keystoreParams = new KeystoreParams("/opt/gazelle/cert/jboss.jks", "password", "/opt/gazelle/cert/jboss.jks", "password", "jboss", "password") - def assertionAttributes = new AssertionAttributes(requestContext.final_gln, requestContext.g_EPR_SPIP, requestContext.g_purposeOfUse, doctorName, groupId, organizationName, g_role, null, null, null) + def assertionAttributes = new AssertionAttributes(requestContext.final_gln, requestContext.g_EPR_SPIP, requestContext.g_purposeOfUse, doctorName, groupId, organizationName, g_role, null, null, null, HOME_COMMUNITY_ID) def assertion = AssertionUtils.getStringAssertionWithPath(assertionAttributes, keystoreParams) - requestContext.appliesTo = getAppliesTo(applies_to_exist,holder) - requestContext.assertion = assertion + requestContext.appliesTo = getAppliesTo(applies_to_exist, holder) + requestContext.assertion = assertion return "Default RequestSecurityTokenResponse" -} else if (g_role == "ASS"){ +} else if (g_role == "ASS") { log.info "Role detected : Assistant" //MUST FOR ASS // FROM CLAIMS @@ -3959,9 +4033,9 @@ if(g_role == "HCP"){ ///////////////////////////////////////////////////////// log.info "Check MUST fields :" - if (isPresent(ass_principalID, "Principal ID")){ + if (isDefined(ass_principalID)) { requestContext.ass_principalID = ass_principalID - if (!isGlnInDataStore(requestContext.ass_principalID)){ + if (!isGlnInDataStore(requestContext.ass_principalID)) { log.info "No entry for GLN in data stores : " + requestContext.ass_principalID requestContext.soapFaultCodeValue = "wst:InvalidRequest" requestContext.soapFaultReason = "No entry for GLN : " + requestContext.ass_principalID @@ -3971,11 +4045,11 @@ if(g_role == "HCP"){ return soapFaultMissing("Principal ID") } - if (!isPresent(ass_principalName, "Principal Name")){ + if (!isDefined(ass_principalName)) { return soapFaultMissing("Principal Name") } - if (isValidPurposeOfUse(g_purposeOfUse)){ + if (isValidPurposeOfUse(g_purposeOfUse)) { log.info "Valid purpose of use with value : " + g_purposeOfUse requestContext.g_purposeOfUse = g_purposeOfUse } else { @@ -3987,8 +4061,8 @@ if(g_role == "HCP"){ /////////////////////////////////////////////////////////////// log.info "Check optional fields :" - if (isPresent(ass_organizationName, "Organization Name")){ - if (!ass_organizationName.equals(getOrganizationNameFromId(getGroupIdFromFromHcpGln(requestContext.ass_principalID)))){ + if (isDefined(ass_organizationName)) { + if (!ass_organizationName.equals(getOrganizationNameFromId(getGroupIdFromHcpGln(requestContext.ass_principalID)))) { log.info "Organization name does not correspond to GLN : " + ass_organizationName requestContext.soapFaultCodeValue = "wst:InvalidRequest" requestContext.soapFaultReason = "Organization name does not correspond to GLN : " + ass_organizationName @@ -3997,8 +4071,8 @@ if(g_role == "HCP"){ requestContext.ass_organizationName = ass_organizationName } - if (isPresent(ass_organizationId, "Organization ID")){ - if (!ass_organizationId.equals(getGroupIdFromFromHcpGln(requestContext.ass_principalID))){ + if (isDefined(ass_organizationId)) { + if (!ass_organizationId.equals(getGroupIdFromHcpGln(requestContext.ass_principalID))) { log.info "Organization ID does not correspond to GLN : " + ass_organizationId requestContext.soapFaultCodeValue = "wst:InvalidRequest" requestContext.soapFaultReason = "Organization ID does not correspond to GLN : " + ass_organizationId @@ -4011,7 +4085,7 @@ if(g_role == "HCP"){ log.info "Check values to put in the assertion : " // verify Id of the accessing person - if(ass_id_subject.size() > 0){ + if (ass_id_subject.size() > 0) { log.info "Id of the accessing person: " + ass_id_subject requestContext.id_subject = ass_id_subject } else { @@ -4019,36 +4093,36 @@ if(g_role == "HCP"){ } - if (isPresent(ass_assertion_gln, "GLN from assertion")){ + if (isDefined(ass_assertion_gln)) { requestContext.ass_gln = ass_assertion_gln } else { requestContext.ass_gln = getGlnFromAssistantId(requestContext.id_subject) } - if (requestContext.ass_gln == null){ + if (requestContext.ass_gln == null) { return soapFaultWrongValue("Assistant GLN", requestContext.ass_gln) } - if (!isAssistantAuthorized(requestContext.ass_gln, requestContext.ass_principalID)){ + if (!isAssistantAuthorized(requestContext.ass_gln, requestContext.ass_principalID)) { log.info "Assistant with gln " + requestContext.ass_gln + " not authorized to act for HCP with ID " + requestContext.ass_principalID requestContext.soapFaultCodeValue = "wst:InvalidRequest" requestContext.soapFaultReason = "Assistant with gln " + requestContext.ass_gln + " not authorized to act for HCP with ID " + requestContext.ass_principalID return "SoapFault Response" } - if (getNameFromGln(requestContext.ass_principalID) == null){ + if (getNameFromGln(requestContext.ass_principalID) == null) { log.info "No name for gln " + requestContext.ass_principalID requestContext.soapFaultCodeValue = "wst:InvalidRequest" requestContext.soapFaultReason = "No name for gln " + requestContext.ass_principalID return "SoapFault Response" } - if (getGroupIdFromFromHcpGln(requestContext.ass_principalID) == null){ + if (getGroupIdFromHcpGln(requestContext.ass_principalID) == null) { log.info "No organization for gln " + requestContext.ass_principalID requestContext.soapFaultCodeValue = "wst:InvalidRequest" requestContext.soapFaultReason = "No organization for gln " + requestContext.ass_principalID return "SoapFault Response" } - if (getOrganizationNameFromId(getGroupIdFromFromHcpGln(requestContext.ass_principalID))==null){ + if (getOrganizationNameFromId(getGroupIdFromHcpGln(requestContext.ass_principalID)) == null) { log.info "No organization name for gln " + requestContext.ass_principalID requestContext.soapFaultCodeValue = "wst:InvalidRequest" requestContext.soapFaultReason = "No organization name for gln " + requestContext.ass_principalID @@ -4060,14 +4134,14 @@ if(g_role == "HCP"){ log.info "Generating assertion" def keystoreParams = new KeystoreParams("/opt/gazelle/cert/jboss.jks", "password", "/opt/gazelle/cert/jboss.jks", "password", "jboss", "password") def assertionAttributes = new AssertionAttributes(requestContext.ass_principalID, requestContext.g_EPR_SPIP, requestContext.g_purposeOfUse, - getNameFromGln(requestContext.ass_principalID), getGroupIdFromFromHcpGln(requestContext.ass_principalID), - getOrganizationNameFromId(getGroupIdFromFromHcpGln(requestContext.ass_principalID)), "HCP", requestContext.ass_gln, "ASS", getAssNameFromGLN(requestContext.ass_gln)) + getNameFromGln(requestContext.ass_principalID), getGroupIdFromHcpGln(requestContext.ass_principalID), + getOrganizationNameFromId(getGroupIdFromHcpGln(requestContext.ass_principalID)), "HCP", requestContext.ass_gln, "ASS", getAssNameFromGLN(requestContext.ass_gln), HOME_COMMUNITY_ID) def assertion = AssertionUtils.getStringAssertionWithPath(assertionAttributes, keystoreParams) - requestContext.appliesTo = getAppliesTo(applies_to_exist,holder) - requestContext.assertion = assertion + requestContext.appliesTo = getAppliesTo(applies_to_exist, holder) + requestContext.assertion = assertion return "Default RequestSecurityTokenResponse" -} else if (g_role == "TCU"){ +} else if (g_role == "TCU") { log.info "Role detected : Technical User" @@ -4083,9 +4157,9 @@ if(g_role == "HCP"){ def tcu_id_subject = holder["//saml2:Subject/saml2:NameID"] - if (isPresent(tcu_principalID, "Principal ID")){ + if (isDefined(tcu_principalID)) { requestContext.tcu_principalID = tcu_principalID - if (!isGlnInDataStore(requestContext.tcu_principalID)){ + if (!isGlnInDataStore(requestContext.tcu_principalID)) { log.info "No entry for GLN in data stores : " + requestContext.tcu_principalID requestContext.soapFaultCodeValue = "wst:InvalidRequest" requestContext.soapFaultReason = "No entry for GLN : " + requestContext.tcu_principalID @@ -4095,12 +4169,12 @@ if(g_role == "HCP"){ return soapFaultMissing("Principal ID") } - if (!isPresent(tcu_principalName, "Principal Name")){ + if (!isDefined(tcu_principalName)) { return soapFaultMissing("Principal Name") } - if (g_purposeOfUse == "AUTO"){ + if (g_purposeOfUse == "AUTO") { requestContext.g_purposeOfUse = g_purposeOfUse } else { return soapFaultWrongValue("Purpose of use", g_purposeOfUse) @@ -4113,9 +4187,9 @@ if(g_role == "HCP"){ //the certificate registered with the technical user. - if (isPresent(tcu_id_subject, "Subject ID")){ + if (isDefined(tcu_id_subject)) { def tcu_gln = getTcuGlnFromNameId(tcu_id_subject) - if(!isTechnicalUserAuthorized(tcu_gln, requestContext.tcu_principalID)){ + if (!isTechnicalUserAuthorized(tcu_gln, requestContext.tcu_principalID)) { log.info "Technical user with id " + tcu_gln + " not authorized to act for HCP with ID " + requestContext.tcu_principalID requestContext.soapFaultCodeValue = "wst:InvalidRequest" requestContext.soapFaultReason = "Technical user with id " + tcu_gln + " not authorized to act for HCP with ID " + requestContext.tcu_principalID @@ -4126,26 +4200,26 @@ if(g_role == "HCP"){ return soapFaultMissing("Subject ID") } - if (getTcuGlnFromNameId(tcu_id_subject) == null){ + if (getTcuGlnFromNameId(tcu_id_subject) == null) { return soapFaultWrongValue("Name ID", tcu_id_subject) } //HCP NAME - if (getNameFromGln(requestContext.tcu_principalID) == null){ + if (getNameFromGln(requestContext.tcu_principalID) == null) { log.info "No name for gln" + requestContext.tcu_principalID requestContext.soapFaultCodeValue = "wst:InvalidRequest" requestContext.soapFaultReason = "No name for gln " + requestContext.tcu_principalID return "SoapFault Response" } //ORGA ID - if (getGroupIdFromFromHcpGln(requestContext.tcu_principalID) == null){ + if (getGroupIdFromHcpGln(requestContext.tcu_principalID) == null) { log.info "No organization for gln" + requestContext.tcu_principalID requestContext.soapFaultCodeValue = "wst:InvalidRequest" requestContext.soapFaultReason = "No organization for gln " + requestContext.tcu_principalID return "SoapFault Response" } //ORGA NAME - if (getOrganizationNameFromId(getGroupIdFromFromHcpGln(requestContext.tcu_principalID))==null){ + if (getOrganizationNameFromId(getGroupIdFromHcpGln(requestContext.tcu_principalID)) == null) { log.info "No organization name for gln" + requestContext.tcu_principalID requestContext.soapFaultCodeValue = "wst:InvalidRequest" requestContext.soapFaultReason = "No organization name for gln " + requestContext.tcu_principalID @@ -4153,35 +4227,34 @@ if(g_role == "HCP"){ } - ////////////////////////////////////////////////////// //Generate Assertion log.info "Generating assertion" def keystoreParams = new KeystoreParams("/opt/gazelle/cert/jboss.jks", "password", "/opt/gazelle/cert/jboss.jks", "password", "jboss", "password") def assertionAttributes = new AssertionAttributes(requestContext.tcu_principalID, requestContext.g_EPR_SPIP, "AUTO", - getNameFromGln(requestContext.tcu_principalID), getGroupIdFromFromHcpGln(requestContext.tcu_principalID), - getOrganizationNameFromId(getGroupIdFromFromHcpGln(requestContext.tcu_principalID)), "HCP", requestContext.tcu_gln, "TCU", null) + getNameFromGln(requestContext.tcu_principalID), getGroupIdFromHcpGln(requestContext.tcu_principalID), + getOrganizationNameFromId(getGroupIdFromHcpGln(requestContext.tcu_principalID)), "HCP", requestContext.tcu_gln, "TCU", null, HOME_COMMUNITY_ID) def assertion = AssertionUtils.getStringAssertionWithPath(assertionAttributes, keystoreParams) - requestContext.appliesTo = getAppliesTo(applies_to_exist,holder) - requestContext.assertion = assertion + requestContext.appliesTo = getAppliesTo(applies_to_exist, holder) + requestContext.assertion = assertion return "Default RequestSecurityTokenResponse" -} else if (g_role == "PADM"){ +} else if (g_role == "PADM") { log.info "Role detected : Policy Administrator" def padm_id_subject = holder["//saml2:Subject/saml2:NameID"] - if (g_purposeOfUse == "NORM"){ + if (g_purposeOfUse == "NORM") { requestContext.g_purposeOfUse = g_purposeOfUse } else { return soapFaultWrongValue("Purpose of use", g_purposeOfUse) } - if (isPresent(padm_id_subject, "Subject ID")){ + if (isDefined(padm_id_subject)) { def padm_gln = getPadmGlnFromNameId(padm_id_subject) - if (padm_gln == null){ + if (padm_gln == null) { return soapFaultWrongValue("Name id in community store", padm_id_subject) } requestContext.padm_gln = padm_gln @@ -4191,27 +4264,26 @@ if(g_role == "HCP"){ log.info "Generating assertion" def keystoreParams = new KeystoreParams("/opt/gazelle/cert/jboss.jks", "password", "/opt/gazelle/cert/jboss.jks", "password", "jboss", "password") - def assertionAttributes = new AssertionAttributes(requestContext.padm_gln, requestContext.g_EPR_SPIP, "NORM", getPADMNameFromId(padm_id_subject), null, null, "PADM", null, null, null) + def assertionAttributes = new AssertionAttributes(requestContext.padm_gln, requestContext.g_EPR_SPIP, "NORM", getPADMNameFromId(padm_id_subject), null, null, "PADM", null, null, null, HOME_COMMUNITY_ID) def assertion = AssertionUtils.getStringAssertionWithPath(assertionAttributes, keystoreParams); - requestContext.appliesTo = getAppliesTo(applies_to_exist,holder) - requestContext.assertion = assertion + requestContext.appliesTo = getAppliesTo(applies_to_exist, holder) + requestContext.assertion = assertion return "Default RequestSecurityTokenResponse" - -} else if (g_role == "DADM"){ +} else if (g_role == "DADM") { log.info "Role detected : Document Administrator" def dadm_id_subject = holder["//saml2:Subject/saml2:NameID"] - if (g_purposeOfUse == "NORM"){ + if (g_purposeOfUse == "NORM") { requestContext.g_purposeOfUse = g_purposeOfUse } else { return soapFaultWrongValue("Purpose of use", g_purposeOfUse) } - if (isPresent(dadm_id_subject, "Subject ID")){ + if (isDefined(dadm_id_subject)) { def dadm_gln = getDadmGlnFromNameId(dadm_id_subject) - if (dadm_gln == null){ + if (dadm_gln == null) { return soapFaultWrongValue("Name id in community store", dadm_id_subject) } requestContext.dadm_gln = dadm_gln @@ -4221,30 +4293,30 @@ if(g_role == "HCP"){ log.info "Generating assertion" def keystoreParams = new KeystoreParams("/opt/gazelle/cert/jboss.jks", "password", "/opt/gazelle/cert/jboss.jks", "password", "jboss", "password") - def assertionAttributes = new AssertionAttributes(requestContext.dadm_gln, requestContext.g_EPR_SPIP, "NORM", getDADMNameFromId(dadm_id_subject), null, null, g_role, null, null, null) + def assertionAttributes = new AssertionAttributes(requestContext.dadm_gln, requestContext.g_EPR_SPIP, "NORM", getDADMNameFromId(dadm_id_subject), null, null, g_role, null, null, null, HOME_COMMUNITY_ID) def assertion = AssertionUtils.getStringAssertionWithPath(assertionAttributes, keystoreParams); - requestContext.appliesTo = getAppliesTo(applies_to_exist,holder) - requestContext.assertion = assertion + requestContext.appliesTo = getAppliesTo(applies_to_exist, holder) + requestContext.assertion = assertion return "Default RequestSecurityTokenResponse" -} else if (g_role == "PAT"){ +} else if (g_role == "PAT") { log.info "Role detected : Patient" def pat_principalID = holder["//wst:Claims/saml2:Attribute[@Name='urn:e-health-suisse:principal-id']/saml2:AttributeValue"] def pat_principalName = holder["//wst:Claims/saml2:Attribute[@Name='urn:e-health-suisse:principal-name']/saml2:AttributeValue"] def pat_id_subject = holder["//saml2:Subject/saml2:NameID"] - if (g_purposeOfUse == "NORM"){ + if (g_purposeOfUse == "NORM") { requestContext.g_purposeOfUse = g_purposeOfUse } else { return soapFaultWrongValue("Purpose of use", g_purposeOfUse) } - if (isPresent(pat_id_subject, "Subject ID")){ + if (isDefined(pat_id_subject)) { log.info "Subject id : " + pat_id_subject requestContext.pat_id_subject = pat_id_subject def patientid_from_nameid = getPatientIdFromNameId(pat_id_subject) - if (patientid_from_nameid == null){ + if (patientid_from_nameid == null) { return soapFaultWrongValue("Name id in community store", pat_id_subject) } requestContext.patientid_from_nameid = patientid_from_nameid @@ -4253,34 +4325,33 @@ if(g_role == "HCP"){ } - log.info "Generating assertion" def keystoreParams = new KeystoreParams("/opt/gazelle/cert/jboss.jks", "password", "/opt/gazelle/cert/jboss.jks", "password", "jboss", "password") - def assertionAttributes = new AssertionAttributes(requestContext.patientid_from_nameid, requestContext.g_EPR_SPIP, g_purposeOfUse, getPatientNameFromId(requestContext.pat_id_subject), null, null, g_role, null, null, null) + def assertionAttributes = new AssertionAttributes(requestContext.patientid_from_nameid, requestContext.g_EPR_SPIP, g_purposeOfUse, getPatientNameFromId(requestContext.pat_id_subject), null, null, g_role, null, null, null, HOME_COMMUNITY_ID) def assertion = AssertionUtils.getStringAssertionWithPath(assertionAttributes, keystoreParams); - requestContext.appliesTo = getAppliesTo(applies_to_exist,holder) - requestContext.assertion = assertion + requestContext.appliesTo = getAppliesTo(applies_to_exist, holder) + requestContext.assertion = assertion return "Default RequestSecurityTokenResponse" -} else if (g_role == "REP"){ +} else if (g_role == "REP") { log.info "Role detected : Representative" def rep_principalID = holder["//wst:Claims/saml2:Attribute[@Name='urn:e-health-suisse:principal-id']/saml2:AttributeValue"] def rep_principalName = holder["//wst:Claims/saml2:Attribute[@Name='urn:e-health-suisse:principal-name']/saml2:AttributeValue"] def rep_id_subject = holder["//saml2:Subject/saml2:NameID"] - if (g_purposeOfUse == "NORM"){ + if (g_purposeOfUse == "NORM") { requestContext.g_purposeOfUse = g_purposeOfUse } else { return soapFaultWrongValue("Purpose of use", g_purposeOfUse) } - if (isPresent(rep_id_subject, "Subject ID")){ + if (isDefined(rep_id_subject)) { log.info "Subject id : " + rep_id_subject requestContext.rep_id_subject = rep_id_subject def patientid_from_nameid = getPatientIdFromNameId(rep_id_subject) - if (patientid_from_nameid == null){ + if (patientid_from_nameid == null) { return soapFaultWrongValue("Name id in community store", rep_id_subject) } requestContext.patientid_from_nameid = patientid_from_nameid @@ -4288,16 +4359,16 @@ if(g_role == "HCP"){ return soapFaultMissing("Subject ID") } - if (rep_id_subject == null){ + if (rep_id_subject == null) { return soapFaultMissing("Name ID") } log.info "Generating assertion" def keystoreParams = new KeystoreParams("/opt/gazelle/cert/jboss.jks", "password", "/opt/gazelle/cert/jboss.jks", "password", "jboss", "password") - def assertionAttributes = new AssertionAttributes(requestContext.patientid_from_nameid, requestContext.g_EPR_SPIP, g_purposeOfUse, getRepNameFromId(rep_id_subject), null, null, g_role, null, null, null) + def assertionAttributes = new AssertionAttributes(requestContext.patientid_from_nameid, requestContext.g_EPR_SPIP, g_purposeOfUse, getRepNameFromId(rep_id_subject), null, null, g_role, null, null, null, HOME_COMMUNITY_ID) def assertion = AssertionUtils.getStringAssertionWithPath(assertionAttributes, keystoreParams); requestContext.appliesTo = getAppliesTo(applies_to_exist, holder) - requestContext.assertion = assertion + requestContext.assertion = assertion return "Default RequestSecurityTokenResponse" @@ -4313,21 +4384,12 @@ if(g_role == "HCP"){ ///////////////////////////////////////// -boolean isPresent(String element, String elementName){ - log.info "To find " + elementName + " with value : " + element.toString() - if(element.toString() != "[]" ){ - if(element.size() > 0){ - log.info elementName + " found : " + element; - return true; - } else { - return false; - } - } - return false; +boolean isDefined(String element) { + return element.toString() != "[]" && element.size() > 0; } -boolean isPresent(String[] element, String elementName){ - return isPresent(element.toString(), elementName); +boolean isDefined(String[] element) { + return isDefined(element.toString()); } @@ -4351,75 +4413,92 @@ def getAppliesTo(def appliesToExist, def holder) { ///////////////////////////////////////// //Regex to check PatientId -boolean isValidPatientId(String[] value){ - if(value.toString() == "[]"){ +boolean isValidPatientId(def value) { + if (value == "") { return false; - }else{ + } else { log.info "Check SPID with value : " + value final String regex = "([a-zA-Z0-9]{1,})(\\^{3})([A-Z]{0,})(&|&{1})([0-9\\.]{1,})(&|&{1})(ISO{1})"; final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE); - final Matcher matcher = pattern.matcher(value.toString()); - if (matcher.find()){ + final Matcher matcher = pattern.matcher(value); + if (matcher.find()) { log.info "Id has valid format" return isPatientIdInDataStore(value); - }else{ + } else { return false; } } } -boolean isPatientIdInDataStore(String[] patientId){ - return isInList(patientId[0], getPatientSpidList()); +boolean isPatientIdInDataStore(def patientId) { + return isInList(patientId, getPatientSpidList()); } -boolean isGlnInDataStore(String gln){ +boolean isGlnInDataStore(String gln) { return isInList(gln, getGlnList()); } -boolean isInList(String element, String[] list){ - boolean result = false; - for(String i : list){ - if(i.equals(element)){ - result = true; - break; - } +boolean isInList(def element, def list) { + return list.any { item -> item.equals(element) }; +} + +boolean isValidPurposeOfUse(String purposeOfUse) { + return PurposeOfUse.getCodes().contains(purposeOfUse); +} + +enum PurposeOfUse { + NORMAL("NORM"), + EMERGENCY("EMER"), + AUTOMATIC_PROCESS("AUTO"); + + private String code; + + private PurposeOfUse(String code) { + this.code = code; + } + + String getCode() { + return code; + } + + static String[] getCodes() { + return PurposeOfUse.values().collect { it.getCode() }; } - return result; } -boolean isValidPurposeOfUse(String purposeOfUse){ - log.info "Check purposeOfUse value : " + purposeOfUse.toString() - if (purposeOfUse.toString() == "NORM"){ - return true; - } else if (purposeOfUse.toString() == "EMER"){ - return true; - }else if (purposeOfUse.toString() == "AUTO"){ - return true; - } else { - return false; +enum Role { + PATIENT("PAT"), + HEALTH_CARE_PRO("HCP"), + ASSISTANT("ASS"), + REPRESENTATIVE("REP"), + POLICY_ADMIN("PADM"), + TECHNICAL_USER("TCU"), + DOCUMENT_ADMIN("DADM"); + + private String code; + + private Role(String code) { + this.code = code; + } + + String getCode() { + return code; + } + + static String[] getCodes() { + return Role.values().collect { it.getCode() } + } + + static Role fromCode(String code) { + Role.values().find { it.getCode() == code } } } -String checkRoleCode(String g_role){ - if (g_role == "HCP"){ - return g_role; - } else if (g_role == "PAT"){ - return g_role; - } else if (g_role == "ASS"){ - return g_role; - } else if (g_role == "REP"){ - return g_role; - } else if (g_role == "PADM"){ - return g_role; - } else if (g_role == "TCU"){ - return g_role; - } else if (g_role == "DADM"){ +String checkRoleCode(String g_role) { + if (Role.getCodes().contains(g_role)) { return g_role; } else { - log.info "Invalid role from request"; - requestContext.soapFaultCodeValue = "wst:InvalidRequest"; - requestContext.soapFaultReason = "Invalid role from request"; - return "SoapFault Response"; + return soapFaultWrongValue("Role", g_role) } } @@ -4429,17 +4508,17 @@ String checkRoleCode(String g_role){ ////////////////SOAP///////////////////// ///////////////////////////////////////// -String soapFaultMissing(String elementName){ +String soapFaultMissing(String elementName) { log.info "Unable to get " + elementName + " from request"; requestContext.soapFaultCodeValue = "wst:InvalidRequest"; requestContext.soapFaultReason = "Unable to get " + elementName + " from request"; return "SoapFault Response"; } -String soapFaultWrongValue(String elementName, String[] value){ - log.info "Wrong value for " + elementName + " from request : " + value; +String soapFaultWrongValue(String elementName, String[] value) { + log.info "Wrong value for " + elementName + " in request : " + value; requestContext.soapFaultCodeValue = "wst:InvalidRequest"; - requestContext.soapFaultReason = "Wrong value for " + elementName + " from request : " + value; + requestContext.soapFaultReason = "Wrong value for " + elementName + " in request : " + value; return "SoapFault Response"; } @@ -4454,120 +4533,120 @@ String soapFaultWrongValue(String elementName, String[] value){ ///////////////////////////////////////// -String getPatientNameFromId(String pat_id_subject){ - if(pat_id_subject.equals("wwalters")){ +String getPatientNameFromId(String pat_id_subject) { + if (pat_id_subject.equals("wwalters")) { return "William Walters"; } - if(pat_id_subject.equals("bovie")){ + if (pat_id_subject.equals("bovie")) { return "Bergan Ovie"; } - if(pat_id_subject.equals("lavdic")){ + if (pat_id_subject.equals("lavdic")) { return "Léo Gérard Avdic"; } - if(pat_id_subject.equals("maschwanden")){ + if (pat_id_subject.equals("maschwanden")) { return "Marie-Christelle Victoire Aschwanden-Stocker"; } - if(pat_id_subject.equals("gantonyova")){ + if (pat_id_subject.equals("gantonyova")) { return "Gebhard August Antonyova"; } - if(pat_id_subject.equals("aamrein")){ + if (pat_id_subject.equals("aamrein")) { return "Alessandra Monica Amrein-Brunner"; } - if(pat_id_subject.equals("sebibi")){ + if (pat_id_subject.equals("sebibi")) { return "Salome Anja Ebibi-Limani"; } - if(pat_id_subject.equals("negger")){ + if (pat_id_subject.equals("negger")) { return "Nina Robine Egger-Staub"; } - if(pat_id_subject.equals("aerne")){ + if (pat_id_subject.equals("aerne")) { return "Andrea Juliana Erne Cehic"; } - if(pat_id_subject.equals("dozkanturk")){ + if (pat_id_subject.equals("dozkanturk")) { return "Désirée Gabrielle Ôzkantürk"; } - if(pat_id_subject.equals("remery")){ + if (pat_id_subject.equals("remery")) { return "Roman Remo Eméry"; } - if(pat_id_subject.equals("nwittwerchristen")){ + if (pat_id_subject.equals("nwittwerchristen")) { return "Nilesh Wittwer-Christen"; } return null; } -String getPADMNameFromId(String padm_id_subject){ - if(padm_id_subject.equals("icastineira")){ +String getPADMNameFromId(String padm_id_subject) { + if (padm_id_subject.equals("icastineira")) { return "Ivo Castineira"; } return null; } -String getDADMNameFromId(String dadm_id_subject){ - if(dadm_id_subject.equals("kweisskopf")){ +String getDADMNameFromId(String dadm_id_subject) { + if (dadm_id_subject.equals("kweisskopf")) { return "Käthi Weisskopf"; } return null; } -String getRepNameFromId(String rep_id_subject){ +String getRepNameFromId(String rep_id_subject) { return getPatientNameFromId(rep_id_subject); } -String getAssNameFromGLN(String ass_gln){ +String getAssNameFromGLN(String ass_gln) { return getNameFromGln(ass_gln); } -String getGlnFromAssistantId(String assistantId){ - if (assistantId.equals("ltieche")){ +String getGlnFromAssistantId(String assistantId) { + if (assistantId.equals("ltieche")) { return "7601002467158"; - }else if (assistantId.equals("cberger")){ + } else if (assistantId.equals("cberger")) { return "7601002466812"; - }else if (assistantId.equals("travasi")){ + } else if (assistantId.equals("travasi")) { return "7601002462586"; } else { return null; } } -String getTcuGlnFromNameId(String tcu_id_subject){ - if (tcu_id_subject.equals("sbaader")){ +String getTcuGlnFromNameId(String tcu_id_subject) { + if (tcu_id_subject.equals("sbaader")) { return "7601002461111"; } else { return null; } } -String getPadmGlnFromNameId(String padm_id_subject){ - if (padm_id_subject.equals("icastineira")){ +String getPadmGlnFromNameId(String padm_id_subject) { + if (padm_id_subject.equals("icastineira")) { return "7601002468963"; } else { return null; } } -String getDadmGlnFromNameId(String dadm_id_subject){ - if (dadm_id_subject.equals("kweisskopf")){ +String getDadmGlnFromNameId(String dadm_id_subject) { + if (dadm_id_subject.equals("kweisskopf")) { return "7601002467458"; } else { return null; } } -boolean isAssistantAuthorized(String ass_gln, String ass_principalID){ - if(isInList(ass_gln, getGlnAssList())){ +boolean isAssistantAuthorized(String ass_gln, String ass_principalID) { + if (isInList(ass_gln, getGlnAssList())) { switch (ass_principalID) { - case "7601002468282": return true; - case "7601002467373": return true; + case "7601002468282": return true; + case "7601002467373": return true; default: return false; } } return false; } -boolean isTechnicalUserAuthorized(String tcu_id, String ass_principalID){ - if(isInList(tcu_id, getGlnTcuList())){ +boolean isTechnicalUserAuthorized(String tcu_id, String ass_principalID) { + if (isInList(tcu_id, getGlnTcuList())) { switch (ass_principalID) { - case "7601000050717": return true; - case "7601002466565": return true; + case "7601000050717": return true; + case "7601002466565": return true; default: return false; } } @@ -4575,7 +4654,7 @@ boolean isTechnicalUserAuthorized(String tcu_id, String ass_principalID){ } -String[] getPatientSpidList(){ +String[] getPatientSpidList() { return ["761337610435200998^^^SPID&2.16.756.5.30.1.127.3.10.3&ISO", "761337610435209810^^^SPID&2.16.756.5.30.1.127.3.10.3&ISO", @@ -4614,7 +4693,7 @@ String[] getPatientSpidList(){ } -String[] getGlnList(){ +String[] getGlnList() { return ["7601000050717", "7601002033572", "7601002469191", @@ -4623,128 +4702,128 @@ String[] getGlnList(){ "7601002466565"] } -String[] getGlnAssList(){ +String[] getGlnAssList() { return ["7601002467158", "7601002466812", "7601002462586"] } -String[] getGlnTcuList(){ +String[] getGlnTcuList() { return ["7601002461111"] } -String getGroupIdFromFromHcpGln(String hcp_gln){ - if (hcp_gln.equals("7601000050717")){ +String getGroupIdFromHcpGln(String hcp_gln) { + if (hcp_gln.equals("7601000050717")) { return "urn:oid:2.16.10.89.211"; - }else if (hcp_gln.equals("7601002033572")){ + } else if (hcp_gln.equals("7601002033572")) { return "urn:oid:2.16.10.89.211"; - }else if (hcp_gln.equals("7601002469191")){ + } else if (hcp_gln.equals("7601002469191")) { return "urn:oid:2.16.10.89.211"; - }else if (hcp_gln.equals("7601002467373")){ + } else if (hcp_gln.equals("7601002467373")) { return "urn:oid:2.16.10.89.211" - }else if (hcp_gln.equals("7601002468282")){ + } else if (hcp_gln.equals("7601002468282")) { return "urn:oid:2.16.10.89.211" - }else if (hcp_gln.equals("7601002466565")){ + } else if (hcp_gln.equals("7601002466565")) { return "urn:oid:2.16.10.89.211" - }else { + } else { return null; } } -String getOrganizationNameFromId(String id){ - if (id.equals("urn:oid:2.16.10.89.211")){ +String getOrganizationNameFromId(String id) { + if (id.equals("urn:oid:2.16.10.89.211")) { return "Spital Y"; } else { return null; } } -String getNameFromGln(String hcp_gln){ +String getNameFromGln(String hcp_gln) { //HCP - if (hcp_gln.equals("7601000050717")){ + if (hcp_gln.equals("7601000050717")) { return "Marc Loris Agpar"; - }else if (hcp_gln.equals("7601002033572")){ + } else if (hcp_gln.equals("7601002033572")) { return "Rose Spieler"; - }else if (hcp_gln.equals("7601002469191")){ + } else if (hcp_gln.equals("7601002469191")) { return "Ann Andrews"; - }else if (hcp_gln.equals("7601002467373")){ + } else if (hcp_gln.equals("7601002467373")) { return "Richard Reynolds" - }else if (hcp_gln.equals("7601002468282")){ + } else if (hcp_gln.equals("7601002468282")) { return "Camille Bouchard"; - }else if (hcp_gln.equals("7601002466565")){ + } else if (hcp_gln.equals("7601002466565")) { return "Matthew Marston"; //ASS - }else if (hcp_gln.equals("7601002467158")){ + } else if (hcp_gln.equals("7601002467158")) { return "Lara Tièche"; - }else if (hcp_gln.equals("7601002466812")){ + } else if (hcp_gln.equals("7601002466812")) { return "Cihan Berger"; - }else if (hcp_gln.equals("7601002462586")){ + } else if (hcp_gln.equals("7601002462586")) { return "Taulant Ravasi"; - }else { + } else { return null; } } -String getGlnFromNameId(String hcp_id_subject){ - if (hcp_id_subject.equals("magpar")){ +String getGlnFromNameId(String hcp_id_subject) { + if (hcp_id_subject.equals("magpar")) { return "7601000050717"; - }else if (hcp_id_subject.equals("rspieler")){ + } else if (hcp_id_subject.equals("rspieler")) { return "7601002033572"; - }else if (hcp_id_subject.equals("aandrews")){ + } else if (hcp_id_subject.equals("aandrews")) { return "7601002469191"; - }else if (hcp_id_subject.equals("rreynolds")){ + } else if (hcp_id_subject.equals("rreynolds")) { return "7601002467373" - }else if (hcp_id_subject.equals("cbouchard")){ + } else if (hcp_id_subject.equals("cbouchard")) { return "7601002468282"; - }else if (hcp_id_subject.equals("mmarston")){ + } else if (hcp_id_subject.equals("mmarston")) { return "7601002466565"; - }else { + } else { return null; } } -String getPatientIdFromNameId(String pat_id_subject){ +String getPatientIdFromNameId(String pat_id_subject) { - if(pat_id_subject.equals("wwalters")){ + if (pat_id_subject.equals("wwalters")) { return "761337610435200998"; } - if(pat_id_subject.equals("bovie")){ + if (pat_id_subject.equals("bovie")) { return "761337610435209810"; } - if(pat_id_subject.equals("lavdic")){ + if (pat_id_subject.equals("lavdic")) { return "761337610436974489"; } - if(pat_id_subject.equals("maschwanden")){ + if (pat_id_subject.equals("maschwanden")) { return "761337610430891416"; } - if(pat_id_subject.equals("gantonyova")){ + if (pat_id_subject.equals("gantonyova")) { return "761337610423590456"; } - if(pat_id_subject.equals("aamrein")){ + if (pat_id_subject.equals("aamrein")) { return "761337610455909127"; } - if(pat_id_subject.equals("sebibi")){ + if (pat_id_subject.equals("sebibi")) { return "761337610445502987"; } - if(pat_id_subject.equals("negger")){ + if (pat_id_subject.equals("negger")) { return "761337610448027647"; } - if(pat_id_subject.equals("aerne")){ + if (pat_id_subject.equals("aerne")) { return "761337610469261945"; } - if(pat_id_subject.equals("dozkanturk")){ + if (pat_id_subject.equals("dozkanturk")) { return "761337610510635763"; } - if(pat_id_subject.equals("remery")){ + if (pat_id_subject.equals("remery")) { return "761337610433933946"; } - if(pat_id_subject.equals("nwittwerchristen")){ + if (pat_id_subject.equals("nwittwerchristen")) { return "761337610411265304"; } - if(pat_id_subject.equals("rregez")){ + if (pat_id_subject.equals("rregez")) { return "761337610411265777"; } - if(pat_id_subject.equals("ftenaglia")){ + if (pat_id_subject.equals("ftenaglia")) { return "761337610411265456"; } return null; diff --git a/saml-generator/src/main/java/net/ihe/gazelle/xua/generator/model/AssertionAttributes.java b/saml-generator/src/main/java/net/ihe/gazelle/xua/generator/model/AssertionAttributes.java index 50f7ca2..dad4c89 100755 --- a/saml-generator/src/main/java/net/ihe/gazelle/xua/generator/model/AssertionAttributes.java +++ b/saml-generator/src/main/java/net/ihe/gazelle/xua/generator/model/AssertionAttributes.java @@ -9,121 +9,131 @@ package net.ihe.gazelle.xua.generator.model; public class AssertionAttributes { - static final String RECIPIENT = "https://sp.community.ch/epd"; - - private String accessingPersonId; - private String accessingPersonName; - private String purposeOfUse; - private String accessingPersonOrganizationId; - private String accessingPersonOrganizationName; - private String accessingPersonRole; - private String requestedResourceId; - private String appliesTo; - private String subjectConfirmationId; - private String subjectConfirmationRole; - private String subjectConfirmationName; - - public AssertionAttributes(String personId, String resourceId, String inPurposeOfUse, String personName, String organizationId, String - organizationName, String personRole, String subjectConfirmationId, String subjectConfirmationRole, String subjectConfirmationName) { - setAccessingPersonId(personId); - setRequestedResourceId(resourceId); - setPurposeOfUse(inPurposeOfUse); - setAccessingPersonName(personName); - setAccessingPersonOrganizationId(organizationId); - setAccessingPersonOrganizationName(organizationName); - setAccessingPersonRole(personRole); - setAppliesTo(RECIPIENT); - - setSubjectConfirmationId(subjectConfirmationId); - setSubjectConfirmationRole(subjectConfirmationRole); - setSubjectConfirmationName(subjectConfirmationName); - } - - public String getAccessingPersonId() { - return accessingPersonId; - } - - public void setAccessingPersonId(String accessingPersonId) { - this.accessingPersonId = accessingPersonId; - } - - public String getPurposeOfUse() { - return purposeOfUse; - } - - public void setPurposeOfUse(String purposeOfUse) { - this.purposeOfUse = purposeOfUse; - } - - public String getAccessingPersonOrganizationId() { - return accessingPersonOrganizationId; - } - - public void setAccessingPersonOrganizationId(String accessingPersonOrganizationId) { - this.accessingPersonOrganizationId = accessingPersonOrganizationId; - } - - public String getAccessingPersonOrganizationName() { - return accessingPersonOrganizationName; - } - - public void setAccessingPersonOrganizationName(String accessingPersonOrganizationName) { - this.accessingPersonOrganizationName = accessingPersonOrganizationName; - } - - public String getAccessingPersonRole() { - return accessingPersonRole; - } - - public void setAccessingPersonRole(String accessingPersonRole) { - this.accessingPersonRole = accessingPersonRole; - } - - public String getRequestedResourceId() { - return requestedResourceId; - } - - public void setRequestedResourceId(String requestedResourceId) { - this.requestedResourceId = requestedResourceId; - } - - public String getAccessingPersonName() { - return accessingPersonName; - } - - public void setAccessingPersonName(String accessingPersonName) { - this.accessingPersonName = accessingPersonName; - } - - public String getAppliesTo() { - return appliesTo; - } - - public void setAppliesTo(String appliesTo) { - this.appliesTo = appliesTo; - } - - public void setSubjectConfirmationId(String subjectConfirmationId) { - this.subjectConfirmationId = subjectConfirmationId; - } - - public String getSubjectConfirmationId() { - return subjectConfirmationId; - } - - public void setSubjectConfirmationRole(String subjectConfirmationRole) { - this.subjectConfirmationRole = subjectConfirmationRole; - } - - public String getSubjectConfirmationRole() { - return subjectConfirmationRole; - } - - public void setSubjectConfirmationName(String subjectConfirmationName) { - this.subjectConfirmationName = subjectConfirmationName; - } - - public String getSubjectConfirmationName() { - return subjectConfirmationName; - } + static final String RECIPIENT = "https://sp.community.ch/epd"; + + private String accessingPersonId; + private String accessingPersonName; + private String purposeOfUse; + private String accessingPersonOrganizationId; + private String accessingPersonOrganizationName; + private String accessingPersonRole; + private String requestedResourceId; + private String appliesTo; + private String subjectConfirmationId; + private String subjectConfirmationRole; + private String subjectConfirmationName; + private String homeCommunityId; + + public AssertionAttributes(String personId, String resourceId, String inPurposeOfUse, String personName, String organizationId, String + organizationName, String personRole, String subjectConfirmationId, String subjectConfirmationRole, String subjectConfirmationName, + String homeCommunityId) { + setAccessingPersonId(personId); + setRequestedResourceId(resourceId); + setPurposeOfUse(inPurposeOfUse); + setAccessingPersonName(personName); + setAccessingPersonOrganizationId(organizationId); + setAccessingPersonOrganizationName(organizationName); + setAccessingPersonRole(personRole); + setAppliesTo(RECIPIENT); + setSubjectConfirmationId(subjectConfirmationId); + setSubjectConfirmationRole(subjectConfirmationRole); + setSubjectConfirmationName(subjectConfirmationName); + setHomeCommunityId(homeCommunityId); + } + + public String getAccessingPersonId() { + return accessingPersonId; + } + + public void setAccessingPersonId(String accessingPersonId) { + this.accessingPersonId = accessingPersonId; + } + + public String getPurposeOfUse() { + return purposeOfUse; + } + + public void setPurposeOfUse(String purposeOfUse) { + this.purposeOfUse = purposeOfUse; + } + + public String getAccessingPersonOrganizationId() { + return accessingPersonOrganizationId; + } + + public void setAccessingPersonOrganizationId(String accessingPersonOrganizationId) { + this.accessingPersonOrganizationId = accessingPersonOrganizationId; + } + + public String getAccessingPersonOrganizationName() { + return accessingPersonOrganizationName; + } + + public void setAccessingPersonOrganizationName(String accessingPersonOrganizationName) { + this.accessingPersonOrganizationName = accessingPersonOrganizationName; + } + + public String getAccessingPersonRole() { + return accessingPersonRole; + } + + public void setAccessingPersonRole(String accessingPersonRole) { + this.accessingPersonRole = accessingPersonRole; + } + + public String getRequestedResourceId() { + return requestedResourceId; + } + + public void setRequestedResourceId(String requestedResourceId) { + this.requestedResourceId = requestedResourceId; + } + + public String getAccessingPersonName() { + return accessingPersonName; + } + + public void setAccessingPersonName(String accessingPersonName) { + this.accessingPersonName = accessingPersonName; + } + + public String getAppliesTo() { + return appliesTo; + } + + public void setAppliesTo(String appliesTo) { + this.appliesTo = appliesTo; + } + + public void setSubjectConfirmationId(String subjectConfirmationId) { + this.subjectConfirmationId = subjectConfirmationId; + } + + public String getSubjectConfirmationId() { + return subjectConfirmationId; + } + + public void setSubjectConfirmationRole(String subjectConfirmationRole) { + this.subjectConfirmationRole = subjectConfirmationRole; + } + + public String getSubjectConfirmationRole() { + return subjectConfirmationRole; + } + + public void setSubjectConfirmationName(String subjectConfirmationName) { + this.subjectConfirmationName = subjectConfirmationName; + } + + public String getSubjectConfirmationName() { + return subjectConfirmationName; + } + + public String getHomeCommunityId() { + return homeCommunityId; + } + + public void setHomeCommunityId(String homeCommunityId) { + this.homeCommunityId = homeCommunityId; + } } diff --git a/saml-generator/src/main/java/net/ihe/gazelle/xua/generator/utils/Constants.java b/saml-generator/src/main/java/net/ihe/gazelle/xua/generator/utils/Constants.java index 23ba668..42b7d1d 100755 --- a/saml-generator/src/main/java/net/ihe/gazelle/xua/generator/utils/Constants.java +++ b/saml-generator/src/main/java/net/ihe/gazelle/xua/generator/utils/Constants.java @@ -16,6 +16,7 @@ final class Constants { static final String RESOURCE_RESOURCE_ID = "urn:oasis:names:tc:xacml:2.0:resource:resource-id"; static final String SUBJECT_PURPOSEOFUSE = "urn:oasis:names:tc:xspa:1.0:subject:purposeofuse"; static final String AUDIENCE_ALL_COMMUNITIES = "urn:e-health-suisse:token-audience:all-communities"; + static final String HOME_COMMUNITY_ID = "urn:ihe:iti:xca:2010:homeCommunityId"; static final String CODE_SYSTEM_NAME = "codeSystemName"; static final String DISPLAY_NAME = "displayName"; static final String CODE_SYSTEM = "codeSystem"; diff --git a/saml-generator/src/main/java/net/ihe/gazelle/xua/generator/utils/EhealthsuisseHelperService.java b/saml-generator/src/main/java/net/ihe/gazelle/xua/generator/utils/EhealthsuisseHelperService.java index de5ddbf..4f1c274 100644 --- a/saml-generator/src/main/java/net/ihe/gazelle/xua/generator/utils/EhealthsuisseHelperService.java +++ b/saml-generator/src/main/java/net/ihe/gazelle/xua/generator/utils/EhealthsuisseHelperService.java @@ -74,400 +74,401 @@ import java.util.UUID; public class EhealthsuisseHelperService { - private static final Logger log = Logger.getLogger(EhealthsuisseHelperService.class.getName()); - public static final int ASSERTION_VALIDITY_DURATION_HOURS = 2; - - - public EhealthsuisseHelperService() { - super(); - } - - - @SuppressWarnings("deprecation") - public static void signSAMLAssertion(SignableSAMLObject as, KeyStoreManager keyManager, KeystoreParams keystoreParams) throws SMgrException { - - X509Certificate cert; - PrivateKey privateKey = null; - if (keystoreParams.getKeyAlias() == null) { - log.warn("Key alias has not been provided, generating a default certificate"); - cert = (X509Certificate) keyManager.getDefaultCertificate(); - } else { - KeyStore keyStore; + private static final Logger log = Logger.getLogger(EhealthsuisseHelperService.class.getName()); + public static final int ASSERTION_VALIDITY_DURATION_HOURS = 2; + + + public EhealthsuisseHelperService() { + super(); + } + + + @SuppressWarnings("deprecation") + public static void signSAMLAssertion(SignableSAMLObject as, KeyStoreManager keyManager, KeystoreParams keystoreParams) throws SMgrException { + + X509Certificate cert; + PrivateKey privateKey = null; + if (keystoreParams.getKeyAlias() == null) { + log.warn("Key alias has not been provided, generating a default certificate"); + cert = (X509Certificate) keyManager.getDefaultCertificate(); + } else { + KeyStore keyStore; + try { + keyStore = KeyStore.getInstance("JKS"); + } catch (KeyStoreException e) { + throw new SMgrException("Cannot get JKS instance of keystore", e); + } + File file = new File(keystoreParams.getKeystorePath()); + if (keystoreParams.getKeystorePassword() == null) { + throw new SMgrException("keystore password shall not be null"); + } else if (keystoreParams.getPrivateKeyPassword() == null) { + throw new SMgrException("private key password shall not be null"); + } else { + FileInputStream keystoreStream = null; try { - keyStore = KeyStore.getInstance("JKS"); - } catch (KeyStoreException e) { - throw new SMgrException("Cannot get JKS instance of keystore", e); + keystoreStream = new FileInputStream(file); + keyStore.load(keystoreStream, keystoreParams.getKeystorePassword().toCharArray()); + privateKey = (PrivateKey) keyStore.getKey(keystoreParams.getKeyAlias(), keystoreParams.getPrivateKeyPassword().toCharArray()); + cert = (X509Certificate) keyManager.getCertificate(keystoreParams.getKeyAlias()); + } catch (Exception e) { + throw new SMgrException(e.getMessage(), e); + } finally { + try { + if (keystoreStream != null) { + keystoreStream.close(); + } + } catch (IOException e) { + log.warn("Cannot close input stream"); + } } - File file = new File(keystoreParams.getKeystorePath()); - if (keystoreParams.getKeystorePassword() == null) { - throw new SMgrException("keystore password shall not be null"); - } else if (keystoreParams.getPrivateKeyPassword() == null) { - throw new SMgrException("private key password shall not be null"); - } else { - FileInputStream keystoreStream = null; - try { - keystoreStream = new FileInputStream(file); - keyStore.load(keystoreStream, keystoreParams.getKeystorePassword().toCharArray()); - privateKey = (PrivateKey) keyStore.getKey(keystoreParams.getKeyAlias(), keystoreParams.getPrivateKeyPassword().toCharArray()); - cert = (X509Certificate) keyManager.getCertificate(keystoreParams.getKeyAlias()); - } catch (Exception e) { - throw new SMgrException(e.getMessage(), e); - } finally { - try { - if (keystoreStream != null) { - keystoreStream.close(); - } - } catch (IOException e) { - log.warn("Cannot close input stream"); - } - } + } + } + + org.opensaml.xml.signature.Signature sig = (org.opensaml.xml.signature.Signature) Configuration + .getBuilderFactory().getBuilder(org.opensaml.xml.signature.Signature.DEFAULT_ELEMENT_NAME) + .buildObject(org.opensaml.xml.signature.Signature.DEFAULT_ELEMENT_NAME); + Credential signingCredential = SecurityHelper.getSimpleCredential(cert, privateKey); + + sig.setSigningCredential(signingCredential); + sig.setSignatureAlgorithm(Constants.SIGNATURE_ALGORITHM); + sig.setCanonicalizationAlgorithm(Constants.CANONICALIZATION_ALGORITHM); + + SecurityConfiguration secConfig = Configuration.getGlobalSecurityConfiguration(); + try { + SecurityHelper.prepareSignatureParams(sig, signingCredential, secConfig, null); + } catch (SecurityException e) { + throw new SMgrException(e.getMessage(), e); + } + + as.setSignature(sig); + try { + Configuration.getMarshallerFactory().getMarshaller(as).marshall(as); + } catch (MarshallingException e) { + throw new SMgrException(e.getMessage(), e); + } + try { + org.opensaml.xml.signature.Signer.signObject(sig); + } catch (Exception e) { + log.error(e.getMessage()); + throw new SMgrException(e.getMessage(), e); + } + } + + + public static AssertionImpl getUserAssertion(KeyStoreManager keystore, KeystoreParams keystoreParams, + AssertionAttributes inAttributes) throws Exception { + + AssertionImpl assertion = EhealthsuisseHelperService.createStorkAssertion(inAttributes); + signSAMLAssertion(assertion, keystore, keystoreParams); + return assertion; + } + + + public static String getStringAssertion(KeyStoreManager keystore, KeystoreParams keystoreParams, + AssertionAttributes inAttributes) throws Exception { + + Element element; + + try { + AssertionMarshaller marshaller = new AssertionMarshaller(); + AssertionImpl assertion = getUserAssertion(keystore, keystoreParams, inAttributes); + element = marshaller.marshall(assertion); + } catch (MarshallingException e) { + log.error(e.getMessage(), e); + throw e; + } + + Document document = element.getOwnerDocument(); + StringWriter writer = new StringWriter(); + + try { + Transformer transformer = TransformerFactory.newInstance().newTransformer(); + transformer.setOutputProperty("omit-xml-declaration", "yes"); + transformer.transform(new DOMSource(document), new StreamResult(writer)); + } catch (TransformerException e) { + log.error(e.getMessage()); + return null; + } + return writer.getBuffer().toString(); + + } + + private static AssertionImpl createStorkAssertion(AssertionAttributes assertionAttributes) { + + SubjectConfirmationData subjectConfirmationData; + ERole accessingPersonRole = ERole.getERoleByCode(assertionAttributes.getAccessingPersonRole()); + + AssertionImpl assertion = null; + try { + DefaultBootstrap.bootstrap(); + XMLObjectBuilderFactory builderFactory = Configuration.getBuilderFactory(); + + // Create the NameIdentifier + NameIDImpl nameId = createNameIdentifier(assertionAttributes, accessingPersonRole, builderFactory); + DateTime now = new DateTime(); + assertion = initializeAssertion(now); + Subject subject = createSubject(nameId); + assertion.setSubject(subject); + + // Create and add Subject Confirmation + if (assertionAttributes.getSubjectConfirmationName() != null) { + subjectConfirmationData = createSubjectConfirmationDataWithName(now, assertionAttributes); + } else { + subjectConfirmationData = createSubjectConfirmationData(now, assertionAttributes); + } + + SubjectConfirmation subjectConf = createSubjectConfirmation(subjectConfirmationData); + + // Create and add conditions + Conditions conditions = createConditions(now); + + AudienceRestriction audienceRestriction = createAudienceRestriction(); + + conditions.getAudienceRestrictions().add(audienceRestriction); + + if (assertionAttributes.getSubjectConfirmationId() != null) { + if (assertionAttributes.getSubjectConfirmationRole().equals("TCU")) { + NameIDImpl tcuNameIdConf = createNameIdentifierOnBehalf(assertionAttributes, ERole.TCU, builderFactory); + subjectConf.setNameID(tcuNameIdConf); + + NameIDImpl tcuNameIdCond = createNameIdentifierOnBehalf(assertionAttributes, ERole.TCU, builderFactory); + DelegationRestrictionType tcuDelegate = createDelegationRestrictionType(tcuNameIdCond); + conditions.getConditions().add(tcuDelegate); + + } else if (assertionAttributes.getSubjectConfirmationRole().equals("ASS")) { + + NameIDImpl assNameIdConf = createNameIdentifierOnBehalf(assertionAttributes, ERole.ASS, builderFactory); + subjectConf.setNameID(assNameIdConf); + + NameIDImpl assNameIdCond = createNameIdentifierOnBehalf(assertionAttributes, ERole.ASS, builderFactory); + DelegationRestrictionType assDelegate = createDelegationRestrictionType(assNameIdCond); + conditions.getConditions().add(assDelegate); } - } - - org.opensaml.xml.signature.Signature sig = (org.opensaml.xml.signature.Signature) Configuration - .getBuilderFactory().getBuilder(org.opensaml.xml.signature.Signature.DEFAULT_ELEMENT_NAME) - .buildObject(org.opensaml.xml.signature.Signature.DEFAULT_ELEMENT_NAME); - Credential signingCredential = SecurityHelper.getSimpleCredential(cert, privateKey); - - sig.setSigningCredential(signingCredential); - sig.setSignatureAlgorithm(Constants.SIGNATURE_ALGORITHM); - sig.setCanonicalizationAlgorithm(Constants.CANONICALIZATION_ALGORITHM); - - SecurityConfiguration secConfig = Configuration.getGlobalSecurityConfiguration(); - try { - SecurityHelper.prepareSignatureParams(sig, signingCredential, secConfig, null); - } catch (SecurityException e) { - throw new SMgrException(e.getMessage(), e); - } - - as.setSignature(sig); - try { - Configuration.getMarshallerFactory().getMarshaller(as).marshall(as); - } catch (MarshallingException e) { - throw new SMgrException(e.getMessage(), e); - } - try { - org.opensaml.xml.signature.Signer.signObject(sig); - } catch (Exception e) { - log.error(e.getMessage()); - throw new SMgrException(e.getMessage(), e); - } - } - - - public static AssertionImpl getUserAssertion(KeyStoreManager keystore, KeystoreParams keystoreParams, - AssertionAttributes inAttributes) throws Exception { - - AssertionImpl assertion = EhealthsuisseHelperService.createStorkAssertion(inAttributes); - signSAMLAssertion(assertion, keystore, keystoreParams); - return assertion; - } - - - public static String getStringAssertion(KeyStoreManager keystore, KeystoreParams keystoreParams, - AssertionAttributes inAttributes) throws Exception { - - Element element; - - try { - AssertionMarshaller marshaller = new AssertionMarshaller(); - AssertionImpl assertion = getUserAssertion(keystore, keystoreParams, inAttributes); - element = marshaller.marshall(assertion); - } catch (MarshallingException e) { - log.error(e.getMessage(), e); - throw e; - } - - Document document = element.getOwnerDocument(); - StringWriter writer = new StringWriter(); - - try { - Transformer transformer = TransformerFactory.newInstance().newTransformer(); - transformer.setOutputProperty("omit-xml-declaration", "yes"); - transformer.transform(new DOMSource(document), new StreamResult(writer)); - } catch (TransformerException e) { - log.error(e.getMessage()); - return null; - } - return writer.getBuffer().toString(); - - } - - private static AssertionImpl createStorkAssertion(AssertionAttributes assertionAttributes) { - - SubjectConfirmationData subjectConfirmationData; - ERole accessingPersonRole = ERole.getERoleByCode(assertionAttributes.getAccessingPersonRole()); - - AssertionImpl assertion = null; - try { - DefaultBootstrap.bootstrap(); - XMLObjectBuilderFactory builderFactory = Configuration.getBuilderFactory(); - - // Create the NameIdentifier - NameIDImpl nameId = createNameIdentifier(assertionAttributes, accessingPersonRole, builderFactory); - DateTime now = new DateTime(); - assertion = initializeAssertion(now); - Subject subject = createSubject(nameId); - assertion.setSubject(subject); - - // Create and add Subject Confirmation - if (assertionAttributes.getSubjectConfirmationName() != null) { - subjectConfirmationData = createSubjectConfirmationDataWithName(now, assertionAttributes); - } else { - subjectConfirmationData = createSubjectConfirmationData(now, assertionAttributes); - } - - SubjectConfirmation subjectConf = createSubjectConfirmation(subjectConfirmationData); - - // Create and add conditions - Conditions conditions = createConditions(now); - - AudienceRestriction audienceRestriction = createAudienceRestriction(); - - conditions.getAudienceRestrictions().add(audienceRestriction); - - if (assertionAttributes.getSubjectConfirmationId() != null) { - if (assertionAttributes.getSubjectConfirmationRole().equals("TCU")) { - NameIDImpl tcuNameIdConf = createNameIdentifierOnBehalf(assertionAttributes, ERole.TCU, builderFactory); - subjectConf.setNameID(tcuNameIdConf); - - NameIDImpl tcuNameIdCond = createNameIdentifierOnBehalf(assertionAttributes, ERole.TCU, builderFactory); - DelegationRestrictionType tcuDelegate = createDelegationRestrictionType(tcuNameIdCond); - conditions.getConditions().add(tcuDelegate); - - } else if (assertionAttributes.getSubjectConfirmationRole().equals("ASS")) { - - NameIDImpl assNameIdConf = createNameIdentifierOnBehalf(assertionAttributes, ERole.ASS, builderFactory); - subjectConf.setNameID(assNameIdConf); - - NameIDImpl assNameIdCond = createNameIdentifierOnBehalf(assertionAttributes, ERole.ASS, builderFactory); - DelegationRestrictionType assDelegate = createDelegationRestrictionType(assNameIdCond); - conditions.getConditions().add(assDelegate); - } - } - - assertion.getSubject().getSubjectConfirmations().add(subjectConf); - assertion.setConditions(conditions); - - Issuer issuer = createIssuer(); - assertion.setIssuer(issuer); - - // Add and create the authentication statement - AuthnStatement authStmt = createAuthnStatement(now); - assertion.getAuthnStatements().add(authStmt); - - // Create and add AuthnContext - AuthnContext ac = createAuthnContext(); - authStmt.setAuthnContext(ac); - - AttributeStatement attrStmt = create(AttributeStatement.class, AttributeStatement.DEFAULT_ELEMENT_NAME); - - // XSPA Subject - Attribute attrPID1 = createAttribute(builderFactory, Constants.SUBJECT_ID, - assertionAttributes.getAccessingPersonName()); - attrStmt.getAttributes().add(attrPID1); - - // XSPA Role - Attribute attrPID2 = createAttribute(Constants.SUBJECT_ROLE, accessingPersonRole); - attrStmt.getAttributes().add(attrPID2); - - // XSPA Organization - Attribute attrPID_3 = createAttribute(builderFactory, Constants.SUBJECT_ORGANIZATION, - assertionAttributes.getAccessingPersonOrganizationName()); - attrStmt.getAttributes().add(attrPID_3); - // XSPA Organization ID - Attribute attrPID_4 = createAttribute(builderFactory, Constants.SUBJECT_ORGANIZATION_ID, - assertionAttributes.getAccessingPersonOrganizationId()); - attrStmt.getAttributes().add(attrPID_4); - - // XSPA Organization ID - Attribute attrPID_5 = createAttribute(builderFactory, Constants.RESOURCE_RESOURCE_ID, - assertionAttributes.getRequestedResourceId()); - attrStmt.getAttributes().add(attrPID_5); - - // XSPA Organization ID - EpurposeOfUse purposeOfUse = EpurposeOfUse.getEpurposeOfUseByCode(assertionAttributes.getPurposeOfUse()); - Attribute attrPID_6 = createAttribute(Constants.SUBJECT_PURPOSEOFUSE, purposeOfUse); - attrStmt.getAttributes().add(attrPID_6); - - - assertion.getStatements().add(attrStmt); - - - assertion.addNamespace(new Namespace("http://www.w3.org/2001/XMLSchema", "xs")); - assertion.addNamespace(new Namespace("http://www.w3.org/2001/XMLSchema-instance", "xsi")); - - - } catch (ConfigurationException e) { - log.error(ExceptionUtils.getStackTrace(e)); - } - return assertion; - } - - private static AuthnContext createAuthnContext() { - AuthnContext ac = create(AuthnContext.class, AuthnContext.DEFAULT_ELEMENT_NAME); - AuthnContextClassRef accr = create(AuthnContextClassRef.class, AuthnContextClassRef.DEFAULT_ELEMENT_NAME); - accr.setAuthnContextClassRef(Constants.AUTHN_CONTEXT_CLASS_REF); - ac.setAuthnContextClassRef(accr); - return ac; - } - - private static AuthnStatement createAuthnStatement(DateTime now) { - AuthnStatement authStmt = create(AuthnStatement.class, AuthnStatement.DEFAULT_ELEMENT_NAME); - // TODO we might want to use the authentication instant from the authentication assertion - authStmt.setAuthnInstant(now); - authStmt.setSessionNotOnOrAfter(now.plusHours(ASSERTION_VALIDITY_DURATION_HOURS)); - return authStmt; - } - - private static Issuer createIssuer() { - Issuer issuer = new IssuerBuilder().buildObject(); - issuer.setValue(Constants.ISSUER); - return issuer; - } - - private static AudienceRestriction createAudienceRestriction() { - AudienceRestriction audienceRestriction = new AudienceRestrictionBuilder().buildObject(); - Audience issuerAudience = new AudienceBuilder().buildObject(); - issuerAudience.setAudienceURI(Constants.AUDIENCE_ALL_COMMUNITIES); - audienceRestriction.getAudiences().add(issuerAudience); - return audienceRestriction; - } - - private static Conditions createConditions(DateTime now) { - Conditions conditions = create(Conditions.class, Conditions.DEFAULT_ELEMENT_NAME); - - conditions.setNotBefore(now); - conditions.setNotOnOrAfter(now.plusHours(ASSERTION_VALIDITY_DURATION_HOURS)); - return conditions; - } - - private static SubjectConfirmation createSubjectConfirmation(SubjectConfirmationData subjectConfirmationData) { - SubjectConfirmation subjectConf = create(SubjectConfirmation.class, - SubjectConfirmation.DEFAULT_ELEMENT_NAME); - - subjectConf.setSubjectConfirmationData(subjectConfirmationData); - subjectConf.setMethod(SubjectConfirmation.METHOD_BEARER); - return subjectConf; - } - - private static Subject createSubject(NameIDImpl nameId) { - Subject subject = create(Subject.class, Subject.DEFAULT_ELEMENT_NAME); - subject.setNameID(nameId); - return subject; - } - - private static AssertionImpl initializeAssertion(DateTime issueInstant) { - AssertionImpl assertion; - assertion = create(AssertionImpl.class, Assertion.DEFAULT_ELEMENT_NAME); - String assId = "_" + UUID.randomUUID().toString(); - assertion.setID(assId); - assertion.setVersion(SAMLVersion.VERSION_20); - assertion.setIssueInstant(issueInstant); - return assertion; - } - - private static NameIDImpl createNameIdentifier(AssertionAttributes assertionAttributes, ERole accessingPersonRole, XMLObjectBuilderFactory - builderFactory) { - SAMLObjectBuilder nameIdBuilder = (SAMLObjectBuilder) builderFactory - .getBuilder(NameID.DEFAULT_ELEMENT_NAME); - NameIDImpl nameId = (NameIDImpl) nameIdBuilder.buildObject(); - nameId.setValue(assertionAttributes.getAccessingPersonId()); - nameId.setNameQualifier(accessingPersonRole.getNameQualifier()); - nameId.setFormat(NameID.PERSISTENT); - return nameId; - } - - private static NameIDImpl createNameIdentifierOnBehalf(AssertionAttributes assertionAttributes, ERole accessingPersonRole, XMLObjectBuilderFactory - builderFactory) { - SAMLObjectBuilder nameIdBuilder = (SAMLObjectBuilder) builderFactory - .getBuilder(NameID.DEFAULT_ELEMENT_NAME); - NameIDImpl nameId = (NameIDImpl) nameIdBuilder.buildObject(); - nameId.setValue(assertionAttributes.getSubjectConfirmationId()); - nameId.setNameQualifier(accessingPersonRole.getNameQualifier()); - nameId.setFormat(NameID.PERSISTENT); - return nameId; - } - - public static DelegationRestrictionType createDelegationRestrictionType(NameID nameID) { - DelegationRestrictionType delegationRestrictionType = new DelegationRestrictionTypeBuilder().buildObject(); - Delegate delegate = new DelegateBuilder().buildObject(); - delegate.setNameID(nameID); - delegationRestrictionType.getDelegates().add(delegate); - return delegationRestrictionType; - } - - - private static Attribute createAttribute(XMLObjectBuilderFactory builderFactory, String oasisName, String value) { - Attribute attrPID = create(Attribute.class, Attribute.DEFAULT_ELEMENT_NAME); - attrPID.setName(oasisName); - - if (value != null) { - XSAnyBuilder builder = (XSAnyBuilder) builderFactory.getBuilder(XSAny.TYPE_NAME); - XSAny attrVal = builder.buildObject(AttributeValue.DEFAULT_ELEMENT_NAME); - attrVal.setTextContent(value); - attrPID.getAttributeValues().add(attrVal); - } - - return attrPID; - } - - private static Attribute createAttribute(String oasisName, CEDatatype name) { - Attribute attr = create(Attribute.class, Attribute.DEFAULT_ELEMENT_NAME); - attr.setName(oasisName); - XMLObjectBuilderFactory bf = Configuration.getBuilderFactory(); - - XMLObjectBuilder<XSAny> xsAnyBuilder = bf.getBuilder(XSAny.TYPE_NAME); - - XSAny role = xsAnyBuilder.buildObject(Constants.V3_NAMESPACE, name.getHL7v3Name(), ""); - role.getUnknownAttributes().put(new QName("http://www.w3.org/2001/XMLSchema-instance", "type", "xsi"), "CE"); - role.getUnknownAttributes().put(new QName(Constants.CODE), name.getCode()); - role.getUnknownAttributes().put(new QName(Constants.CODE_SYSTEM), name.getCodeSystemName()); - role.getUnknownAttributes().put(new QName(Constants.CODE_SYSTEM_NAME), name.getCodeSystem()); - role.getUnknownAttributes().put(new QName(Constants.DISPLAY_NAME), name.getDisplayName()); - - XSAny roleAttributeValue = xsAnyBuilder.buildObject(AttributeValue.DEFAULT_ELEMENT_NAME); - roleAttributeValue.getUnknownXMLObjects().add(role); - - Attribute attribute = (Attribute) bf.getBuilder(Attribute.DEFAULT_ELEMENT_NAME).buildObject(Attribute.DEFAULT_ELEMENT_NAME); - attribute.setNameFormat("http://www.w3.org/2001/XMLSchema"); - - attr.getAttributeValues().add(roleAttributeValue); - return attr; - } - - - private static <T> T create(Class<T> cls, QName qname) { - return (T) ((XMLObjectBuilder) Configuration.getBuilderFactory().getBuilder(qname)).buildObject(qname); - } - - private static SubjectConfirmationData createSubjectConfirmationData(DateTime now, AssertionAttributes assertionAttributes) { - SubjectConfirmationData subjectConfirmationData = create(SubjectConfirmationData.class, - SubjectConfirmationData.DEFAULT_ELEMENT_NAME); - subjectConfirmationData.setRecipient(assertionAttributes.getAppliesTo()); - subjectConfirmationData.setInResponseTo("_43ef3e4fefdb03a31781d7ea52617674bcd25a6c26"); - subjectConfirmationData.setNotOnOrAfter(now.plusHours(ASSERTION_VALIDITY_DURATION_HOURS)); - return subjectConfirmationData; - } - - private static SubjectConfirmationData createSubjectConfirmationDataWithName(DateTime now, AssertionAttributes assertionAttributes) { - SubjectConfirmationDataWithName subjectConfirmationData = new SubjectConfirmationDataWithName(SAMLConstants.SAML20_NS, "SubjectConfirmationData", - SAMLConstants.SAML20_PREFIX); - subjectConfirmationData.setRecipient(assertionAttributes.getAppliesTo()); - subjectConfirmationData.setInResponseTo("_43ef3e4fefdb03a31781d7ea52617674bcd25a6c26"); - subjectConfirmationData.setNotOnOrAfter(now.plusHours(ASSERTION_VALIDITY_DURATION_HOURS)); - - - AttributeStatement attrStmt = create(AttributeStatement.class, AttributeStatement.DEFAULT_ELEMENT_NAME); - XMLObjectBuilderFactory builderFactory = Configuration.getBuilderFactory(); - - Attribute attributeName = createAttribute(builderFactory, Constants.SUBJECT_ID, - assertionAttributes.getSubjectConfirmationName()); - attrStmt.getAttributes().add(attributeName); - - subjectConfirmationData.setAttributeStatementName(attrStmt); - return subjectConfirmationData; - } + } + + assertion.getSubject().getSubjectConfirmations().add(subjectConf); + assertion.setConditions(conditions); + + Issuer issuer = createIssuer(); + assertion.setIssuer(issuer); + + // Add and create the authentication statement + AuthnStatement authStmt = createAuthnStatement(now); + assertion.getAuthnStatements().add(authStmt); + + // Create and add AuthnContext + AuthnContext ac = createAuthnContext(); + authStmt.setAuthnContext(ac); + + AttributeStatement attrStmt = create(AttributeStatement.class, AttributeStatement.DEFAULT_ELEMENT_NAME); + + // XSPA Subject + Attribute subjectAttribute = createHL7CEAttribute(builderFactory, Constants.SUBJECT_ID, + assertionAttributes.getAccessingPersonName()); + attrStmt.getAttributes().add(subjectAttribute); + + // XSPA Role + Attribute roleAttribute = createHL7CEAttribute(Constants.SUBJECT_ROLE, accessingPersonRole); + attrStmt.getAttributes().add(roleAttribute); + + // XSPA Organization + Attribute organizationAttribute = createHL7CEAttribute(builderFactory, Constants.SUBJECT_ORGANIZATION, + assertionAttributes.getAccessingPersonOrganizationName()); + attrStmt.getAttributes().add(organizationAttribute); + + // XSPA Organization ID + Attribute organizationIdAttribute = createHL7CEAttribute(builderFactory, Constants.SUBJECT_ORGANIZATION_ID, + assertionAttributes.getAccessingPersonOrganizationId()); + attrStmt.getAttributes().add(organizationIdAttribute); + + // Home Community ID + Attribute homeCommunityIdAttribute = createHL7CEAttribute(builderFactory, Constants.HOME_COMMUNITY_ID, + assertionAttributes.getHomeCommunityId()); + attrStmt.getAttributes().add(homeCommunityIdAttribute); + + // XSPA Ressource ID + Attribute resourceIdAttribute = createHL7CEAttribute(builderFactory, Constants.RESOURCE_RESOURCE_ID, + assertionAttributes.getRequestedResourceId()); + attrStmt.getAttributes().add(resourceIdAttribute); + + // XSPA Purpose of Use + EpurposeOfUse purposeOfUse = EpurposeOfUse.getEpurposeOfUseByCode(assertionAttributes.getPurposeOfUse()); + Attribute purposeOfUseAttribute = createHL7CEAttribute(Constants.SUBJECT_PURPOSEOFUSE, purposeOfUse); + attrStmt.getAttributes().add(purposeOfUseAttribute); + + assertion.getStatements().add(attrStmt); + + assertion.addNamespace(new Namespace("http://www.w3.org/2001/XMLSchema", "xs")); + assertion.addNamespace(new Namespace("http://www.w3.org/2001/XMLSchema-instance", "xsi")); + + + } catch (ConfigurationException e) { + log.error(ExceptionUtils.getStackTrace(e)); + } + return assertion; + } + + private static AuthnContext createAuthnContext() { + AuthnContext ac = create(AuthnContext.class, AuthnContext.DEFAULT_ELEMENT_NAME); + AuthnContextClassRef accr = create(AuthnContextClassRef.class, AuthnContextClassRef.DEFAULT_ELEMENT_NAME); + accr.setAuthnContextClassRef(Constants.AUTHN_CONTEXT_CLASS_REF); + ac.setAuthnContextClassRef(accr); + return ac; + } + + private static AuthnStatement createAuthnStatement(DateTime now) { + AuthnStatement authStmt = create(AuthnStatement.class, AuthnStatement.DEFAULT_ELEMENT_NAME); + // TODO we might want to use the authentication instant from the authentication assertion + authStmt.setAuthnInstant(now); + authStmt.setSessionNotOnOrAfter(now.plusHours(ASSERTION_VALIDITY_DURATION_HOURS)); + return authStmt; + } + + private static Issuer createIssuer() { + Issuer issuer = new IssuerBuilder().buildObject(); + issuer.setValue(Constants.ISSUER); + return issuer; + } + + private static AudienceRestriction createAudienceRestriction() { + AudienceRestriction audienceRestriction = new AudienceRestrictionBuilder().buildObject(); + Audience issuerAudience = new AudienceBuilder().buildObject(); + issuerAudience.setAudienceURI(Constants.AUDIENCE_ALL_COMMUNITIES); + audienceRestriction.getAudiences().add(issuerAudience); + return audienceRestriction; + } + + private static Conditions createConditions(DateTime now) { + Conditions conditions = create(Conditions.class, Conditions.DEFAULT_ELEMENT_NAME); + + conditions.setNotBefore(now); + conditions.setNotOnOrAfter(now.plusHours(ASSERTION_VALIDITY_DURATION_HOURS)); + return conditions; + } + + private static SubjectConfirmation createSubjectConfirmation(SubjectConfirmationData subjectConfirmationData) { + SubjectConfirmation subjectConf = create(SubjectConfirmation.class, + SubjectConfirmation.DEFAULT_ELEMENT_NAME); + + subjectConf.setSubjectConfirmationData(subjectConfirmationData); + subjectConf.setMethod(SubjectConfirmation.METHOD_BEARER); + return subjectConf; + } + + private static Subject createSubject(NameIDImpl nameId) { + Subject subject = create(Subject.class, Subject.DEFAULT_ELEMENT_NAME); + subject.setNameID(nameId); + return subject; + } + + private static AssertionImpl initializeAssertion(DateTime issueInstant) { + AssertionImpl assertion; + assertion = create(AssertionImpl.class, Assertion.DEFAULT_ELEMENT_NAME); + String assId = "_" + UUID.randomUUID().toString(); + assertion.setID(assId); + assertion.setVersion(SAMLVersion.VERSION_20); + assertion.setIssueInstant(issueInstant); + return assertion; + } + + private static NameIDImpl createNameIdentifier(AssertionAttributes assertionAttributes, ERole accessingPersonRole, XMLObjectBuilderFactory + builderFactory) { + SAMLObjectBuilder nameIdBuilder = (SAMLObjectBuilder) builderFactory + .getBuilder(NameID.DEFAULT_ELEMENT_NAME); + NameIDImpl nameId = (NameIDImpl) nameIdBuilder.buildObject(); + nameId.setValue(assertionAttributes.getAccessingPersonId()); + nameId.setNameQualifier(accessingPersonRole.getNameQualifier()); + nameId.setFormat(NameID.PERSISTENT); + return nameId; + } + + private static NameIDImpl createNameIdentifierOnBehalf(AssertionAttributes assertionAttributes, ERole accessingPersonRole, XMLObjectBuilderFactory + builderFactory) { + SAMLObjectBuilder nameIdBuilder = (SAMLObjectBuilder) builderFactory + .getBuilder(NameID.DEFAULT_ELEMENT_NAME); + NameIDImpl nameId = (NameIDImpl) nameIdBuilder.buildObject(); + nameId.setValue(assertionAttributes.getSubjectConfirmationId()); + nameId.setNameQualifier(accessingPersonRole.getNameQualifier()); + nameId.setFormat(NameID.PERSISTENT); + return nameId; + } + + public static DelegationRestrictionType createDelegationRestrictionType(NameID nameID) { + DelegationRestrictionType delegationRestrictionType = new DelegationRestrictionTypeBuilder().buildObject(); + Delegate delegate = new DelegateBuilder().buildObject(); + delegate.setNameID(nameID); + delegationRestrictionType.getDelegates().add(delegate); + return delegationRestrictionType; + } + + + private static Attribute createHL7CEAttribute(XMLObjectBuilderFactory builderFactory, String oasisName, String value) { + Attribute attrPID = create(Attribute.class, Attribute.DEFAULT_ELEMENT_NAME); + attrPID.setName(oasisName); + + if (value != null) { + XSAnyBuilder builder = (XSAnyBuilder) builderFactory.getBuilder(XSAny.TYPE_NAME); + XSAny attrVal = builder.buildObject(AttributeValue.DEFAULT_ELEMENT_NAME); + attrVal.setTextContent(value); + attrPID.getAttributeValues().add(attrVal); + } + + return attrPID; + } + + private static Attribute createHL7CEAttribute(String oasisName, CEDatatype name) { + XMLObjectBuilderFactory bf = Configuration.getBuilderFactory(); + XMLObjectBuilder<XSAny> xsAnyBuilder = bf.getBuilder(XSAny.TYPE_NAME); + + XSAny hl7CeValue = xsAnyBuilder.buildObject(Constants.V3_NAMESPACE, name.getHL7v3Name(), ""); + hl7CeValue.getUnknownAttributes().put(new QName("http://www.w3.org/2001/XMLSchema-instance", "type", "xsi"), "CE"); + hl7CeValue.getUnknownAttributes().put(new QName(Constants.CODE), name.getCode()); + hl7CeValue.getUnknownAttributes().put(new QName(Constants.CODE_SYSTEM), name.getCodeSystemName()); + hl7CeValue.getUnknownAttributes().put(new QName(Constants.CODE_SYSTEM_NAME), name.getCodeSystem()); + hl7CeValue.getUnknownAttributes().put(new QName(Constants.DISPLAY_NAME), name.getDisplayName()); + + XSAny attributeValue = xsAnyBuilder.buildObject(AttributeValue.DEFAULT_ELEMENT_NAME); + attributeValue.getUnknownXMLObjects().add(hl7CeValue); + + Attribute attribute = create(Attribute.class, Attribute.DEFAULT_ELEMENT_NAME); + attribute.setName(oasisName); + attribute.getAttributeValues().add(attributeValue); + return attribute; + } + + + private static <T> T create(Class<T> cls, QName qname) { + return (T) ((XMLObjectBuilder) Configuration.getBuilderFactory().getBuilder(qname)).buildObject(qname); + } + + private static SubjectConfirmationData createSubjectConfirmationData(DateTime now, AssertionAttributes assertionAttributes) { + SubjectConfirmationData subjectConfirmationData = create(SubjectConfirmationData.class, + SubjectConfirmationData.DEFAULT_ELEMENT_NAME); + subjectConfirmationData.setRecipient(assertionAttributes.getAppliesTo()); + subjectConfirmationData.setInResponseTo("_43ef3e4fefdb03a31781d7ea52617674bcd25a6c26"); + subjectConfirmationData.setNotOnOrAfter(now.plusHours(ASSERTION_VALIDITY_DURATION_HOURS)); + return subjectConfirmationData; + } + + private static SubjectConfirmationData createSubjectConfirmationDataWithName(DateTime now, AssertionAttributes assertionAttributes) { + SubjectConfirmationDataWithName subjectConfirmationData = new SubjectConfirmationDataWithName(SAMLConstants.SAML20_NS, + "SubjectConfirmationData", + SAMLConstants.SAML20_PREFIX); + subjectConfirmationData.setRecipient(assertionAttributes.getAppliesTo()); + subjectConfirmationData.setInResponseTo("_43ef3e4fefdb03a31781d7ea52617674bcd25a6c26"); + subjectConfirmationData.setNotOnOrAfter(now.plusHours(ASSERTION_VALIDITY_DURATION_HOURS)); + + + AttributeStatement attrStmt = create(AttributeStatement.class, AttributeStatement.DEFAULT_ELEMENT_NAME); + XMLObjectBuilderFactory builderFactory = Configuration.getBuilderFactory(); + + Attribute attributeName = createHL7CEAttribute(builderFactory, Constants.SUBJECT_ID, + assertionAttributes.getSubjectConfirmationName()); + attrStmt.getAttributes().add(attributeName); + + subjectConfirmationData.setAttributeStatementName(attrStmt); + return subjectConfirmationData; + } } diff --git a/saml-generator/src/test/java/net/ihe/gazelle/xua/generator/test/AssertionUtilsTest.java b/saml-generator/src/test/java/net/ihe/gazelle/xua/generator/test/AssertionUtilsTest.java index f6b12b7..0ee28c1 100644 --- a/saml-generator/src/test/java/net/ihe/gazelle/xua/generator/test/AssertionUtilsTest.java +++ b/saml-generator/src/test/java/net/ihe/gazelle/xua/generator/test/AssertionUtilsTest.java @@ -32,7 +32,7 @@ public class AssertionUtilsTest { private static AssertionAttributes getAssertionAttributes() { return new AssertionAttributes(GLN, EPR_S_PID, PURPOSE_OF_USE, "test", "11", "name", "HCP", - "1", "ASS", "aaa"); + "1", "ASS", "aaa", "urn:oid:1.2.3.4"); } private static KeystoreParams getKeystoreParameters() { -- GitLab From d84c569e0d83769e186e219f9fb388b3dd216860 Mon Sep 17 00:00:00 2001 From: ceoche <cedric.eoche.duval@gmail.com> Date: Wed, 7 Jul 2021 11:30:45 +0200 Subject: [PATCH 02/11] APS-16 - make homeCommunityID configurable, remove deprecated database assertion-provider, update README and init.d --- assertion-provider/README.md => README.md | 94 +++++--- .../groovy-script/mock-script.groovy | 3 +- .../init.d/assertionProviderMock | 3 +- .../epr-assertion-provider-soapui-project.xml | 216 ++++++++---------- assertion-provider/sql/schema.sql | 19 -- 5 files changed, 158 insertions(+), 177 deletions(-) rename assertion-provider/README.md => README.md (53%) delete mode 100644 assertion-provider/sql/schema.sql diff --git a/assertion-provider/README.md b/README.md similarity index 53% rename from assertion-provider/README.md rename to README.md index c56db35..dd19fc8 100644 --- a/assertion-provider/README.md +++ b/README.md @@ -4,7 +4,7 @@ ## Overview The EPR Assertion Provider MockUp is a SoapUI webservice (mock) that provides SAML Assertion when requested. -The Assertion Provider is based on a backend Java library net.ihe.gazelle.XUAGenerator that need to be deployed on the running SoapUI. +The Assertion Provider is based on a Gazelle Java library __saml-generator__ that need to be deployed on the running SoapUI. * default_wsdl_url: http://ehealthsuisse.ihe-europe.net:8090/STS?wsdl * default_path: /STS @@ -16,76 +16,90 @@ The Assertion Provider is based on a backend Java library net.ihe.gazelle.XUAGen * default_init.d: /etc/init.d/mock-eCH-XUAGenerator * default_keystore_path: /opt/gazelle/cert/jboss.jks - -## Install SoapUI - -[https://www.soapui.org/](https://www.soapui.org/) - -## Install EPR SAML Generator project - -### Get the Subversion project +### Get project sources ```bash -svn checkout https://scm.gforge.inria.fr/anonscm/svn/gazelle/EPD/trunk/epr-saml-generator/ $SAMLGENERATOR_DIR +git clone https://gitlab.inria.fr/gazelle/specific-tools/epr/assertion-provider.git $ASSERTION_PROVIDER_PROJECT_DIR ``` -### Deploy EPR SAML Generator in SoapUI - -Build the projet +## Build project ```bash -cd $SAMLGENERATOR_DIR +cd $ASSERTION_PROVIDER_PROJECT_DIR mvn clean package ``` +## Deploy locally the mock + +### Install SoapUI + +[https://www.soapui.org/](https://www.soapui.org/) + +Tested with SoapUI 5.3.0 and 5.5.0. + +### Deploy EPR SAML Generator + Copy the jar into the external SoapUI intallation dir -```bash -cp target/epr-saml-generator-X.X.X-jar-with-dependencies.jar $SOAPUI_INSTALL_DIR/bin/ext/. +```shell +cp saml-generator/target/epr-saml-generator-X.X.X-jar-with-dependencies.jar $SOAPUI_INSTALL_DIR/bin/ext/. ``` +### Deploy the mock messages recorder + Get the mock-recorder jar into the external SoapUI intallation dir -```bash +```shell cd $SOAPUI_INSTALL_DIR/bin/ext/. wget https://gazelle.ihe.net/nexus/service/local/repositories/releases/content/net/ihe/gazelle/gwt-message-recording-for-mock/1.7.3/gwt-message-recording-for-mock-1.7.3-jar-with-dependencies.jar ``` -## Install EPR Assertion Provider MockUp - -### Get the Subversion project - -```bash -svn checkout https://scm.gforge.inria.fr/anonscm/svn/gazelle/EPD/trunk/epr-assertion-provider-mockup/ $EPR_AP_MOCK_DIR -``` - ### Install libraries required by SoapUI Get the external jars (esapi, velocity and postgresql) -```bash +```shell cd $SOAPUI_INSTALL_DIR/lib/ wget https://repo1.maven.org/maven2/org/owasp/esapi/esapi/2.1.0.1/esapi-2.1.0.1.jar wget https://repo1.maven.org/maven2/org/apache/velocity/velocity/1.7/velocity-1.7.jar wget https://repo1.maven.org/maven2/org/postgresql/postgresql/42.2.22.jre7/postgresql-42.2.22.jre7.jar ``` -### Prepare the database +### GWT Database -Database is not mandatory, but if not configured, it will raise log errors for each recieving request. +Assertion-Provider may use Gazelle-Webservice-Tester database to record exchanged messages. The +database must be accessible at `jdbc:postgresql://localhost:5432/gazelle-webservice-tester` with +user `gazelle` and password `gazelle` by default. -```bash -psql -U gazelle postgres -> CREATE DATABASE "assertion-provider" OWNER gazelle ; -> \q -psql -U gazelle assertion-provider < $EPR_AP_MOCK_DIR/sql/schema.sql +If not configured, it will raise log errors for each recieving request. + +### Keystore to sign generated SAML assertions + +To sign generated assertion, the mock will need a certificate with its private key in a JKS keystore +at `"/opt/gazelle/cert/jboss.jks` with alias `jboss` and password `password` by default. + +### Run the mock + +Run with default parameters: + +```shell +$SOAPUI_INSTALL_DIR/bin/mockservicerunner.sh $ASSERTION_PROVIDER_PROJECT_DIR/assertion-provider/soapui/epr-assertion-provider-soapui-project.xml >> /var/log/soapui/epr-assertion-provider.log 2>&1 ``` +Parameters can be changed using the following options: +* `-m` WSDL Mock name (default `STSBindingMockService`) +* `-p` Mock port (default 8090) +* `-a` Mock resource path (default `/STS`) +* `-PhomeCommunityID=` Assertion-Provider's Home Community ID (default is `urn:oid:1.1.4567334.1.6`) + ## Mock as a service +Perform all SoapUI, librairies, database and keystore configuration described above, but instead +of directly calling the `mockRunner.sh` script, do the following steps: + ### Prepare the init.d script -Edit the init.d script `$EPR_AP_MOCK_DIR/init.d/assertionProviderMock` and set the following environment variables +Edit the init.d script `$ASSERTION_PROVIDER_PROJECT_DIR/assertion-provider/init.d/assertionProviderMock` and set the following environment variables * SOAPUI_PATH => Path of SoapUI folder * SOAPUI_PROJECT_PATH => Path of SoapUI project script @@ -93,6 +107,7 @@ Edit the init.d script `$EPR_AP_MOCK_DIR/init.d/assertionProviderMock` and set t * SOAPUI_MOCK_PORT => Port of the SoapUI mock * SOAPUI_MOCK_ENDPOINT => Path of the SoapUI mock * SOAPUI_MOCK_LOG => Path where to publish log file +* HOME_COMMUNITY_ID => Home Community ID of the Assertion Provider ### Declare the service @@ -140,14 +155,23 @@ sudo /etc/init.d/assertionProviderMock status ## Troubleshouting +### Missing packets + You might need to install those following packets ```bash sudo apt-get install -y libxrender1 libxtst6 libxi6 ``` -You might need to resolve errors when starting the mock +### Plugins error at startup + +You might need to resolve plugins errors when starting the mock + +```bash +sudo mv $USER_DIR/.soapuios/ $USER_DIR/.soapuios_old +``` +If lunch as a service or as root ```bash sudo mv /root/.soapuios/ /root/.soapuios_old ``` diff --git a/assertion-provider/groovy-script/mock-script.groovy b/assertion-provider/groovy-script/mock-script.groovy index 3cfd9cb..7064bfe 100755 --- a/assertion-provider/groovy-script/mock-script.groovy +++ b/assertion-provider/groovy-script/mock-script.groovy @@ -17,7 +17,8 @@ holder.declareNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance") // CONSTANTS //////////////////////////// ///////////////////////////////////////// -def HOME_COMMUNITY_ID = "urn:oid:1.1.4567334.1.6" +def setUpHomeCommunityID = context.mockService.project.getPropertyValue("homeCommunityID") ; +def HOME_COMMUNITY_ID = setUpHomeCommunityID == "" ? "urn:oid:1.1.4567334.1.6" : setUpHomeCommunityID ; ///////////////////////////////////////// ///////////////////////////////////////// diff --git a/assertion-provider/init.d/assertionProviderMock b/assertion-provider/init.d/assertionProviderMock index 193af1d..0792508 100755 --- a/assertion-provider/init.d/assertionProviderMock +++ b/assertion-provider/init.d/assertionProviderMock @@ -23,12 +23,13 @@ SOAPUI_MOCK_NAME=STSBindingMockService SOAPUI_MOCK_PORT=8090 SOAPUI_MOCK_ENDPOINT=/STS SOAPUI_MOCK_LOG=/var/log/soapui/epr-assertion-provider.log +HOME_COMMUNITY_ID=urn:oid:1.1.4567334.1.6 case "$1" in start) echo "Starting $SOAPUI_MOCK_NAME ..." - $SOAPUI_PATH/bin/mockservicerunner.sh -m "$SOAPUI_MOCK_NAME" -p "$SOAPUI_MOCK_PORT" -a "$SOAPUI_MOCK_ENDPOINT" $SOAPUI_PROJECT_PATH >> $SOAPUI_MOCK_LOG 2>&1 & + $SOAPUI_PATH/bin/mockservicerunner.sh -m "$SOAPUI_MOCK_NAME" -p "$SOAPUI_MOCK_PORT" -a "$SOAPUI_MOCK_ENDPOINT" -PhomeCommunityID=$HOME_COMMUNITY_ID $SOAPUI_PROJECT_PATH >> $SOAPUI_MOCK_LOG 2>&1 & if [ "$?" = '0' ]; then echo "Mock '$SOAPUI_MOCK_NAME' is started" exit 0 diff --git a/assertion-provider/soapui/epr-assertion-provider-soapui-project.xml b/assertion-provider/soapui/epr-assertion-provider-soapui-project.xml index c7d962a..55f0119 100755 --- a/assertion-provider/soapui/epr-assertion-provider-soapui-project.xml +++ b/assertion-provider/soapui/epr-assertion-provider-soapui-project.xml @@ -2155,20 +2155,20 @@ declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; declare namespace ds='http://www.w3.org/2000/09/xmldsig#'; declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; declare namespace ns1='urn:hl7-org:v3'; -//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210630121642025</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-06-30T12:16:42.025Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ +//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210706150722700</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-07-06T15:07:22.700Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ <saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" - ID="_fb2405ecd022b03e6ea9bd2da0754517" - IssueInstant="2021-06-30T12:16:42.602Z" + ID="_099c12aa1c8c1c7633896762c88654bc" + IssueInstant="2021-07-06T15:07:22.887Z" Version="2.0"> <saml2:Issuer>https://ehealthsuisse.ihe-europe.net/idp/shibboleth</saml2:Issuer> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"/> - <ds:Reference URI="#_fb2405ecd022b03e6ea9bd2da0754517"> + <ds:Reference URI="#_099c12aa1c8c1c7633896762c88654bc"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> @@ -2176,12 +2176,12 @@ declare namespace ns1='urn:hl7-org:v3'; </ds:Transform> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> - <ds:DigestValue>tGtmwuoIIZ2x+PxLpP/90dNx0931BF786wQZ4QR0Itw=</ds:DigestValue> + <ds:DigestValue>vM7TL1yF2SIgccMz23ga1Nrj6SRDCxtOQnw2zg8aYBU=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> - <ds:SignatureValue>EHKn5mVkwgG9biG8pi7QuvbLzcBXdwJWFe9iQauVBQorGEEGpis0SBfRV7Okvtq4h8JLx15jsood -maczLAisNDmnbeoxw7ULLCDpynNNuNrilHY1Y0/iBhUxexWeTAhP6F7CsJ+EpevQtpxMIk8h+ah1 -b/zTg2FK+DIImRgZDPo=</ds:SignatureValue> + <ds:SignatureValue>IqL+VjLo9R36M7vxhitzT7XyH9F/4lljG4jbvmZg7u8bomy/phd6P0P827h3vYTLqgRxMoQOH+aJ +xhVtzfagX4N/dTrfJY6USFTiVsS6cr3Xdrju+REPsUKKMEAIqHDzmBtDt6YYg+x+98y6RPA2grRw +cT1eDx5stlxgjWZANHk=</ds:SignatureValue> <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate>MIIDjTCCAvagAwIBAgICAI0wDQYJKoZIhvcNAQENBQAwRTELMAkGA1UEBhMCQ0gxDDAKBgNVBAoM @@ -2209,18 +2209,18 @@ ew==</ds:X509Certificate> NameQualifier="https://ehealthsuisse.ihe-europe.net/idp/shibboleth" SPNameQualifier="https://sp-clone.ihe-europe.net/shibboleth">aandrews</saml2:NameID> <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> - <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210630121642025" - NotOnOrAfter="2021-06-30T12:21:42.607Z" + <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210706150722700" + NotOnOrAfter="2021-07-06T15:12:22.893Z" Recipient="https://sp-clone.ihe-europe.net/Shibboleth.sso/SAML2/ECP"/> </saml2:SubjectConfirmation> </saml2:Subject> - <saml2:Conditions NotBefore="2021-06-30T12:16:42.602Z" NotOnOrAfter="2021-06-30T12:21:42.602Z"> + <saml2:Conditions NotBefore="2021-07-06T15:07:22.887Z" NotOnOrAfter="2021-07-06T15:12:22.887Z"> <saml2:AudienceRestriction> <saml2:Audience>https://sp-clone.ihe-europe.net/shibboleth</saml2:Audience> </saml2:AudienceRestriction> </saml2:Conditions> - <saml2:AuthnStatement AuthnInstant="2021-06-30T12:16:42.596Z" - SessionIndex="_58e9e807809c7ec01be03afdf5d4fdb8"> + <saml2:AuthnStatement AuthnInstant="2021-07-06T15:07:22.881Z" + SessionIndex="_ca9e33612b9aea7e2991818f7cece73e"> <saml2:SubjectLocality Address="127.0.0.1"/> <saml2:AuthnContext> <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef> @@ -2368,20 +2368,20 @@ declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; declare namespace ds='http://www.w3.org/2000/09/xmldsig#'; declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; declare namespace ns1='urn:hl7-org:v3'; -//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210630121642780</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-06-30T12:16:42.780Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ +//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210706150726661</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-07-06T15:07:26.661Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ <saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" - ID="_064c509230b4a4caff34bbf4f1894491" - IssueInstant="2021-06-30T12:16:43.171Z" + ID="_20ddb078678ebed988a28b3c89dfaf0c" + IssueInstant="2021-07-06T15:07:26.737Z" Version="2.0"> <saml2:Issuer>https://ehealthsuisse.ihe-europe.net/idp/shibboleth</saml2:Issuer> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"/> - <ds:Reference URI="#_064c509230b4a4caff34bbf4f1894491"> + <ds:Reference URI="#_20ddb078678ebed988a28b3c89dfaf0c"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> @@ -2389,12 +2389,12 @@ declare namespace ns1='urn:hl7-org:v3'; </ds:Transform> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> - <ds:DigestValue>QmtP5Dralz97TNb1eumZv3qswdsZ6iSalXIsnL0RhU0=</ds:DigestValue> + <ds:DigestValue>AdgygOFIIV18Y6I2R7S3LJ18hFXb5hOBHClf4ErRAQw=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> - <ds:SignatureValue>dZhvbprr/RaABiE76xTcLw0EUjsuwfx1jtkv3Rx7qTa2YI3CG9VEA3VIvCf08E4QpCLmCBOjk5pO -wNFnCcIRweAnojWJD3e9gvQN11VJ7F3KXTR4rJKB8MFVncwkMKEwcSKEipIjeQ2oK2428xqKf6jX -jcd97lL0tIGrUNokeLw=</ds:SignatureValue> + <ds:SignatureValue>O7Eg4rC5ZOkGgcSijt9b0h41zD9TvK1Z6Yh9O6sTwtwdd6/tqOB7lUIlYIiD+tFQeOKaIXMke1ou +jOtuvnt9U0jD0nZLKWp5/nycZtX6ZnjzoUvqdQBC445cdNVfs1fNkuuY7uk+dfh1btY4jZh8gXs2 +wNIhW08MEYtmnGr1QX4=</ds:SignatureValue> <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate>MIIDjTCCAvagAwIBAgICAI0wDQYJKoZIhvcNAQENBQAwRTELMAkGA1UEBhMCQ0gxDDAKBgNVBAoM @@ -2422,18 +2422,18 @@ ew==</ds:X509Certificate> NameQualifier="https://ehealthsuisse.ihe-europe.net/idp/shibboleth" SPNameQualifier="https://sp-clone.ihe-europe.net/shibboleth">nwittwerchristen</saml2:NameID> <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> - <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210630121642780" - NotOnOrAfter="2021-06-30T12:21:43.176Z" + <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210706150726661" + NotOnOrAfter="2021-07-06T15:12:26.741Z" Recipient="https://sp-clone.ihe-europe.net/Shibboleth.sso/SAML2/ECP"/> </saml2:SubjectConfirmation> </saml2:Subject> - <saml2:Conditions NotBefore="2021-06-30T12:16:43.171Z" NotOnOrAfter="2021-06-30T12:21:43.171Z"> + <saml2:Conditions NotBefore="2021-07-06T15:07:26.737Z" NotOnOrAfter="2021-07-06T15:12:26.737Z"> <saml2:AudienceRestriction> <saml2:Audience>https://sp-clone.ihe-europe.net/shibboleth</saml2:Audience> </saml2:AudienceRestriction> </saml2:Conditions> - <saml2:AuthnStatement AuthnInstant="2021-06-30T12:16:43.164Z" - SessionIndex="_526fa0f90d68a8e76261b4e2bb40605e"> + <saml2:AuthnStatement AuthnInstant="2021-07-06T15:07:26.732Z" + SessionIndex="_c8a94291399cf404d95732fe1683a7d0"> <saml2:SubjectLocality Address="127.0.0.1"/> <saml2:AuthnContext> <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef> @@ -2568,20 +2568,20 @@ declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; declare namespace ds='http://www.w3.org/2000/09/xmldsig#'; declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; declare namespace ns1='urn:hl7-org:v3'; -//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210630121643137</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-06-30T12:16:43.137Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ +//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210706150727267</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-07-06T15:07:27.267Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ <saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" - ID="_95c425476e51c3d116831571ee0dd713" - IssueInstant="2021-06-30T12:16:43.533Z" + ID="_2b42d966941ba6130a8ba57cd6ba5694" + IssueInstant="2021-07-06T15:07:27.321Z" Version="2.0"> <saml2:Issuer>https://ehealthsuisse.ihe-europe.net/idp/shibboleth</saml2:Issuer> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"/> - <ds:Reference URI="#_95c425476e51c3d116831571ee0dd713"> + <ds:Reference URI="#_2b42d966941ba6130a8ba57cd6ba5694"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> @@ -2589,12 +2589,12 @@ declare namespace ns1='urn:hl7-org:v3'; </ds:Transform> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> - <ds:DigestValue>STa0aw6vKXKphKRmYsQqSe8HTE0KJvHjZSCQGDAz8yI=</ds:DigestValue> + <ds:DigestValue>8IfHPwADcQF5iOIZfznvmKUj5fK0LRtcn8n4y6CaoHI=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> - <ds:SignatureValue>X74zl9RPSKIzQ7lQ3lmfuIMXUzfGIVlK98EVx4BNZVYGM+0g6jU9ndWGIN/8KJOZPo9UsDdA8Ark -zeFTvEIpoKJOIJ0ZdOw33/l05bIgeWSRPLmBOvY2Wt1kzQ1ck0vva2EH8ecmwEZml39D5r75f75N -wteC6T12RyM/QqZSjKc=</ds:SignatureValue> + <ds:SignatureValue>X93etUbwtSRUIGixG797GHDxjTpj0VK1ry/Nb1iezigAP39LkeGAyViNPKIF5BtIA/O41oKZOjLE +coYcC3yjs1Z6AqFr0GMeuqPjl+3BdeNt8CaXMhUgVcqji3sDHnQPBudnuWa81xm6x7PRoXN8aK5H +aqUHuH8L13b7jD8L27Q=</ds:SignatureValue> <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate>MIIDjTCCAvagAwIBAgICAI0wDQYJKoZIhvcNAQENBQAwRTELMAkGA1UEBhMCQ0gxDDAKBgNVBAoM @@ -2622,18 +2622,18 @@ ew==</ds:X509Certificate> NameQualifier="https://ehealthsuisse.ihe-europe.net/idp/shibboleth" SPNameQualifier="https://sp-clone.ihe-europe.net/shibboleth">ltieche</saml2:NameID> <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> - <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210630121643137" - NotOnOrAfter="2021-06-30T12:21:43.538Z" + <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210706150727267" + NotOnOrAfter="2021-07-06T15:12:27.326Z" Recipient="https://sp-clone.ihe-europe.net/Shibboleth.sso/SAML2/ECP"/> </saml2:SubjectConfirmation> </saml2:Subject> - <saml2:Conditions NotBefore="2021-06-30T12:16:43.533Z" NotOnOrAfter="2021-06-30T12:21:43.533Z"> + <saml2:Conditions NotBefore="2021-07-06T15:07:27.321Z" NotOnOrAfter="2021-07-06T15:12:27.321Z"> <saml2:AudienceRestriction> <saml2:Audience>https://sp-clone.ihe-europe.net/shibboleth</saml2:Audience> </saml2:AudienceRestriction> </saml2:Conditions> - <saml2:AuthnStatement AuthnInstant="2021-06-30T12:16:43.526Z" - SessionIndex="_05a36b307493868ad9a7aacdb0a4dda5"> + <saml2:AuthnStatement AuthnInstant="2021-07-06T15:07:27.316Z" + SessionIndex="_4797a191c6f1a854869a6d07627c8be4"> <saml2:SubjectLocality Address="127.0.0.1"/> <saml2:AuthnContext> <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef> @@ -2781,20 +2781,20 @@ declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; declare namespace ds='http://www.w3.org/2000/09/xmldsig#'; declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; declare namespace ns1='urn:hl7-org:v3'; -//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210630121643495</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-06-30T12:16:43.495Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ +//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210706150727942</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-07-06T15:07:27.942Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ <saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" - ID="_e0e12097485a013dbbea0634cbc3d093" - IssueInstant="2021-06-30T12:16:43.889Z" + ID="_38a6a218c231d1ad57f74f56ba18a8f6" + IssueInstant="2021-07-06T15:07:27.990Z" Version="2.0"> <saml2:Issuer>https://ehealthsuisse.ihe-europe.net/idp/shibboleth</saml2:Issuer> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"/> - <ds:Reference URI="#_e0e12097485a013dbbea0634cbc3d093"> + <ds:Reference URI="#_38a6a218c231d1ad57f74f56ba18a8f6"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> @@ -2802,12 +2802,12 @@ declare namespace ns1='urn:hl7-org:v3'; </ds:Transform> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> - <ds:DigestValue>0FhMhWzYr2SSgGf9A7oZfus5GKui67X31uRumH3mbnQ=</ds:DigestValue> + <ds:DigestValue>yIcE5JSe5l/KBjsmmfgBL3NXMX3sqPcHuuq5Bo2eGwc=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> - <ds:SignatureValue>B6iqJp8PY2GDfydEDIad/Burl1DiwNGTT95GueSbzr7VHAD1bQvfZ7g+5C7uUgzy41AX0s4YDRzP -kn7AMzRIqu4rrPunFCT8qMNcL0DLsDr+gZiMEYmabc3Od9/3jrzvPhG/D9l3W631v8GJp/rFiFD8 -ktIwENyJFLPjcyKfcYg=</ds:SignatureValue> + <ds:SignatureValue>QF3iUMwov1iqXAZ7CgTclqDKdhA/IDTQ1/xTg2U7PSLUZPDm/3fQnsp26naJ4pcDrm0dCgAQOVbl +yWOE+ogQE0XIVcF97IFxJnGbSvRPVR4+r/jnz3C6eCCMwOQzM0KoeZpxZ/4Bs+mC2M83S5GupIfY +++TDup1OMIko00siZGw=</ds:SignatureValue> <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate>MIIDjTCCAvagAwIBAgICAI0wDQYJKoZIhvcNAQENBQAwRTELMAkGA1UEBhMCQ0gxDDAKBgNVBAoM @@ -2835,18 +2835,18 @@ ew==</ds:X509Certificate> NameQualifier="https://ehealthsuisse.ihe-europe.net/idp/shibboleth" SPNameQualifier="https://sp-clone.ihe-europe.net/shibboleth">sbaader</saml2:NameID> <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> - <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210630121643495" - NotOnOrAfter="2021-06-30T12:21:43.894Z" + <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210706150727942" + NotOnOrAfter="2021-07-06T15:12:27.995Z" Recipient="https://sp-clone.ihe-europe.net/Shibboleth.sso/SAML2/ECP"/> </saml2:SubjectConfirmation> </saml2:Subject> - <saml2:Conditions NotBefore="2021-06-30T12:16:43.889Z" NotOnOrAfter="2021-06-30T12:21:43.889Z"> + <saml2:Conditions NotBefore="2021-07-06T15:07:27.990Z" NotOnOrAfter="2021-07-06T15:12:27.990Z"> <saml2:AudienceRestriction> <saml2:Audience>https://sp-clone.ihe-europe.net/shibboleth</saml2:Audience> </saml2:AudienceRestriction> </saml2:Conditions> - <saml2:AuthnStatement AuthnInstant="2021-06-30T12:16:43.883Z" - SessionIndex="_40b5e7291486b26555d4690ecacd0853"> + <saml2:AuthnStatement AuthnInstant="2021-07-06T15:07:27.985Z" + SessionIndex="_53eb531d63f2600e087a20083fbf63bd"> <saml2:SubjectLocality Address="127.0.0.1"/> <saml2:AuthnContext> <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef> @@ -2988,20 +2988,20 @@ declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; declare namespace ds='http://www.w3.org/2000/09/xmldsig#'; declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; declare namespace ns1='urn:hl7-org:v3'; -//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210630121643829</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-06-30T12:16:43.829Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ +//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210706150728441</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-07-06T15:07:28.441Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ <saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" - ID="_fcc2d9850d6b8a524cfc79c59e7eee5e" - IssueInstant="2021-06-30T12:16:44.217Z" + ID="_106b51058cd6c1248f0e71cc0d4cfeb2" + IssueInstant="2021-07-06T15:07:28.477Z" Version="2.0"> <saml2:Issuer>https://ehealthsuisse.ihe-europe.net/idp/shibboleth</saml2:Issuer> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"/> - <ds:Reference URI="#_fcc2d9850d6b8a524cfc79c59e7eee5e"> + <ds:Reference URI="#_106b51058cd6c1248f0e71cc0d4cfeb2"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> @@ -3009,12 +3009,12 @@ declare namespace ns1='urn:hl7-org:v3'; </ds:Transform> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> - <ds:DigestValue>FyWGPo//Bh66McN6M1vnHr3hasFUEV+mmln/hzxJQYc=</ds:DigestValue> + <ds:DigestValue>SnWWXZn4ySmxVFptGXg+ID6fvF8n+TLtjURHBHxy92A=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> - <ds:SignatureValue>VImZpSJWaI5+PTMalhVcehUVroCODHDgMSDhfIq3c21pQuQZ6KCR107eHAagklE8rM85Hii8UuWx -PoAeR6nUsi9gQKfyezRgYDQjS7tnbb/3IwmKI+g4tm6tNjWV2u4fDBQvF4rKxrCAEuQmfi4Ay6t+ -iG3/rxOVnn3tJsmR2yg=</ds:SignatureValue> + <ds:SignatureValue>XGydm9+LetG9zUuv9IEQoMiDNfk1T5mS1TksI08wjOeblLJ9T0hzIhdrbEGRQwJbPaWjbRobOD4/ +bbQM4nvV6fmkn1tuMvEEuJF4D+Z55Qc7Q445zCIqnkZzpgZjvrInMtLBDqG3BRBAlsC+w4w+lYhU +59SNb2QnO1nOs3AwIGQ=</ds:SignatureValue> <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate>MIIDjTCCAvagAwIBAgICAI0wDQYJKoZIhvcNAQENBQAwRTELMAkGA1UEBhMCQ0gxDDAKBgNVBAoM @@ -3042,18 +3042,18 @@ ew==</ds:X509Certificate> NameQualifier="https://ehealthsuisse.ihe-europe.net/idp/shibboleth" SPNameQualifier="https://sp-clone.ihe-europe.net/shibboleth">icastineira</saml2:NameID> <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> - <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210630121643829" - NotOnOrAfter="2021-06-30T12:21:44.222Z" + <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210706150728441" + NotOnOrAfter="2021-07-06T15:12:28.481Z" Recipient="https://sp-clone.ihe-europe.net/Shibboleth.sso/SAML2/ECP"/> </saml2:SubjectConfirmation> </saml2:Subject> - <saml2:Conditions NotBefore="2021-06-30T12:16:44.217Z" NotOnOrAfter="2021-06-30T12:21:44.217Z"> + <saml2:Conditions NotBefore="2021-07-06T15:07:28.477Z" NotOnOrAfter="2021-07-06T15:12:28.477Z"> <saml2:AudienceRestriction> <saml2:Audience>https://sp-clone.ihe-europe.net/shibboleth</saml2:Audience> </saml2:AudienceRestriction> </saml2:Conditions> - <saml2:AuthnStatement AuthnInstant="2021-06-30T12:16:44.211Z" - SessionIndex="_7d7dd217a970c48001f152523f87df69"> + <saml2:AuthnStatement AuthnInstant="2021-07-06T15:07:28.472Z" + SessionIndex="_cd3a707618644738f31fe78963db3d21"> <saml2:SubjectLocality Address="127.0.0.1"/> <saml2:AuthnContext> <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef> @@ -3195,20 +3195,20 @@ declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; declare namespace ds='http://www.w3.org/2000/09/xmldsig#'; declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; declare namespace ns1='urn:hl7-org:v3'; -//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210630121644201</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-06-30T12:16:44.201Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ +//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210706150729098</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-07-06T15:07:29.098Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ <saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" - ID="_d956e244a408136298367c70f83bc803" - IssueInstant="2021-06-30T12:16:44.588Z" + ID="_79f162c58a2022a5e37885d231b4710b" + IssueInstant="2021-07-06T15:07:29.145Z" Version="2.0"> <saml2:Issuer>https://ehealthsuisse.ihe-europe.net/idp/shibboleth</saml2:Issuer> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"/> - <ds:Reference URI="#_d956e244a408136298367c70f83bc803"> + <ds:Reference URI="#_79f162c58a2022a5e37885d231b4710b"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> @@ -3216,12 +3216,12 @@ declare namespace ns1='urn:hl7-org:v3'; </ds:Transform> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> - <ds:DigestValue>q4vy2b6+CLZWodiW24TSu2Z/R9aBGaTIrPXFyKta2sI=</ds:DigestValue> + <ds:DigestValue>yJW6XUkt5Fk63nJkBGmG7NrLqhkS8YrG0VEyOCDQVB0=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> - <ds:SignatureValue>X+sPvxdGZDsSQGLIKCCScD4XxK7jMysZfRUq6oHhiH4MEwEC9VxVgjfUthoSH2bMR+SE8bL1Xj8X -gijkS4u+xsf7Mn11Dm5otHK8WMYTGAiiCqD5/7R133Yk2o77yslmbgPCmF1asD5ff2HPT6P5Sghg -ohCHMRKPdA/DsWzs19c=</ds:SignatureValue> + <ds:SignatureValue>bLN1EkIdXBPbY9v6wpRaD27SshpusL/WDG+eWfiuROei7tDDRHs6DK4zpMvUVM2rv0DawMRb2wpK +OsSOxD0GFLdmfQJ95yvF9lpjPTQ6vsB+7N3S9/Hr38ZDl8UqWkoAeBrDk3nxYI2HV1bGXFcUTAmb +PjqOo23VvBZAxRvAVDc=</ds:SignatureValue> <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate>MIIDjTCCAvagAwIBAgICAI0wDQYJKoZIhvcNAQENBQAwRTELMAkGA1UEBhMCQ0gxDDAKBgNVBAoM @@ -3249,18 +3249,18 @@ ew==</ds:X509Certificate> NameQualifier="https://ehealthsuisse.ihe-europe.net/idp/shibboleth" SPNameQualifier="https://sp-clone.ihe-europe.net/shibboleth">kweisskopf</saml2:NameID> <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> - <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210630121644201" - NotOnOrAfter="2021-06-30T12:21:44.592Z" + <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210706150729098" + NotOnOrAfter="2021-07-06T15:12:29.149Z" Recipient="https://sp-clone.ihe-europe.net/Shibboleth.sso/SAML2/ECP"/> </saml2:SubjectConfirmation> </saml2:Subject> - <saml2:Conditions NotBefore="2021-06-30T12:16:44.588Z" NotOnOrAfter="2021-06-30T12:21:44.588Z"> + <saml2:Conditions NotBefore="2021-07-06T15:07:29.145Z" NotOnOrAfter="2021-07-06T15:12:29.145Z"> <saml2:AudienceRestriction> <saml2:Audience>https://sp-clone.ihe-europe.net/shibboleth</saml2:Audience> </saml2:AudienceRestriction> </saml2:Conditions> - <saml2:AuthnStatement AuthnInstant="2021-06-30T12:16:44.581Z" - SessionIndex="_4ab1c0a6975ebba2c3d3c823bfaa93a4"> + <saml2:AuthnStatement AuthnInstant="2021-07-06T15:07:29.140Z" + SessionIndex="_067653b08f27a9f1398efb47bf5b55ae"> <saml2:SubjectLocality Address="127.0.0.1"/> <saml2:AuthnContext> <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef> @@ -3402,20 +3402,20 @@ declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; declare namespace ds='http://www.w3.org/2000/09/xmldsig#'; declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; declare namespace ns1='urn:hl7-org:v3'; -//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210630121644573</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-06-30T12:16:44.573Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ +//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210706150729576</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-07-06T15:07:29.576Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ <saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" - ID="_957df5ac17376f5e6aab2d391f1d69f4" - IssueInstant="2021-06-30T12:16:44.958Z" + ID="_7619e15129cb11bde8e69761440ed5a9" + IssueInstant="2021-07-06T15:07:29.614Z" Version="2.0"> <saml2:Issuer>https://ehealthsuisse.ihe-europe.net/idp/shibboleth</saml2:Issuer> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"/> - <ds:Reference URI="#_957df5ac17376f5e6aab2d391f1d69f4"> + <ds:Reference URI="#_7619e15129cb11bde8e69761440ed5a9"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> @@ -3423,12 +3423,12 @@ declare namespace ns1='urn:hl7-org:v3'; </ds:Transform> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> - <ds:DigestValue>K79LF8CpGsAHFP/E1JJuSXemTuFxXueDKtK0FptkzKQ=</ds:DigestValue> + <ds:DigestValue>No4JS/k97eVEQO4M6uyVIVTun5bxLLipgXoJkAi314A=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> - <ds:SignatureValue>NY6ih7n5jHO5O6GzFhksUSPJIUliINzM6L1rp2ur+U7q8mpbgExb8PTOKTQPmc2mU5D86Q9ns9Fn -jqOsP8yu6u6fHjygCQn/8xjE1vRO/uSKk0WAj4J8i4OF1wGbNGT1cL7w77jBz+koADyv+g8+FWn9 -/h14uBvRNFXArqvQqGE=</ds:SignatureValue> + <ds:SignatureValue>DnmLqcVcK3/jJzfaLrE9vUq6J3+4EDFF8tcUe4ayWdpm5hI2+kRPVQzzqhbl+uM/EbgHJpDWnWx8 +3PcBoPmF6awB0T2luBhnMxYBMUn0Ko8NMsxGIXH+zAJrrEJDru0qPU6bJ5V77lstskaCHmMxvEBB +XunYqtTZqncuvSsz2qw=</ds:SignatureValue> <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate>MIIDjTCCAvagAwIBAgICAI0wDQYJKoZIhvcNAQENBQAwRTELMAkGA1UEBhMCQ0gxDDAKBgNVBAoM @@ -3456,18 +3456,18 @@ ew==</ds:X509Certificate> NameQualifier="https://ehealthsuisse.ihe-europe.net/idp/shibboleth" SPNameQualifier="https://sp-clone.ihe-europe.net/shibboleth">aamrein</saml2:NameID> <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> - <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210630121644573" - NotOnOrAfter="2021-06-30T12:21:44.963Z" + <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210706150729576" + NotOnOrAfter="2021-07-06T15:12:29.619Z" Recipient="https://sp-clone.ihe-europe.net/Shibboleth.sso/SAML2/ECP"/> </saml2:SubjectConfirmation> </saml2:Subject> - <saml2:Conditions NotBefore="2021-06-30T12:16:44.958Z" NotOnOrAfter="2021-06-30T12:21:44.958Z"> + <saml2:Conditions NotBefore="2021-07-06T15:07:29.614Z" NotOnOrAfter="2021-07-06T15:12:29.614Z"> <saml2:AudienceRestriction> <saml2:Audience>https://sp-clone.ihe-europe.net/shibboleth</saml2:Audience> </saml2:AudienceRestriction> </saml2:Conditions> - <saml2:AuthnStatement AuthnInstant="2021-06-30T12:16:44.953Z" - SessionIndex="_2d1dffe6d7e44691f5212e0c5aee98c0"> + <saml2:AuthnStatement AuthnInstant="2021-07-06T15:07:29.610Z" + SessionIndex="_4778d874a23deb0311164ffcdf7da0eb"> <saml2:SubjectLocality Address="127.0.0.1"/> <saml2:AuthnContext> <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef> @@ -3840,34 +3840,7 @@ if (getRole.equals("HCP")){ } def runner = project.testSuites['idp_connection_library'].testCases[testCaseRole].run( null, true) -</script></con:config></con:testStep><con:properties/></con:testCase><con:properties><con:property><con:name>endpointIDP</con:name><con:value>https://ehealthsuisse-test.ihe-europe.net/idp/profile/SAML2/SOAP/ECP</con:value></con:property><con:property><con:name>endpointSTS</con:name><con:value>https://ehealthsuisse-test.ihe-europe.net:10443/STS</con:value></con:property></con:properties></con:testSuite><con:mockService id="34cb82bf-16dc-4c32-8274-ad7f381776a4" port="8090" path="/STS" host="localhost" name="STSBindingMockService" bindToHostOnly="false" docroot=""><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.mock.WsdlMockService@require-soap-action">false</con:setting></con:settings><con:startScript/><con:properties/><con:onRequestScript>import java.sql.*; -import groovy.sql.Sql; - -// Connect to DB -def sql - -try{ - sql = Sql.newInstance('jdbc:postgresql:assertion-provider', 'gazelle', 'gazelle', 'org.postgresql.Driver') -} catch(SQLException e){ - log.error "Unable to connect to database: " + e - return -} - -// Save request -def request = mockRequest.requestContent -def date = new Timestamp(new java.util.Date().getTime()); -def insertRequest = """INSERT INTO request (id, date, request) VALUES ( - nextval('request_id_seq'), - $date, - $request);""" - -try{ - sql.execute(insertRequest) -}catch(SQLException e){ - log.warn "Fail to save request in database: " + e -} - -sql.close();</con:onRequestScript><con:mockOperation name="Issue" id="16e0d16a-38f9-4d77-85e4-dbda5cf925c8" interface="STSBinding" operation="Issue"><con:settings/><con:defaultResponse>Default RequestSecurityTokenResponse</con:defaultResponse><con:dispatchStyle>SCRIPT</con:dispatchStyle><con:dispatchPath><![CDATA[import net.ihe.gazelle.xua.generator.utils.AssertionUtils +</script></con:config></con:testStep><con:properties/></con:testCase><con:properties><con:property><con:name>endpointIDP</con:name><con:value>https://ehealthsuisse-test.ihe-europe.net/idp/profile/SAML2/SOAP/ECP</con:value></con:property><con:property><con:name>endpointSTS</con:name><con:value>https://ehealthsuisse-test.ihe-europe.net:10443/STS</con:value></con:property></con:properties></con:testSuite><con:mockService id="34cb82bf-16dc-4c32-8274-ad7f381776a4" port="8090" path="/STS" host="localhost" name="STSBindingMockService" bindToHostOnly="false" docroot=""><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.mock.WsdlMockService@require-soap-action">false</con:setting></con:settings><con:startScript/><con:properties/><con:onRequestScript/><con:mockOperation name="Issue" id="16e0d16a-38f9-4d77-85e4-dbda5cf925c8" interface="STSBinding" operation="Issue"><con:settings/><con:defaultResponse>Default RequestSecurityTokenResponse</con:defaultResponse><con:dispatchStyle>SCRIPT</con:dispatchStyle><con:dispatchPath><![CDATA[import net.ihe.gazelle.xua.generator.utils.AssertionUtils import net.ihe.gazelle.xua.generator.model.AssertionAttributes; import net.ihe.gazelle.xua.generator.model.KeystoreParams; import java.util.regex.Matcher; @@ -3886,7 +3859,8 @@ holder.declareNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance") // CONSTANTS //////////////////////////// ///////////////////////////////////////// -def HOME_COMMUNITY_ID = "urn:oid:1.1.4567334.1.6" +def setUpHomeCommunityID = context.mockService.project.getPropertyValue("homeCommunityID") ; +def HOME_COMMUNITY_ID = setUpHomeCommunityID == "" ? "urn:oid:1.1.4567334.1.6" : setUpHomeCommunityID ; ///////////////////////////////////////// ///////////////////////////////////////// @@ -4974,4 +4948,4 @@ ew==</ds:X509Certificate> <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">19600110163403.350Z</saml2:AttributeValue> </saml2:Attribute> </saml2:AttributeStatement> - </saml2:Assertion>]]></con:value></con:property><con:property><con:name>user</con:name><con:value/></con:property></con:properties><con:wssContainer><con:crypto><con:source>/opt/gazelle/cert/jboss.jks</con:source><con:password>password</con:password><con:type>KEYSTORE</con:type></con:crypto></con:wssContainer><con:oAuth2ProfileContainer/><con:oAuth1ProfileContainer/><con:sensitiveInformation/></con:soapui-project> \ No newline at end of file + </saml2:Assertion>]]></con:value></con:property><con:property><con:name>user</con:name><con:value/></con:property><con:property><con:name>homeCommunityID</con:name><con:value>urn:oid:1.1.4567334.1.6</con:value></con:property></con:properties><con:wssContainer><con:crypto><con:source>/opt/gazelle/cert/jboss.jks</con:source><con:password>password</con:password><con:type>KEYSTORE</con:type></con:crypto></con:wssContainer><con:oAuth2ProfileContainer/><con:oAuth1ProfileContainer/><con:sensitiveInformation/></con:soapui-project> \ No newline at end of file diff --git a/assertion-provider/sql/schema.sql b/assertion-provider/sql/schema.sql deleted file mode 100644 index 87b229a..0000000 --- a/assertion-provider/sql/schema.sql +++ /dev/null @@ -1,19 +0,0 @@ -CREATE TABLE public.request ( - id integer NOT NULL, - date timestamp with time zone, - request text -); - -ALTER TABLE public.request OWNER TO gazelle; - -ALTER TABLE ONLY public.request - ADD CONSTRAINT request_pkey PRIMARY KEY (id); - -CREATE SEQUENCE request_id_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - NO MAXVALUE - CACHE 1; - -ALTER TABLE public.request_id_seq OWNER TO gazelle; -- GitLab From 38c24d91ee2d154fb9023e1de9e088334c82cb7c Mon Sep 17 00:00:00 2001 From: ceoche <cedric.eoche.duval@gmail.com> Date: Wed, 7 Jul 2021 17:18:49 +0200 Subject: [PATCH 03/11] Parameterize DB connection --- README.md | 5 +- ...ovy => AssertionProviderDispatcher.groovy} | 77 ++++++++++------- .../MockTransactionRecorder.groovy | 72 ++++++++++++++++ ...apui-response.groovy => OnResponse.groovy} | 2 +- .../record-mock-transaction.groovy | 62 -------------- .../epr-assertion-provider-soapui-project.xml | 83 +++++++++++-------- 6 files changed, 172 insertions(+), 129 deletions(-) rename assertion-provider/groovy-script/{mock-script.groovy => AssertionProviderDispatcher.groovy} (95%) create mode 100755 assertion-provider/groovy-script/MockTransactionRecorder.groovy rename assertion-provider/groovy-script/{script-for-soapui-response.groovy => OnResponse.groovy} (84%) delete mode 100755 assertion-provider/groovy-script/record-mock-transaction.groovy diff --git a/README.md b/README.md index dd19fc8..f63bf76 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ The Assertion Provider is based on a Gazelle Java library __saml-generator__ tha * default_init.d: /etc/init.d/mock-eCH-XUAGenerator * default_keystore_path: /opt/gazelle/cert/jboss.jks -### Get project sources +## Get project sources ```bash git clone https://gitlab.inria.fr/gazelle/specific-tools/epr/assertion-provider.git $ASSERTION_PROVIDER_PROJECT_DIR @@ -91,6 +91,9 @@ Parameters can be changed using the following options: * `-p` Mock port (default 8090) * `-a` Mock resource path (default `/STS`) * `-PhomeCommunityID=` Assertion-Provider's Home Community ID (default is `urn:oid:1.1.4567334.1.6`) +* `-PjdbcUrl=` GWT database URL (default is `jdbc:postgresql://localhost:5432/gazelle-webservice-tester`) +* `-PdbUser=` User to connect to the database (default is `gazelle`) +* `-PdbUserPassword=` User's password to connect to the database (default is `gazelle`) ## Mock as a service diff --git a/assertion-provider/groovy-script/mock-script.groovy b/assertion-provider/groovy-script/AssertionProviderDispatcher.groovy similarity index 95% rename from assertion-provider/groovy-script/mock-script.groovy rename to assertion-provider/groovy-script/AssertionProviderDispatcher.groovy index 7064bfe..16f0903 100755 --- a/assertion-provider/groovy-script/mock-script.groovy +++ b/assertion-provider/groovy-script/AssertionProviderDispatcher.groovy @@ -5,7 +5,33 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import com.eviware.soapui.support.XmlHolder -// create XmlHolder for request content +///////////////////////////////////////// +// CONSTANTS //////////////////////////// +///////////////////////////////////////// + +def final DEFAULT_HOME_COMMUNITY_ID = "urn:oid:1.1.4567334.1.6" +def final PROPERTY_HOME_COMMUNITY_ID = "homeCommunityID" + +def final DEFAULT_KEYSTORE_PATH = "/opt/gazelle/cert/jboss.jks" +def final DEFAULT_KEYSTORE_PASSWORD = "password" +def final DEFAULT_KEY_ALIAS = "jboss" +def final DEFAULT_KEY_PASSWORD = "password" +def final DEFAULT_TRUSTSTORE_PATH = DEFAULT_KEYSTORE_PATH +def final DEFAULT_TRUSTSTORE_PASSWORD = DEFAULT_KEYSTORE_PASSWORD + +///////////////////////////////////////// +// MOCK PARAMETERS ////////////////////// +///////////////////////////////////////// + +// Home Community ID +def homeCommunityID = getParameter(PROPERTY_HOME_COMMUNITY_ID, DEFAULT_HOME_COMMUNITY_ID); + +// Keystore +def keystoreParams = new KeystoreParams(DEFAULT_KEYSTORE_PATH, DEFAULT_KEYSTORE_PASSWORD, DEFAULT_TRUSTSTORE_PATH, DEFAULT_TRUSTSTORE_PASSWORD, DEFAULT_KEY_ALIAS, DEFAULT_KEY_PASSWORD) + +////////////////////////////////////////// +// create XmlHolder for request content // +////////////////////////////////////////// def holder = new XmlHolder(mockRequest.requestContent) holder.declareNamespace("wst", "http://docs.oasis-open.org/ws-sx/ws-trust/200512") holder.declareNamespace("wsp", "http://schemas.xmlsoap.org/ws/2004/09/policy") @@ -14,26 +40,13 @@ holder.declareNamespace("saml2", "urn:oasis:names:tc:SAML:2.0:assertion") holder.declareNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance") ///////////////////////////////////////// -// CONSTANTS //////////////////////////// -///////////////////////////////////////// - -def setUpHomeCommunityID = context.mockService.project.getPropertyValue("homeCommunityID") ; -def HOME_COMMUNITY_ID = setUpHomeCommunityID == "" ? "urn:oid:1.1.4567334.1.6" : setUpHomeCommunityID ; - -///////////////////////////////////////// -///////////////////////////////////////// -//VARIABLES TO CHECK///////////////////// +//CHECK PROPERTIERS FOR GENERAL REQUEST// ///////////////////////////////////////// -// All those MUST be in the request def g_purposeOfUse = holder["//wst:Claims/saml2:Attribute[@Name='urn:oasis:names:tc:xspa:1.0:subject:purposeofuse']/saml2:AttributeValue/*:PurposeOfUse/@code"] def g_role = holder["//wst:Claims/saml2:Attribute[@Name='urn:oasis:names:tc:xacml:2.0:subject:role']/saml2:AttributeValue/*:Role/@code"] def g_EPR_SPIP = holder["//wst:Claims/saml2:Attribute[@Name='urn:oasis:names:tc:xacml:2.0:resource:resource-id']/saml2:AttributeValue"] def g_assertion = holder["exists(//saml2:Assertion)"] def applies_to_exist = holder["exists(//wst:RequestSecurityToken/wsp:AppliesTo)"] -///////////////////////////////////////// -///////////////////////////////////////// -//CHECK PROPERTIERS FOR GENERAL REQUEST// -///////////////////////////////////////// if (g_purposeOfUse != null && isDefined(g_purposeOfUse)) { requestContext.g_purposeOfUse = g_purposeOfUse @@ -62,7 +75,7 @@ if (g_EPR_SPIP != null && isDefined(g_EPR_SPIP)) { log.info "All checks for common requirements passed" -///////////////////////////////////////// + ///////////////////////////////////////// /////////////CHECK ROLE CODE///////////// ///////////////////////////////////////// @@ -74,7 +87,7 @@ if (g_role == "SoapFault Response") { return g_role } -///////////////////////////////////////// + ///////////////////////////////////////// ///SPECIFIC CHECK BASED ON ROLE CODE///// ///////////////////////////////////////// @@ -136,8 +149,7 @@ if (g_role == "HCP") { // Generate assertion log.info "Generating assertion" - def keystoreParams = new KeystoreParams("/opt/gazelle/cert/jboss.jks", "password", "/opt/gazelle/cert/jboss.jks", "password", "jboss", "password") - def assertionAttributes = new AssertionAttributes(requestContext.final_gln, requestContext.g_EPR_SPIP, requestContext.g_purposeOfUse, doctorName, groupId, organizationName, g_role, null, null, null, HOME_COMMUNITY_ID) + def assertionAttributes = new AssertionAttributes(requestContext.final_gln, requestContext.g_EPR_SPIP, requestContext.g_purposeOfUse, doctorName, groupId, organizationName, g_role, null, null, null, homeCommunityID) def assertion = AssertionUtils.getStringAssertionWithPath(assertionAttributes, keystoreParams) requestContext.appliesTo = getAppliesTo(applies_to_exist, holder) requestContext.assertion = assertion @@ -264,10 +276,10 @@ if (g_role == "HCP") { // Generate assertion log.info "Generating assertion" - def keystoreParams = new KeystoreParams("/opt/gazelle/cert/jboss.jks", "password", "/opt/gazelle/cert/jboss.jks", "password", "jboss", "password") + def assertionAttributes = new AssertionAttributes(requestContext.ass_principalID, requestContext.g_EPR_SPIP, requestContext.g_purposeOfUse, getNameFromGln(requestContext.ass_principalID), getGroupIdFromHcpGln(requestContext.ass_principalID), - getOrganizationNameFromId(getGroupIdFromHcpGln(requestContext.ass_principalID)), "HCP", requestContext.ass_gln, "ASS", getAssNameFromGLN(requestContext.ass_gln), HOME_COMMUNITY_ID) + getOrganizationNameFromId(getGroupIdFromHcpGln(requestContext.ass_principalID)), "HCP", requestContext.ass_gln, "ASS", getAssNameFromGLN(requestContext.ass_gln), homeCommunityID) def assertion = AssertionUtils.getStringAssertionWithPath(assertionAttributes, keystoreParams) requestContext.appliesTo = getAppliesTo(applies_to_exist, holder) requestContext.assertion = assertion @@ -363,10 +375,9 @@ if (g_role == "HCP") { //Generate Assertion log.info "Generating assertion" - def keystoreParams = new KeystoreParams("/opt/gazelle/cert/jboss.jks", "password", "/opt/gazelle/cert/jboss.jks", "password", "jboss", "password") def assertionAttributes = new AssertionAttributes(requestContext.tcu_principalID, requestContext.g_EPR_SPIP, "AUTO", getNameFromGln(requestContext.tcu_principalID), getGroupIdFromHcpGln(requestContext.tcu_principalID), - getOrganizationNameFromId(getGroupIdFromHcpGln(requestContext.tcu_principalID)), "HCP", requestContext.tcu_gln, "TCU", null, HOME_COMMUNITY_ID) + getOrganizationNameFromId(getGroupIdFromHcpGln(requestContext.tcu_principalID)), "HCP", requestContext.tcu_gln, "TCU", null, homeCommunityID) def assertion = AssertionUtils.getStringAssertionWithPath(assertionAttributes, keystoreParams) requestContext.appliesTo = getAppliesTo(applies_to_exist, holder) @@ -395,8 +406,7 @@ if (g_role == "HCP") { } log.info "Generating assertion" - def keystoreParams = new KeystoreParams("/opt/gazelle/cert/jboss.jks", "password", "/opt/gazelle/cert/jboss.jks", "password", "jboss", "password") - def assertionAttributes = new AssertionAttributes(requestContext.padm_gln, requestContext.g_EPR_SPIP, "NORM", getPADMNameFromId(padm_id_subject), null, null, "PADM", null, null, null, HOME_COMMUNITY_ID) + def assertionAttributes = new AssertionAttributes(requestContext.padm_gln, requestContext.g_EPR_SPIP, "NORM", getPADMNameFromId(padm_id_subject), null, null, "PADM", null, null, null, homeCommunityID) def assertion = AssertionUtils.getStringAssertionWithPath(assertionAttributes, keystoreParams); requestContext.appliesTo = getAppliesTo(applies_to_exist, holder) requestContext.assertion = assertion @@ -424,8 +434,7 @@ if (g_role == "HCP") { } log.info "Generating assertion" - def keystoreParams = new KeystoreParams("/opt/gazelle/cert/jboss.jks", "password", "/opt/gazelle/cert/jboss.jks", "password", "jboss", "password") - def assertionAttributes = new AssertionAttributes(requestContext.dadm_gln, requestContext.g_EPR_SPIP, "NORM", getDADMNameFromId(dadm_id_subject), null, null, g_role, null, null, null, HOME_COMMUNITY_ID) + def assertionAttributes = new AssertionAttributes(requestContext.dadm_gln, requestContext.g_EPR_SPIP, "NORM", getDADMNameFromId(dadm_id_subject), null, null, g_role, null, null, null, homeCommunityID) def assertion = AssertionUtils.getStringAssertionWithPath(assertionAttributes, keystoreParams); requestContext.appliesTo = getAppliesTo(applies_to_exist, holder) requestContext.assertion = assertion @@ -458,8 +467,7 @@ if (g_role == "HCP") { log.info "Generating assertion" - def keystoreParams = new KeystoreParams("/opt/gazelle/cert/jboss.jks", "password", "/opt/gazelle/cert/jboss.jks", "password", "jboss", "password") - def assertionAttributes = new AssertionAttributes(requestContext.patientid_from_nameid, requestContext.g_EPR_SPIP, g_purposeOfUse, getPatientNameFromId(requestContext.pat_id_subject), null, null, g_role, null, null, null, HOME_COMMUNITY_ID) + def assertionAttributes = new AssertionAttributes(requestContext.patientid_from_nameid, requestContext.g_EPR_SPIP, g_purposeOfUse, getPatientNameFromId(requestContext.pat_id_subject), null, null, g_role, null, null, null, homeCommunityID) def assertion = AssertionUtils.getStringAssertionWithPath(assertionAttributes, keystoreParams); requestContext.appliesTo = getAppliesTo(applies_to_exist, holder) requestContext.assertion = assertion @@ -496,8 +504,7 @@ if (g_role == "HCP") { } log.info "Generating assertion" - def keystoreParams = new KeystoreParams("/opt/gazelle/cert/jboss.jks", "password", "/opt/gazelle/cert/jboss.jks", "password", "jboss", "password") - def assertionAttributes = new AssertionAttributes(requestContext.patientid_from_nameid, requestContext.g_EPR_SPIP, g_purposeOfUse, getRepNameFromId(rep_id_subject), null, null, g_role, null, null, null, HOME_COMMUNITY_ID) + def assertionAttributes = new AssertionAttributes(requestContext.patientid_from_nameid, requestContext.g_EPR_SPIP, g_purposeOfUse, getRepNameFromId(rep_id_subject), null, null, g_role, null, null, null, homeCommunityID) def assertion = AssertionUtils.getStringAssertionWithPath(assertionAttributes, keystoreParams); requestContext.appliesTo = getAppliesTo(applies_to_exist, holder) requestContext.assertion = assertion @@ -538,6 +545,14 @@ def getAppliesTo(def appliesToExist, def holder) { } } +///////////////////////////////////////// +////////// PARAMETERS METHODS /////////// +///////////////////////////////////////// + +def getParameter(def propertyName, def defaultValue) { + def property = context.mockService.project.getPropertyValue(propertyName); + return property != null && !property.isEmpty() ? property : defaultValue ; +} ///////////////////////////////////////// ///////////////////////////////////////// diff --git a/assertion-provider/groovy-script/MockTransactionRecorder.groovy b/assertion-provider/groovy-script/MockTransactionRecorder.groovy new file mode 100755 index 0000000..78c2e18 --- /dev/null +++ b/assertion-provider/groovy-script/MockTransactionRecorder.groovy @@ -0,0 +1,72 @@ +import org.apache.commons.lang.StringUtils; +import net.ihe.gazelle.wstester.mockrecord.Message +import net.ihe.gazelle.wstester.mockrecord.MessageRecorder +import net.ihe.gazelle.wstester.mockrecord.EStandard +import net.ihe.gazelle.wstester.mockrecord.MessageException +import java.nio.charset.StandardCharsets + + +def final DEFAULT_JDBC_URL = "jdbc:postgresql://localhost:5432/gazelle-webservice-tester" +def final DEFAULT_DB_USER = "gazelle" +def final DEFAULT_DB_USER_PASSWORD = "gazelle" +///////////////////////////////////// +///////////////////////////////////// +def final INITIATOR_ACTOR = "X-SERVICE_USER" +def final RESPONDER_ACTOR = "X-ASSERTION_PROVIDER" +def final DOMAIN = "EPR" +def final TRANSACTION = "CH:XUA" +def final SIMULATOR_IP = "AssertionProviderSimulator" +def final STANDARD_USED = EStandard.OTHER +///////////////////////////////////// +///////////////////////////////////// + +def jdbcUrl = getParameter("jdbcURL", DEFAULT_JDBC_URL) +def dbUser = getParameter("dbUser", DEFAULT_DB_USER) +def dbUserPassword = getParameter("dbUserPassword", DEFAULT_DB_USER_PASSWORD) + +def request = mockRequest.requestContent; +def response = mockResponse.responseContent; +def sender_ip = mockRequest.getHttpRequest().getRemoteAddr() +def requestType = getMessageType(request) +def responseType = getMessageType(response) + +response = expandResponseProperties(response) + +try { + log.info "Record transaction messages on " + jdbcUrl + " as " + dbUser + "..." + MessageRecorder messageRecorder = new MessageRecorder(jdbcUrl, dbUser, dbUserPassword) + Message requestMessage = new Message(sender_ip, sender_ip, requestType, INITIATOR_ACTOR, request.getBytes(StandardCharsets.UTF_8)) + Message responseMessage = new Message(SIMULATOR_IP, SIMULATOR_IP, responseType, RESPONDER_ACTOR, response.getBytes(StandardCharsets.UTF_8)) + messageRecorder.record(STANDARD_USED, TRANSACTION, DOMAIN, RESPONDER_ACTOR, requestMessage, responseMessage) + log.info "Record successful" +} catch(Exception e) { + log.warn("Unable to record transaction messages", e) +} + + + +///////////////////////////////////////////////////////////////////////////////////// + +def getParameter(def propertyName, def defaultValue) { + def property = context.mockService.project.getPropertyValue(propertyName) + return property != null && !property.isEmpty() ? property : defaultValue +} + +def getMessageType(def message) { + return new XmlSlurper().parseText(message).Body.'*'[0].name() +} + +def expandResponseProperties(def response) { + int countProperties = StringUtils.countMatches(response.toString(), '${') + for (int i = 1; i <= countProperties; i++) { + def propertyTag = response.substring(response.indexOf('${'), response.indexOf('}') + 1) + def propertyName = propertyTag.substring(propertyTag.lastIndexOf('{') + 1, propertyTag.indexOf('}')) + + if (requestContext.getProperty(propertyName) != null) { + response = response.replace(propertyTag, requestContext.getProperty(propertyName)) + } else { + response = response.replace(propertyTag, "") + } + } + return response +} \ No newline at end of file diff --git a/assertion-provider/groovy-script/script-for-soapui-response.groovy b/assertion-provider/groovy-script/OnResponse.groovy similarity index 84% rename from assertion-provider/groovy-script/script-for-soapui-response.groovy rename to assertion-provider/groovy-script/OnResponse.groovy index cd511e6..5e8a6e5 100755 --- a/assertion-provider/groovy-script/script-for-soapui-response.groovy +++ b/assertion-provider/groovy-script/OnResponse.groovy @@ -2,5 +2,5 @@ groovyutils = new com.eviware.soapui.support.GroovyUtils(context) // ////// The script is stored in the mockup Project /////////////////////////////////////////////////////////////// -def scriptName = "record-mock-transaction.groovy" +def scriptName = "MockTransactionRecorder.groovy" evaluate(new File(groovyutils.projectPath + "/../groovy-script/" + scriptName)); \ No newline at end of file diff --git a/assertion-provider/groovy-script/record-mock-transaction.groovy b/assertion-provider/groovy-script/record-mock-transaction.groovy deleted file mode 100755 index 3b1c6ee..0000000 --- a/assertion-provider/groovy-script/record-mock-transaction.groovy +++ /dev/null @@ -1,62 +0,0 @@ -/// IMPORT -////////////// -import org.apache.commons.lang.StringUtils; -import com.eviware.soapui.support.XmlHolder -import net.ihe.gazelle.wstester.mockrecord.Message -import net.ihe.gazelle.wstester.mockrecord.MessageRecorder -import static net.ihe.gazelle.wstester.mockrecord.EStandard.* -import java.nio.charset.StandardCharsets - - -def holderRequest = new com.eviware.soapui.support.XmlHolder(mockRequest.requestContent) -def holderResponse = new com.eviware.soapui.support.XmlHolder(mockResponse.responseContent) - -///////////////////////////////////// -///////////////////////////////////// -def simulatedActorKeyword_init = "X-SERVICE_USER" -def simulatedActorKeyword_resp = "X-ASSERTION_PROVIDER" -def domainKeyword = "EPR" -def transactionKeyword = "CH:XUA" -def responder_ip = "AssertionProviderSimulator" -def standard = OTHER -///////////////////////////////////// -///////////////////////////////////// - -def request = mockRequest.requestContent; -def response = mockResponse.responseContent; -def sender_ip = mockRequest.getHttpRequest().getRemoteAddr() -def responseRoot = new XmlSlurper().parseText(response) -def requestRoot = new XmlSlurper().parseText(request) -def responseType = responseRoot.Body.'*'[0].name() -def requestType = requestRoot.Body.'*'[0].name() - - -/////// CAN BE CHANGED ACCORDING TO THE PROPERTIES USED IN THE RESPONSE -//////////////////////////////////////////////////////////////////////// -int countProperties = StringUtils.countMatches(response.toString(), '${') -if (countProperties == 1) { - def properties = response.substring(response.indexOf('${'), response.indexOf('}') + 1).toString() - def propertiesName = properties.substring(properties.lastIndexOf('{') + 1, properties.indexOf('}')).toString() - response = response.replace(properties, requestContext.getProperty(propertiesName)) -} else { - for (int i = 1; i <= countProperties; i++) { - def properties = response.substring(response.indexOf('${'), response.indexOf('}') + 1).toString() - def propertiesName = properties.substring(properties.lastIndexOf('{') + 1, properties.indexOf('}')).toString() - - if(requestContext.getProperty(propertiesName)==null){ - response = response.replace(properties, "") - }else{ - response = response.replace(properties, requestContext.getProperty(propertiesName)) - } - } -} - -//////// - -byte[] byte_request = request.getBytes(StandardCharsets.UTF_8) -byte[] byte_response = response.getBytes(StandardCharsets.UTF_8) - -MessageRecorder messageRecorder = new MessageRecorder("jdbc:postgresql://localhost:5432/gazelle-webservice-tester", "gazelle", "gazelle") -Message requestMessage = new Message(sender_ip, sender_ip, requestType, simulatedActorKeyword_init, byte_request) -Message responseMessage = new Message(responder_ip, responder_ip, responseType, simulatedActorKeyword_resp, byte_response) -messageRecorder.record(standard, transactionKeyword, domainKeyword, simulatedActorKeyword_resp, requestMessage, responseMessage) diff --git a/assertion-provider/soapui/epr-assertion-provider-soapui-project.xml b/assertion-provider/soapui/epr-assertion-provider-soapui-project.xml index 55f0119..bc6f829 100755 --- a/assertion-provider/soapui/epr-assertion-provider-soapui-project.xml +++ b/assertion-provider/soapui/epr-assertion-provider-soapui-project.xml @@ -3847,7 +3847,33 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import com.eviware.soapui.support.XmlHolder -// create XmlHolder for request content +///////////////////////////////////////// +// CONSTANTS //////////////////////////// +///////////////////////////////////////// + +def final DEFAULT_HOME_COMMUNITY_ID = "urn:oid:1.1.4567334.1.6" +def final PROPERTY_HOME_COMMUNITY_ID = "homeCommunityID" + +def final DEFAULT_KEYSTORE_PATH = "/opt/gazelle/cert/jboss.jks" +def final DEFAULT_KEYSTORE_PASSWORD = "password" +def final DEFAULT_KEY_ALIAS = "jboss" +def final DEFAULT_KEY_PASSWORD = "password" +def final DEFAULT_TRUSTSTORE_PATH = DEFAULT_KEYSTORE_PATH +def final DEFAULT_TRUSTSTORE_PASSWORD = DEFAULT_KEYSTORE_PASSWORD + +///////////////////////////////////////// +// MOCK PARAMETERS ////////////////////// +///////////////////////////////////////// + +// Home Community ID +def homeCommunityID = getParameter(PROPERTY_HOME_COMMUNITY_ID, DEFAULT_HOME_COMMUNITY_ID); + +// Keystore +def keystoreParams = new KeystoreParams(DEFAULT_KEYSTORE_PATH, DEFAULT_KEYSTORE_PASSWORD, DEFAULT_TRUSTSTORE_PATH, DEFAULT_TRUSTSTORE_PASSWORD, DEFAULT_KEY_ALIAS, DEFAULT_KEY_PASSWORD) + +////////////////////////////////////////// +// create XmlHolder for request content // +////////////////////////////////////////// def holder = new XmlHolder(mockRequest.requestContent) holder.declareNamespace("wst", "http://docs.oasis-open.org/ws-sx/ws-trust/200512") holder.declareNamespace("wsp", "http://schemas.xmlsoap.org/ws/2004/09/policy") @@ -3856,26 +3882,13 @@ holder.declareNamespace("saml2", "urn:oasis:names:tc:SAML:2.0:assertion") holder.declareNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance") ///////////////////////////////////////// -// CONSTANTS //////////////////////////// -///////////////////////////////////////// - -def setUpHomeCommunityID = context.mockService.project.getPropertyValue("homeCommunityID") ; -def HOME_COMMUNITY_ID = setUpHomeCommunityID == "" ? "urn:oid:1.1.4567334.1.6" : setUpHomeCommunityID ; - -///////////////////////////////////////// -///////////////////////////////////////// -//VARIABLES TO CHECK///////////////////// +//CHECK PROPERTIERS FOR GENERAL REQUEST// ///////////////////////////////////////// -// All those MUST be in the request def g_purposeOfUse = holder["//wst:Claims/saml2:Attribute[@Name='urn:oasis:names:tc:xspa:1.0:subject:purposeofuse']/saml2:AttributeValue/*:PurposeOfUse/@code"] def g_role = holder["//wst:Claims/saml2:Attribute[@Name='urn:oasis:names:tc:xacml:2.0:subject:role']/saml2:AttributeValue/*:Role/@code"] def g_EPR_SPIP = holder["//wst:Claims/saml2:Attribute[@Name='urn:oasis:names:tc:xacml:2.0:resource:resource-id']/saml2:AttributeValue"] def g_assertion = holder["exists(//saml2:Assertion)"] def applies_to_exist = holder["exists(//wst:RequestSecurityToken/wsp:AppliesTo)"] -///////////////////////////////////////// -///////////////////////////////////////// -//CHECK PROPERTIERS FOR GENERAL REQUEST// -///////////////////////////////////////// if (g_purposeOfUse != null && isDefined(g_purposeOfUse)) { requestContext.g_purposeOfUse = g_purposeOfUse @@ -3904,7 +3917,7 @@ if (g_EPR_SPIP != null && isDefined(g_EPR_SPIP)) { log.info "All checks for common requirements passed" -///////////////////////////////////////// + ///////////////////////////////////////// /////////////CHECK ROLE CODE///////////// ///////////////////////////////////////// @@ -3916,7 +3929,7 @@ if (g_role == "SoapFault Response") { return g_role } -///////////////////////////////////////// + ///////////////////////////////////////// ///SPECIFIC CHECK BASED ON ROLE CODE///// ///////////////////////////////////////// @@ -3978,8 +3991,7 @@ if (g_role == "HCP") { // Generate assertion log.info "Generating assertion" - def keystoreParams = new KeystoreParams("/opt/gazelle/cert/jboss.jks", "password", "/opt/gazelle/cert/jboss.jks", "password", "jboss", "password") - def assertionAttributes = new AssertionAttributes(requestContext.final_gln, requestContext.g_EPR_SPIP, requestContext.g_purposeOfUse, doctorName, groupId, organizationName, g_role, null, null, null, HOME_COMMUNITY_ID) + def assertionAttributes = new AssertionAttributes(requestContext.final_gln, requestContext.g_EPR_SPIP, requestContext.g_purposeOfUse, doctorName, groupId, organizationName, g_role, null, null, null, homeCommunityID) def assertion = AssertionUtils.getStringAssertionWithPath(assertionAttributes, keystoreParams) requestContext.appliesTo = getAppliesTo(applies_to_exist, holder) requestContext.assertion = assertion @@ -4106,10 +4118,10 @@ if (g_role == "HCP") { // Generate assertion log.info "Generating assertion" - def keystoreParams = new KeystoreParams("/opt/gazelle/cert/jboss.jks", "password", "/opt/gazelle/cert/jboss.jks", "password", "jboss", "password") + def assertionAttributes = new AssertionAttributes(requestContext.ass_principalID, requestContext.g_EPR_SPIP, requestContext.g_purposeOfUse, getNameFromGln(requestContext.ass_principalID), getGroupIdFromHcpGln(requestContext.ass_principalID), - getOrganizationNameFromId(getGroupIdFromHcpGln(requestContext.ass_principalID)), "HCP", requestContext.ass_gln, "ASS", getAssNameFromGLN(requestContext.ass_gln), HOME_COMMUNITY_ID) + getOrganizationNameFromId(getGroupIdFromHcpGln(requestContext.ass_principalID)), "HCP", requestContext.ass_gln, "ASS", getAssNameFromGLN(requestContext.ass_gln), homeCommunityID) def assertion = AssertionUtils.getStringAssertionWithPath(assertionAttributes, keystoreParams) requestContext.appliesTo = getAppliesTo(applies_to_exist, holder) requestContext.assertion = assertion @@ -4205,10 +4217,9 @@ if (g_role == "HCP") { //Generate Assertion log.info "Generating assertion" - def keystoreParams = new KeystoreParams("/opt/gazelle/cert/jboss.jks", "password", "/opt/gazelle/cert/jboss.jks", "password", "jboss", "password") def assertionAttributes = new AssertionAttributes(requestContext.tcu_principalID, requestContext.g_EPR_SPIP, "AUTO", getNameFromGln(requestContext.tcu_principalID), getGroupIdFromHcpGln(requestContext.tcu_principalID), - getOrganizationNameFromId(getGroupIdFromHcpGln(requestContext.tcu_principalID)), "HCP", requestContext.tcu_gln, "TCU", null, HOME_COMMUNITY_ID) + getOrganizationNameFromId(getGroupIdFromHcpGln(requestContext.tcu_principalID)), "HCP", requestContext.tcu_gln, "TCU", null, homeCommunityID) def assertion = AssertionUtils.getStringAssertionWithPath(assertionAttributes, keystoreParams) requestContext.appliesTo = getAppliesTo(applies_to_exist, holder) @@ -4237,8 +4248,7 @@ if (g_role == "HCP") { } log.info "Generating assertion" - def keystoreParams = new KeystoreParams("/opt/gazelle/cert/jboss.jks", "password", "/opt/gazelle/cert/jboss.jks", "password", "jboss", "password") - def assertionAttributes = new AssertionAttributes(requestContext.padm_gln, requestContext.g_EPR_SPIP, "NORM", getPADMNameFromId(padm_id_subject), null, null, "PADM", null, null, null, HOME_COMMUNITY_ID) + def assertionAttributes = new AssertionAttributes(requestContext.padm_gln, requestContext.g_EPR_SPIP, "NORM", getPADMNameFromId(padm_id_subject), null, null, "PADM", null, null, null, homeCommunityID) def assertion = AssertionUtils.getStringAssertionWithPath(assertionAttributes, keystoreParams); requestContext.appliesTo = getAppliesTo(applies_to_exist, holder) requestContext.assertion = assertion @@ -4266,8 +4276,7 @@ if (g_role == "HCP") { } log.info "Generating assertion" - def keystoreParams = new KeystoreParams("/opt/gazelle/cert/jboss.jks", "password", "/opt/gazelle/cert/jboss.jks", "password", "jboss", "password") - def assertionAttributes = new AssertionAttributes(requestContext.dadm_gln, requestContext.g_EPR_SPIP, "NORM", getDADMNameFromId(dadm_id_subject), null, null, g_role, null, null, null, HOME_COMMUNITY_ID) + def assertionAttributes = new AssertionAttributes(requestContext.dadm_gln, requestContext.g_EPR_SPIP, "NORM", getDADMNameFromId(dadm_id_subject), null, null, g_role, null, null, null, homeCommunityID) def assertion = AssertionUtils.getStringAssertionWithPath(assertionAttributes, keystoreParams); requestContext.appliesTo = getAppliesTo(applies_to_exist, holder) requestContext.assertion = assertion @@ -4300,8 +4309,7 @@ if (g_role == "HCP") { log.info "Generating assertion" - def keystoreParams = new KeystoreParams("/opt/gazelle/cert/jboss.jks", "password", "/opt/gazelle/cert/jboss.jks", "password", "jboss", "password") - def assertionAttributes = new AssertionAttributes(requestContext.patientid_from_nameid, requestContext.g_EPR_SPIP, g_purposeOfUse, getPatientNameFromId(requestContext.pat_id_subject), null, null, g_role, null, null, null, HOME_COMMUNITY_ID) + def assertionAttributes = new AssertionAttributes(requestContext.patientid_from_nameid, requestContext.g_EPR_SPIP, g_purposeOfUse, getPatientNameFromId(requestContext.pat_id_subject), null, null, g_role, null, null, null, homeCommunityID) def assertion = AssertionUtils.getStringAssertionWithPath(assertionAttributes, keystoreParams); requestContext.appliesTo = getAppliesTo(applies_to_exist, holder) requestContext.assertion = assertion @@ -4338,8 +4346,7 @@ if (g_role == "HCP") { } log.info "Generating assertion" - def keystoreParams = new KeystoreParams("/opt/gazelle/cert/jboss.jks", "password", "/opt/gazelle/cert/jboss.jks", "password", "jboss", "password") - def assertionAttributes = new AssertionAttributes(requestContext.patientid_from_nameid, requestContext.g_EPR_SPIP, g_purposeOfUse, getRepNameFromId(rep_id_subject), null, null, g_role, null, null, null, HOME_COMMUNITY_ID) + def assertionAttributes = new AssertionAttributes(requestContext.patientid_from_nameid, requestContext.g_EPR_SPIP, g_purposeOfUse, getRepNameFromId(rep_id_subject), null, null, g_role, null, null, null, homeCommunityID) def assertion = AssertionUtils.getStringAssertionWithPath(assertionAttributes, keystoreParams); requestContext.appliesTo = getAppliesTo(applies_to_exist, holder) requestContext.assertion = assertion @@ -4380,6 +4387,14 @@ def getAppliesTo(def appliesToExist, def holder) { } } +///////////////////////////////////////// +////////// PARAMETERS METHODS /////////// +///////////////////////////////////////// + +def getParameter(def propertyName, def defaultValue) { + def property = context.mockService.project.getPropertyValue(propertyName); + return property != null && !property.isEmpty() ? property : defaultValue ; +} ///////////////////////////////////////// ///////////////////////////////////////// @@ -4810,7 +4825,7 @@ String getPatientIdFromNameId(String pat_id_subject) { // ////// The script is stored in the mockup Project /////////////////////////////////////////////////////////////// -def scriptName = "record-mock-transaction.groovy" +def scriptName = "MockTransactionRecorder.groovy" evaluate(new File(groovyutils.projectPath + "/../groovy-script/" + scriptName));</con:script><con:responseContent><![CDATA[<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wst="http://docs.oasis-open.org/ws-sx/ws-trust/200512" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsa="http://www.w3.org/2005/08/addressing"> <soap:Header/> <soap:Body> @@ -4830,7 +4845,7 @@ evaluate(new File(groovyutils.projectPath + "/../groovy-script/" + scriptName)); // ////// The script is stored in the mockup Project /////////////////////////////////////////////////////////////// -def scriptName = "record-mock-transaction.groovy" +def scriptName = "MockTransactionRecorder.groovy" evaluate(new File(groovyutils.projectPath + "/../groovy-script/" + scriptName));</con:script><con:responseContent><![CDATA[<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wst="http://docs.oasis-open.org/ws-sx/ws-trust/200512"> <soap:Body> <soap:Fault> @@ -4948,4 +4963,4 @@ ew==</ds:X509Certificate> <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">19600110163403.350Z</saml2:AttributeValue> </saml2:Attribute> </saml2:AttributeStatement> - </saml2:Assertion>]]></con:value></con:property><con:property><con:name>user</con:name><con:value/></con:property><con:property><con:name>homeCommunityID</con:name><con:value>urn:oid:1.1.4567334.1.6</con:value></con:property></con:properties><con:wssContainer><con:crypto><con:source>/opt/gazelle/cert/jboss.jks</con:source><con:password>password</con:password><con:type>KEYSTORE</con:type></con:crypto></con:wssContainer><con:oAuth2ProfileContainer/><con:oAuth1ProfileContainer/><con:sensitiveInformation/></con:soapui-project> \ No newline at end of file + </saml2:Assertion>]]></con:value></con:property><con:property><con:name>user</con:name><con:value/></con:property><con:property><con:name>homeCommunityID</con:name><con:value>urn:oid:1.1.4567334.1.6</con:value></con:property><con:property><con:name>jdbcUrl</con:name><con:value/></con:property><con:property><con:name>dbUser</con:name><con:value/></con:property><con:property><con:name>dbUserPassword</con:name><con:value/></con:property></con:properties><con:wssContainer><con:crypto><con:source>/opt/gazelle/cert/jboss.jks</con:source><con:password>password</con:password><con:type>KEYSTORE</con:type></con:crypto></con:wssContainer><con:oAuth2ProfileContainer/><con:oAuth1ProfileContainer/><con:sensitiveInformation/></con:soapui-project> \ No newline at end of file -- GitLab From f94f0fc2b3981af4b7a53eed292c5007853a58c6 Mon Sep 17 00:00:00 2001 From: ceoche <cedric.eoche.duval@gmail.com> Date: Wed, 7 Jul 2021 17:31:46 +0200 Subject: [PATCH 04/11] Prepare with next version number --- assertion-provider/assembly/assertion-provider.xml | 14 -------------- assertion-provider/assembly/sql.xml | 14 -------------- assertion-provider/pom.xml | 5 +---- pom.xml | 12 ++++++++---- saml-generator/pom.xml | 3 +-- 5 files changed, 10 insertions(+), 38 deletions(-) delete mode 100755 assertion-provider/assembly/assertion-provider.xml delete mode 100755 assertion-provider/assembly/sql.xml diff --git a/assertion-provider/assembly/assertion-provider.xml b/assertion-provider/assembly/assertion-provider.xml deleted file mode 100755 index d28c59d..0000000 --- a/assertion-provider/assembly/assertion-provider.xml +++ /dev/null @@ -1,14 +0,0 @@ -<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd"> - <id>assertion-provider</id> - <baseDirectory>/</baseDirectory> - <formats> - <format>zip</format> - </formats> - <fileSets> - <fileSet> - <directory>.</directory> - <outputDirectory>/</outputDirectory> - </fileSet> - </fileSets> -</assembly> \ No newline at end of file diff --git a/assertion-provider/assembly/sql.xml b/assertion-provider/assembly/sql.xml deleted file mode 100755 index b0d76bc..0000000 --- a/assertion-provider/assembly/sql.xml +++ /dev/null @@ -1,14 +0,0 @@ -<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd"> - <id>sql</id> - <baseDirectory>/</baseDirectory> - <formats> - <format>zip</format> - </formats> - <fileSets> - <fileSet> - <directory>sql</directory> - <outputDirectory>/</outputDirectory> - </fileSet> - </fileSets> -</assembly> \ No newline at end of file diff --git a/assertion-provider/pom.xml b/assertion-provider/pom.xml index 3a9ea7c..e20a52a 100644 --- a/assertion-provider/pom.xml +++ b/assertion-provider/pom.xml @@ -3,13 +3,12 @@ <parent> <groupId>net.ihe.gazelle.specifictools.epr</groupId> <artifactId>assertion-provider-parent</artifactId> - <version>1.1.10-SNAPSHOT</version> + <version>1.2.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <groupId>net.ihe.gazelle.specifictools.epr</groupId> <artifactId>assertion-provider</artifactId> - <version>1.1.10-SNAPSHOT</version> <dependencyManagement> <dependencies> @@ -37,11 +36,9 @@ <artifactId>maven-assembly-plugin</artifactId> <configuration> <descriptors> - <descriptor>assembly/assertion-provider.xml</descriptor> <descriptor>assembly/initd.xml</descriptor> <descriptor>assembly/soapui.xml</descriptor> <descriptor>assembly/groovy-script.xml</descriptor> - <descriptor>assembly/sql.xml</descriptor> </descriptors> </configuration> <executions> diff --git a/pom.xml b/pom.xml index 0b992e8..91ea3ce 100644 --- a/pom.xml +++ b/pom.xml @@ -1,11 +1,15 @@ -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>net.ihe.gazelle.specifictools.epr</groupId> <artifactId>assertion-provider-parent</artifactId> - <version>1.1.10-SNAPSHOT</version> + <version>1.2.0-SNAPSHOT</version> <packaging>pom</packaging> <name>AssertionProvider</name> + <properties> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + </properties> <issueManagement> <system>JIRA</system> @@ -38,12 +42,12 @@ <dependency> <groupId>net.ihe.gazelle</groupId> <artifactId>saml-generator</artifactId> - <version>1.0.0-SNAPSHOT</version> + <version>${project.version}</version> </dependency> <dependency> <groupId>net.ihe.gazelle</groupId> <artifactId>assertion-provider</artifactId> - <version>1.1.1-SNAPSHOT</version> + <version>${project.version}</version> </dependency> </dependencies> </dependencyManagement> diff --git a/saml-generator/pom.xml b/saml-generator/pom.xml index 17ed730..bc8ae57 100644 --- a/saml-generator/pom.xml +++ b/saml-generator/pom.xml @@ -3,13 +3,12 @@ <parent> <groupId>net.ihe.gazelle.specifictools.epr</groupId> <artifactId>assertion-provider-parent</artifactId> - <version>1.1.10-SNAPSHOT</version> + <version>1.2.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <groupId>net.ihe.gazelle</groupId> <artifactId>epr-saml-generator</artifactId> - <version>1.1.10-SNAPSHOT</version> <dependencies> <!-- https://mvnrepository.com/artifact/org.opensaml/opensaml --> -- GitLab From 39e642271d230310bc964df2b1fee14b0a18d017 Mon Sep 17 00:00:00 2001 From: benjamin carriou <bcu@kereval.com> Date: Tue, 13 Jul 2021 06:42:08 +0000 Subject: [PATCH 05/11] Add ci/cd pipeline file --- .gitlab-ci.yml | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..20b2d8f --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,40 @@ +# Define templates +include: + - project: 'gazelle/private/gitlab-ci-templates' + file: 'extends.yaml' + ref: 'master' + +# Define stages +stages: + - build + - postbuild + - deploy + - tests + - release + - upgrade + - cleanup + +# Define global variables +variables: + P_NAME: "epr-assertion-provider" + P_APP_TYPE: "java" + P_CODE_SRC_PATH: "." + P_MAVEN_IMAGE_TAG: "3.6.3-jdk-8" + +# Define jobs +code: + stage: build + extends: + - .buildCodeForJava + +quality: + stage: tests + extends: + - .testQualityForJavaWithSonarqube + +release/code: + stage: release + extends: + - .releaseCodeForJava + variables: + P_MAVEN_TEST_SKIP: "false" -- GitLab From a4278de28e296b3dcbcfec51e2437916fa849f1e Mon Sep 17 00:00:00 2001 From: benjamin carriou <bcu@kereval.com> Date: Tue, 13 Jul 2021 06:47:41 +0000 Subject: [PATCH 06/11] Add settings.xml --- settings.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 settings.xml diff --git a/settings.xml b/settings.xml new file mode 100644 index 0000000..cc20489 --- /dev/null +++ b/settings.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<settings> + <servers> + <server> + <id>nexus-releases</id> + <username>${ARTIFACT_RELEASE_REPOSITORY_USER}</username> + <password>${ARTIFACT_RELEASE_REPOSITORY_PASS}</password> + </server> + </servers> +</settings> -- GitLab From 0551ed0bb614f0cf5300af8fe490b189a262661e Mon Sep 17 00:00:00 2001 From: benjamin carriou <bcu@kereval.com> Date: Tue, 13 Jul 2021 07:10:17 +0000 Subject: [PATCH 07/11] Update pom.xml --- pom.xml | 44 +++++++++++++++++++++++++++++++++----------- 1 file changed, 33 insertions(+), 11 deletions(-) diff --git a/pom.xml b/pom.xml index 91ea3ce..3678263 100644 --- a/pom.xml +++ b/pom.xml @@ -9,21 +9,23 @@ <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <git.user.name>gitlab-ci</git.user.name> + <git.user.token>changeit</git.user.token> + <git.project.url>https://${git.user.name}:${git.user.token}@gitlab.inria.fr/gazelle/specific-tools/epr/assertion-provider.git</git.project.url> + <maven.release.plugin.version>2.5.3</maven.release.plugin.version> + <nexus.staging.maven.plugin.version>1.6.8</nexus.staging.maven.plugin.version> + <sonar.maven.plugin>3.5.0.1254</sonar.maven.plugin> </properties> <issueManagement> <system>JIRA</system> <url>https://gazelle.ihe.net/jira/browse/APS</url> </issueManagement> - <ciManagement> - <system>jenkins</system> - <url>https://gazelle.ihe.net/jenkins/job/AssertionProvider/</url> - </ciManagement> <scm> - <connection>scm:git:git@gitlab.inria.fr:gazelle/specific-tools/epr/assertion-provider.git</connection> - <developerConnection>scm:git:git@gitlab.inria.fr:gazelle/specific-tools/epr/assertion-provider.git</developerConnection> + <connection>scm:git:${git.project.url}</connection> + <developerConnection>scm:git:${git.project.url}</developerConnection> + <url>${git.project.url}</url> <tag>HEAD</tag> - <url>https://gitlab.inria.fr/gazelle/specific-tools/epr/assertion-provider</url> </scm> <build> @@ -33,6 +35,26 @@ <artifactId>maven-release-plugin</artifactId> <version>2.5.3</version> </plugin> + <plugin> + <groupId>org.jacoco</groupId> + <artifactId>jacoco-maven-plugin</artifactId> + <version>${jacoco.version}</version> + <executions> + <execution> + <id>pre-unit-test</id> + <goals> + <goal>prepare-agent</goal> + </goals> + </execution> + <execution> + <id>post-unit-test</id> + <phase>test</phase> + <goals> + <goal>report</goal> + </goals> + </execution> + </executions> + </plugin> </plugins> </build> @@ -60,11 +82,11 @@ <distributionManagement> <repository> - <id>sumo</id> - <url>https://gazelle.ihe.net/nexus/content/repositories/releases/</url> + <id>nexus-releases</id> + <url>https://gazelle.ihe.net/nexus/content/repositories/releases</url> </repository> <snapshotRepository> - <id>sumo</id> + <id>nexus-snapshots</id> <url>https://gazelle.ihe.net/nexus/content/repositories/snapshots/</url> </snapshotRepository> </distributionManagement> @@ -100,4 +122,4 @@ </pluginRepository> </pluginRepositories> -</project> \ No newline at end of file +</project> -- GitLab From 955336367258ff82c6905e4c71c9802d4e9c696c Mon Sep 17 00:00:00 2001 From: benjamin carriou <bcu@kereval.com> Date: Tue, 13 Jul 2021 07:12:47 +0000 Subject: [PATCH 08/11] Update pom.xml --- pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/pom.xml b/pom.xml index 3678263..6f39508 100644 --- a/pom.xml +++ b/pom.xml @@ -15,6 +15,7 @@ <maven.release.plugin.version>2.5.3</maven.release.plugin.version> <nexus.staging.maven.plugin.version>1.6.8</nexus.staging.maven.plugin.version> <sonar.maven.plugin>3.5.0.1254</sonar.maven.plugin> + <jacoco.version>0.8.1</jacoco.version> </properties> <issueManagement> -- GitLab From 5437e3ec6ee2d3816ab116c4f580db692d3ce043 Mon Sep 17 00:00:00 2001 From: benjamin carriou <bcu@kereval.com> Date: Tue, 13 Jul 2021 07:25:15 +0000 Subject: [PATCH 09/11] Update pom.xml --- pom.xml | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/pom.xml b/pom.xml index 6f39508..fb53637 100644 --- a/pom.xml +++ b/pom.xml @@ -123,4 +123,69 @@ </pluginRepository> </pluginRepositories> + <profiles> + <profile> + <id>dev</id> + <activation> + <activeByDefault>true</activeByDefault> + </activation> + </profile> + <profile> + <id>sonar</id> + <build> + <plugins> + <plugin> + <groupId>org.sonarsource.scanner.maven</groupId> + <artifactId>sonar-maven-plugin</artifactId> + <version>${sonar.maven.plugin}</version> + <executions> + <execution> + <phase>verify</phase> + <goals> + <goal>sonar</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> + </profile> + <profile> + <id>release</id> + <build> + <plugins> + <plugin> + <groupId>org.sonatype.plugins</groupId> + <artifactId>nexus-staging-maven-plugin</artifactId> + <version>${nexus.staging.maven.plugin.version}</version> + <executions> + <execution> + <id>default-deploy</id> + <phase>deploy</phase> + <goals> + <goal>deploy</goal> + </goals> + </execution> + </executions> + <configuration> + <serverId>nexus-releases</serverId> + <nexusUrl>https://gazelle.ihe.net/nexus</nexusUrl> + <skipStaging>true</skipStaging> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-release-plugin</artifactId> + <version>${maven.release.plugin.version}</version> + <configuration> + <tagNameFormat>@{project.version}</tagNameFormat> + <autoVersionSubmodules>true</autoVersionSubmodules> + <releaseProfiles>release</releaseProfiles> + </configuration> + </plugin> + </plugins> + </build> + </profile> + </profiles> + </project> -- GitLab From 4bc9a5d077a88b43c9fbe9e8fc4d2261484c8e16 Mon Sep 17 00:00:00 2001 From: Alexandre P <apo@kereval.com> Date: Mon, 6 Sep 2021 12:32:36 +0200 Subject: [PATCH 10/11] Add rules for homeCommunityID validation --- .../epr-assertion-provider-soapui-project.xml | 293 ++++++------------ 1 file changed, 95 insertions(+), 198 deletions(-) diff --git a/assertion-provider/soapui/epr-assertion-provider-soapui-project.xml b/assertion-provider/soapui/epr-assertion-provider-soapui-project.xml index bc6f829..4f0867a 100755 --- a/assertion-provider/soapui/epr-assertion-provider-soapui-project.xml +++ b/assertion-provider/soapui/epr-assertion-provider-soapui-project.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<con:soapui-project id="e7bdc6df-f3e0-41e8-8f7b-2149160b6cbf" activeEnvironment="Default" name="EPRAssertionProviderMockUp" resourceRoot="" soapui-version="5.5.0" abortOnError="false" runType="SEQUENTIAL" xmlns:con="http://eviware.com/soapui/config"><con:settings/><con:interface xsi:type="con:WsdlInterface" id="431962b2-7230-4849-a9d4-b60969f141b1" wsaVersion="NONE" name="STSBinding" type="wsdl" bindingName="{http://docs.oasis-open.org/ws-sx/ws-trust/200512/wsdl}STSBinding" soapVersion="1_2" anonymous="optional" definition="/opt/simulators/epr-assertion-provider-mockup/soapui/wstrust.wsdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:settings/><con:definitionCache type="TEXT" rootPart="file:/opt/simulators/epr-assertion-provider-mockup/soapui/wstrust.wsdl"><con:part><con:url>file:/opt/simulators/epr-assertion-provider-mockup/soapui/wstrust.wsdl</con:url><con:content><![CDATA[<wsdl:definitions targetNamespace="http://docs.oasis-open.org/ws-sx/ws-trust/200512/wsdl" xmlns:tns="http://docs.oasis-open.org/ws-sx/ws-trust/200512/wsdl" xmlns:wst="http://docs.oasis-open.org/ws-sx/ws-trust/200512" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> +<con:soapui-project id="e7bdc6df-f3e0-41e8-8f7b-2149160b6cbf" activeEnvironment="Default" name="EPRAssertionProviderMockUp" resourceRoot="" soapui-version="5.6.0" abortOnError="false" runType="SEQUENTIAL" xmlns:con="http://eviware.com/soapui/config"><con:settings/><con:interface xsi:type="con:WsdlInterface" id="431962b2-7230-4849-a9d4-b60969f141b1" wsaVersion="NONE" name="STSBinding" type="wsdl" bindingName="{http://docs.oasis-open.org/ws-sx/ws-trust/200512/wsdl}STSBinding" soapVersion="1_2" anonymous="optional" definition="/opt/simulators/epr-assertion-provider-mockup/soapui/wstrust.wsdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:settings/><con:definitionCache type="TEXT" rootPart="file:/opt/simulators/epr-assertion-provider-mockup/soapui/wstrust.wsdl"><con:part><con:url>file:/opt/simulators/epr-assertion-provider-mockup/soapui/wstrust.wsdl</con:url><con:content><![CDATA[<wsdl:definitions targetNamespace="http://docs.oasis-open.org/ws-sx/ws-trust/200512/wsdl" xmlns:tns="http://docs.oasis-open.org/ws-sx/ws-trust/200512/wsdl" xmlns:wst="http://docs.oasis-open.org/ws-sx/ws-trust/200512" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <!--this is the WS-I BP-compliant way to import a schema--> <wsdl:types> <xs:schema> @@ -1381,7 +1381,7 @@ No other rights are granted by implication, estoppel or otherwise.--> <soap:Body> <ns:RequestSecurityToken/> </soap:Body> -</soap:Envelope>]]></con:request><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue"/><con:wsrmConfig version="1.2"/></con:call></con:operation></con:interface><con:testSuite id="76c11a52-2590-4471-bea5-1770590a7b8a" name="AssertionProviderMockUpTestSuite"><con:settings/><con:runType>SEQUENTIAL</con:runType><con:testCase id="5111c091-a624-4103-90df-674af65364ce" failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="ValidIssueTestCase" searchProperties="true"><con:settings/><con:testStep type="request" id="2a286358-b684-4860-b62b-6d785568225a" name="Issue - Valid Request"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>STSBinding</con:interface><con:operation>Issue</con:operation><con:request name="Issue - Valid Request" outgoingWss="" incomingWss="" timeout="" sslKeystore="jboss.jks" useWsAddressing="true" useWsReliableMessaging="false" id="679d289c-3fa3-4bc4-95a8-a1a6f835ebfc"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers"><xml-fragment/></con:setting><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@strip-whitespaces">true</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>${#TestSuite#testEndpoint}</con:endpoint><con:request><![CDATA[<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:S12="http://www.w3.org/2003/05/soap-envelope" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:wst="http://docs.oasis-open.org/ws-sx/ws-trust/200512" xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"> +</soap:Envelope>]]></con:request><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue"/><con:wsrmConfig version="1.2"/></con:call></con:operation></con:interface><con:testSuite id="76c11a52-2590-4471-bea5-1770590a7b8a" name="AssertionProviderMockUpTestSuite"><con:settings/><con:runType>SEQUENTIAL</con:runType><con:testCase id="5111c091-a624-4103-90df-674af65364ce" failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="ValidIssueTestCase" searchProperties="true"><con:settings/><con:testStep type="request" id="2a286358-b684-4860-b62b-6d785568225a" name="Issue - Valid Request"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>STSBinding</con:interface><con:operation>Issue</con:operation><con:request name="Issue - Valid Request" outgoingWss="" incomingWss="" timeout="" sslKeystore="jboss.jks" useWsAddressing="true" useWsReliableMessaging="false" id="679d289c-3fa3-4bc4-95a8-a1a6f835ebfc"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers"><xml-fragment/></con:setting><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@strip-whitespaces">true</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>https://bcu-indus.ihe-europe.net/STS</con:endpoint><con:request><![CDATA[<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:S12="http://www.w3.org/2003/05/soap-envelope" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:wst="http://docs.oasis-open.org/ws-sx/ws-trust/200512" xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"> <soap:Header> <wsse:Security> <wsu:Timestamp wsu:Id="id-06540FF6159365931114525933973941"> @@ -2155,20 +2155,20 @@ declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; declare namespace ds='http://www.w3.org/2000/09/xmldsig#'; declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; declare namespace ns1='urn:hl7-org:v3'; -//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210706150722700</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-07-06T15:07:22.700Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ +//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210906091202314</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-09-06T09:12:02.314Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ <saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" - ID="_099c12aa1c8c1c7633896762c88654bc" - IssueInstant="2021-07-06T15:07:22.887Z" + ID="_bd7538155e67881e29a97c5aa48dd0e0" + IssueInstant="2021-09-06T09:12:02.602Z" Version="2.0"> <saml2:Issuer>https://ehealthsuisse.ihe-europe.net/idp/shibboleth</saml2:Issuer> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"/> - <ds:Reference URI="#_099c12aa1c8c1c7633896762c88654bc"> + <ds:Reference URI="#_bd7538155e67881e29a97c5aa48dd0e0"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> @@ -2176,12 +2176,12 @@ declare namespace ns1='urn:hl7-org:v3'; </ds:Transform> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> - <ds:DigestValue>vM7TL1yF2SIgccMz23ga1Nrj6SRDCxtOQnw2zg8aYBU=</ds:DigestValue> + <ds:DigestValue>dW8cdmIe/zAafoLgyhFnSemslimS6qpkpakIGp/0PDI=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> - <ds:SignatureValue>IqL+VjLo9R36M7vxhitzT7XyH9F/4lljG4jbvmZg7u8bomy/phd6P0P827h3vYTLqgRxMoQOH+aJ -xhVtzfagX4N/dTrfJY6USFTiVsS6cr3Xdrju+REPsUKKMEAIqHDzmBtDt6YYg+x+98y6RPA2grRw -cT1eDx5stlxgjWZANHk=</ds:SignatureValue> + <ds:SignatureValue>QvuvJfUZ5kVmfwe/lA0o0z2ntS0lKp7GiEg5ZR27J/J/zPlARj7xCsCjGCbEiCgCkvP6rOFjA9lm +VatAP7YePrG4RKOdKA7E+z4TmT+d/mfBST99sUsrTh/2MhGk3r5xq4lMYnKHzp7l+INNNbCBA/r3 +d1SXO3GQZfAlLSGXoz4=</ds:SignatureValue> <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate>MIIDjTCCAvagAwIBAgICAI0wDQYJKoZIhvcNAQENBQAwRTELMAkGA1UEBhMCQ0gxDDAKBgNVBAoM @@ -2209,18 +2209,18 @@ ew==</ds:X509Certificate> NameQualifier="https://ehealthsuisse.ihe-europe.net/idp/shibboleth" SPNameQualifier="https://sp-clone.ihe-europe.net/shibboleth">aandrews</saml2:NameID> <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> - <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210706150722700" - NotOnOrAfter="2021-07-06T15:12:22.893Z" + <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210906091202314" + NotOnOrAfter="2021-09-06T09:17:02.609Z" Recipient="https://sp-clone.ihe-europe.net/Shibboleth.sso/SAML2/ECP"/> </saml2:SubjectConfirmation> </saml2:Subject> - <saml2:Conditions NotBefore="2021-07-06T15:07:22.887Z" NotOnOrAfter="2021-07-06T15:12:22.887Z"> + <saml2:Conditions NotBefore="2021-09-06T09:12:02.602Z" NotOnOrAfter="2021-09-06T09:17:02.602Z"> <saml2:AudienceRestriction> <saml2:Audience>https://sp-clone.ihe-europe.net/shibboleth</saml2:Audience> </saml2:AudienceRestriction> </saml2:Conditions> - <saml2:AuthnStatement AuthnInstant="2021-07-06T15:07:22.881Z" - SessionIndex="_ca9e33612b9aea7e2991818f7cece73e"> + <saml2:AuthnStatement AuthnInstant="2021-09-06T09:12:02.560Z" + SessionIndex="_3f5ca0894cac9fe7132bc74432ecb00f"> <saml2:SubjectLocality Address="127.0.0.1"/> <saml2:AuthnContext> <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef> @@ -2368,20 +2368,20 @@ declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; declare namespace ds='http://www.w3.org/2000/09/xmldsig#'; declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; declare namespace ns1='urn:hl7-org:v3'; -//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210706150726661</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-07-06T15:07:26.661Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ +//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210906085257041</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-09-06T08:52:57.041Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ <saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" - ID="_20ddb078678ebed988a28b3c89dfaf0c" - IssueInstant="2021-07-06T15:07:26.737Z" + ID="_b6a108293ea6266924c55dce6a7e0ef3" + IssueInstant="2021-09-06T08:52:57.088Z" Version="2.0"> <saml2:Issuer>https://ehealthsuisse.ihe-europe.net/idp/shibboleth</saml2:Issuer> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"/> - <ds:Reference URI="#_20ddb078678ebed988a28b3c89dfaf0c"> + <ds:Reference URI="#_b6a108293ea6266924c55dce6a7e0ef3"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> @@ -2389,12 +2389,12 @@ declare namespace ns1='urn:hl7-org:v3'; </ds:Transform> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> - <ds:DigestValue>AdgygOFIIV18Y6I2R7S3LJ18hFXb5hOBHClf4ErRAQw=</ds:DigestValue> + <ds:DigestValue>U7PeZmPqGvw9gq18I3sV4FQnyGr2aoPY6CiGfCORLB8=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> - <ds:SignatureValue>O7Eg4rC5ZOkGgcSijt9b0h41zD9TvK1Z6Yh9O6sTwtwdd6/tqOB7lUIlYIiD+tFQeOKaIXMke1ou -jOtuvnt9U0jD0nZLKWp5/nycZtX6ZnjzoUvqdQBC445cdNVfs1fNkuuY7uk+dfh1btY4jZh8gXs2 -wNIhW08MEYtmnGr1QX4=</ds:SignatureValue> + <ds:SignatureValue>HYhJamtLK7lYSQelsjDpm2hBMXQCDvdAxNPGbnNzDa5GsmCuKC6+FWWSZauan5JPG6tYmAGVyj7k +RZHkFkgcHyW31LaSZrD/S9LIbpKYUswajGrlxpZn3Cneza/xreofVDdgKGbh0/KfcT2QURxN26YM +CIUP9XM79+AkP41s9NQ=</ds:SignatureValue> <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate>MIIDjTCCAvagAwIBAgICAI0wDQYJKoZIhvcNAQENBQAwRTELMAkGA1UEBhMCQ0gxDDAKBgNVBAoM @@ -2422,18 +2422,18 @@ ew==</ds:X509Certificate> NameQualifier="https://ehealthsuisse.ihe-europe.net/idp/shibboleth" SPNameQualifier="https://sp-clone.ihe-europe.net/shibboleth">nwittwerchristen</saml2:NameID> <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> - <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210706150726661" - NotOnOrAfter="2021-07-06T15:12:26.741Z" + <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210906085257041" + NotOnOrAfter="2021-09-06T08:57:57.095Z" Recipient="https://sp-clone.ihe-europe.net/Shibboleth.sso/SAML2/ECP"/> </saml2:SubjectConfirmation> </saml2:Subject> - <saml2:Conditions NotBefore="2021-07-06T15:07:26.737Z" NotOnOrAfter="2021-07-06T15:12:26.737Z"> + <saml2:Conditions NotBefore="2021-09-06T08:52:57.088Z" NotOnOrAfter="2021-09-06T08:57:57.088Z"> <saml2:AudienceRestriction> <saml2:Audience>https://sp-clone.ihe-europe.net/shibboleth</saml2:Audience> </saml2:AudienceRestriction> </saml2:Conditions> - <saml2:AuthnStatement AuthnInstant="2021-07-06T15:07:26.732Z" - SessionIndex="_c8a94291399cf404d95732fe1683a7d0"> + <saml2:AuthnStatement AuthnInstant="2021-09-06T08:52:57.081Z" + SessionIndex="_6f3e0e5087ee8d660766e9ee12a38f7f"> <saml2:SubjectLocality Address="127.0.0.1"/> <saml2:AuthnContext> <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef> @@ -2568,20 +2568,20 @@ declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; declare namespace ds='http://www.w3.org/2000/09/xmldsig#'; declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; declare namespace ns1='urn:hl7-org:v3'; -//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210706150727267</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-07-06T15:07:27.267Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ +//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210906085257157</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-09-06T08:52:57.157Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ <saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" - ID="_2b42d966941ba6130a8ba57cd6ba5694" - IssueInstant="2021-07-06T15:07:27.321Z" + ID="_0a7caa75df7ef15bf367e45b8231955b" + IssueInstant="2021-09-06T08:52:57.203Z" Version="2.0"> <saml2:Issuer>https://ehealthsuisse.ihe-europe.net/idp/shibboleth</saml2:Issuer> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"/> - <ds:Reference URI="#_2b42d966941ba6130a8ba57cd6ba5694"> + <ds:Reference URI="#_0a7caa75df7ef15bf367e45b8231955b"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> @@ -2589,12 +2589,12 @@ declare namespace ns1='urn:hl7-org:v3'; </ds:Transform> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> - <ds:DigestValue>8IfHPwADcQF5iOIZfznvmKUj5fK0LRtcn8n4y6CaoHI=</ds:DigestValue> + <ds:DigestValue>VpYAKYnz957UuLN7JY3kInrbJuDLUaEedpCjpQydyxY=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> - <ds:SignatureValue>X93etUbwtSRUIGixG797GHDxjTpj0VK1ry/Nb1iezigAP39LkeGAyViNPKIF5BtIA/O41oKZOjLE -coYcC3yjs1Z6AqFr0GMeuqPjl+3BdeNt8CaXMhUgVcqji3sDHnQPBudnuWa81xm6x7PRoXN8aK5H -aqUHuH8L13b7jD8L27Q=</ds:SignatureValue> + <ds:SignatureValue>DXWU36JCFJ4yeiQ3tSjBkJhj/1Fyai3ZWBH9nz5fY1OMUJ7kpX0mjWJNyjYUOTzVBDt8xv80JmnH +798gFJL2pcwriQQjUKhRIMygu00DkY9s3VJj7GPE59QAmd8N7vvmYV/whChI/kzarnl4wMri7hBp +J5qyW9Ut1ChVp3/SLSY=</ds:SignatureValue> <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate>MIIDjTCCAvagAwIBAgICAI0wDQYJKoZIhvcNAQENBQAwRTELMAkGA1UEBhMCQ0gxDDAKBgNVBAoM @@ -2622,18 +2622,18 @@ ew==</ds:X509Certificate> NameQualifier="https://ehealthsuisse.ihe-europe.net/idp/shibboleth" SPNameQualifier="https://sp-clone.ihe-europe.net/shibboleth">ltieche</saml2:NameID> <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> - <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210706150727267" - NotOnOrAfter="2021-07-06T15:12:27.326Z" + <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210906085257157" + NotOnOrAfter="2021-09-06T08:57:57.207Z" Recipient="https://sp-clone.ihe-europe.net/Shibboleth.sso/SAML2/ECP"/> </saml2:SubjectConfirmation> </saml2:Subject> - <saml2:Conditions NotBefore="2021-07-06T15:07:27.321Z" NotOnOrAfter="2021-07-06T15:12:27.321Z"> + <saml2:Conditions NotBefore="2021-09-06T08:52:57.203Z" NotOnOrAfter="2021-09-06T08:57:57.203Z"> <saml2:AudienceRestriction> <saml2:Audience>https://sp-clone.ihe-europe.net/shibboleth</saml2:Audience> </saml2:AudienceRestriction> </saml2:Conditions> - <saml2:AuthnStatement AuthnInstant="2021-07-06T15:07:27.316Z" - SessionIndex="_4797a191c6f1a854869a6d07627c8be4"> + <saml2:AuthnStatement AuthnInstant="2021-09-06T08:52:57.196Z" + SessionIndex="_839a075fa8519d40b035473f7bb8a8bf"> <saml2:SubjectLocality Address="127.0.0.1"/> <saml2:AuthnContext> <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef> @@ -2781,20 +2781,20 @@ declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; declare namespace ds='http://www.w3.org/2000/09/xmldsig#'; declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; declare namespace ns1='urn:hl7-org:v3'; -//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210706150727942</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-07-06T15:07:27.942Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ +//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.10</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210906085257285</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-09-06T08:52:57.285Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ <saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" - ID="_38a6a218c231d1ad57f74f56ba18a8f6" - IssueInstant="2021-07-06T15:07:27.990Z" + ID="_709e04c5272ff257407c2d8dac0c24d9" + IssueInstant="2021-09-06T08:52:57.328Z" Version="2.0"> <saml2:Issuer>https://ehealthsuisse.ihe-europe.net/idp/shibboleth</saml2:Issuer> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"/> - <ds:Reference URI="#_38a6a218c231d1ad57f74f56ba18a8f6"> + <ds:Reference URI="#_709e04c5272ff257407c2d8dac0c24d9"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> @@ -2802,12 +2802,12 @@ declare namespace ns1='urn:hl7-org:v3'; </ds:Transform> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> - <ds:DigestValue>yIcE5JSe5l/KBjsmmfgBL3NXMX3sqPcHuuq5Bo2eGwc=</ds:DigestValue> + <ds:DigestValue>pqZNgPBukqNf7aqYW0NpBeFMKwc1EuiZNzTNuwEr35M=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> - <ds:SignatureValue>QF3iUMwov1iqXAZ7CgTclqDKdhA/IDTQ1/xTg2U7PSLUZPDm/3fQnsp26naJ4pcDrm0dCgAQOVbl -yWOE+ogQE0XIVcF97IFxJnGbSvRPVR4+r/jnz3C6eCCMwOQzM0KoeZpxZ/4Bs+mC2M83S5GupIfY -++TDup1OMIko00siZGw=</ds:SignatureValue> + <ds:SignatureValue>ZRRhKvs7tnR1hddwYnOwAxvH+evGgy4WpiE72WlnugLh6GF2bGFLrW58l2jRIv7n158OWq47yBVd +m4tilXcsviaA/jzhjOlOfzTZVlklyfoZQjsoY3nQ2hcXoehxJB+GYjeuRP03xUxfsHZgCjrlW0HF +gT9y8LBT2O9uGFNxKfY=</ds:SignatureValue> <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate>MIIDjTCCAvagAwIBAgICAI0wDQYJKoZIhvcNAQENBQAwRTELMAkGA1UEBhMCQ0gxDDAKBgNVBAoM @@ -2835,18 +2835,18 @@ ew==</ds:X509Certificate> NameQualifier="https://ehealthsuisse.ihe-europe.net/idp/shibboleth" SPNameQualifier="https://sp-clone.ihe-europe.net/shibboleth">sbaader</saml2:NameID> <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> - <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210706150727942" - NotOnOrAfter="2021-07-06T15:12:27.995Z" + <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210906085257285" + NotOnOrAfter="2021-09-06T08:57:57.333Z" Recipient="https://sp-clone.ihe-europe.net/Shibboleth.sso/SAML2/ECP"/> </saml2:SubjectConfirmation> </saml2:Subject> - <saml2:Conditions NotBefore="2021-07-06T15:07:27.990Z" NotOnOrAfter="2021-07-06T15:12:27.990Z"> + <saml2:Conditions NotBefore="2021-09-06T08:52:57.328Z" NotOnOrAfter="2021-09-06T08:57:57.328Z"> <saml2:AudienceRestriction> <saml2:Audience>https://sp-clone.ihe-europe.net/shibboleth</saml2:Audience> </saml2:AudienceRestriction> </saml2:Conditions> - <saml2:AuthnStatement AuthnInstant="2021-07-06T15:07:27.985Z" - SessionIndex="_53eb531d63f2600e087a20083fbf63bd"> + <saml2:AuthnStatement AuthnInstant="2021-09-06T08:52:57.322Z" + SessionIndex="_b79ae55cca4e790c9204a01b16b53e10"> <saml2:SubjectLocality Address="127.0.0.1"/> <saml2:AuthnContext> <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef> @@ -2988,20 +2988,20 @@ declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; declare namespace ds='http://www.w3.org/2000/09/xmldsig#'; declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; declare namespace ns1='urn:hl7-org:v3'; -//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210706150728441</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-07-06T15:07:28.441Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ +//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210906085257639</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-09-06T08:52:57.639Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ <saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" - ID="_106b51058cd6c1248f0e71cc0d4cfeb2" - IssueInstant="2021-07-06T15:07:28.477Z" + ID="_c45307b41c7340fb7f8a333169663103" + IssueInstant="2021-09-06T08:52:57.680Z" Version="2.0"> <saml2:Issuer>https://ehealthsuisse.ihe-europe.net/idp/shibboleth</saml2:Issuer> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"/> - <ds:Reference URI="#_106b51058cd6c1248f0e71cc0d4cfeb2"> + <ds:Reference URI="#_c45307b41c7340fb7f8a333169663103"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> @@ -3009,12 +3009,12 @@ declare namespace ns1='urn:hl7-org:v3'; </ds:Transform> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> - <ds:DigestValue>SnWWXZn4ySmxVFptGXg+ID6fvF8n+TLtjURHBHxy92A=</ds:DigestValue> + <ds:DigestValue>9PJaOjzTJswk7cmN/j4D+Ykd4bAQkQM6J3lk8SI55nI=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> - <ds:SignatureValue>XGydm9+LetG9zUuv9IEQoMiDNfk1T5mS1TksI08wjOeblLJ9T0hzIhdrbEGRQwJbPaWjbRobOD4/ -bbQM4nvV6fmkn1tuMvEEuJF4D+Z55Qc7Q445zCIqnkZzpgZjvrInMtLBDqG3BRBAlsC+w4w+lYhU -59SNb2QnO1nOs3AwIGQ=</ds:SignatureValue> + <ds:SignatureValue>fgBHFaezFIctQf5RueWdidtefd08Ln+eU4gco7FwNUcrYT5BeL8qYU0sILXYinIYq+u3hhYo/4Qn +7RGjuDXh7JLCvfspqVAaHUlH067nO/Eyf7CcuKXnPAmGfSSLC5LWSDeIVXdPQ1kQUowiL+A1/otx +qHKaqLlN0Un9aaK4zvA=</ds:SignatureValue> <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate>MIIDjTCCAvagAwIBAgICAI0wDQYJKoZIhvcNAQENBQAwRTELMAkGA1UEBhMCQ0gxDDAKBgNVBAoM @@ -3042,18 +3042,18 @@ ew==</ds:X509Certificate> NameQualifier="https://ehealthsuisse.ihe-europe.net/idp/shibboleth" SPNameQualifier="https://sp-clone.ihe-europe.net/shibboleth">icastineira</saml2:NameID> <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> - <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210706150728441" - NotOnOrAfter="2021-07-06T15:12:28.481Z" + <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210906085257639" + NotOnOrAfter="2021-09-06T08:57:57.685Z" Recipient="https://sp-clone.ihe-europe.net/Shibboleth.sso/SAML2/ECP"/> </saml2:SubjectConfirmation> </saml2:Subject> - <saml2:Conditions NotBefore="2021-07-06T15:07:28.477Z" NotOnOrAfter="2021-07-06T15:12:28.477Z"> + <saml2:Conditions NotBefore="2021-09-06T08:52:57.680Z" NotOnOrAfter="2021-09-06T08:57:57.680Z"> <saml2:AudienceRestriction> <saml2:Audience>https://sp-clone.ihe-europe.net/shibboleth</saml2:Audience> </saml2:AudienceRestriction> </saml2:Conditions> - <saml2:AuthnStatement AuthnInstant="2021-07-06T15:07:28.472Z" - SessionIndex="_cd3a707618644738f31fe78963db3d21"> + <saml2:AuthnStatement AuthnInstant="2021-09-06T08:52:57.674Z" + SessionIndex="_e6969dcf549c7115293baa6ac930812a"> <saml2:SubjectLocality Address="127.0.0.1"/> <saml2:AuthnContext> <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef> @@ -3195,20 +3195,20 @@ declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; declare namespace ds='http://www.w3.org/2000/09/xmldsig#'; declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; declare namespace ns1='urn:hl7-org:v3'; -//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210706150729098</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-07-06T15:07:29.098Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ +//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210906085257755</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-09-06T08:52:57.755Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ <saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" - ID="_79f162c58a2022a5e37885d231b4710b" - IssueInstant="2021-07-06T15:07:29.145Z" + ID="_1b9383ee50a34512188895afe1dcef8b" + IssueInstant="2021-09-06T08:52:57.796Z" Version="2.0"> <saml2:Issuer>https://ehealthsuisse.ihe-europe.net/idp/shibboleth</saml2:Issuer> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"/> - <ds:Reference URI="#_79f162c58a2022a5e37885d231b4710b"> + <ds:Reference URI="#_1b9383ee50a34512188895afe1dcef8b"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> @@ -3216,12 +3216,12 @@ declare namespace ns1='urn:hl7-org:v3'; </ds:Transform> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> - <ds:DigestValue>yJW6XUkt5Fk63nJkBGmG7NrLqhkS8YrG0VEyOCDQVB0=</ds:DigestValue> + <ds:DigestValue>4ewinF7eLpnpbEcigL/tx4mZ+Me1fFvBuYzLVnC+SYM=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> - <ds:SignatureValue>bLN1EkIdXBPbY9v6wpRaD27SshpusL/WDG+eWfiuROei7tDDRHs6DK4zpMvUVM2rv0DawMRb2wpK -OsSOxD0GFLdmfQJ95yvF9lpjPTQ6vsB+7N3S9/Hr38ZDl8UqWkoAeBrDk3nxYI2HV1bGXFcUTAmb -PjqOo23VvBZAxRvAVDc=</ds:SignatureValue> + <ds:SignatureValue>duryt6BZtp5/F6fTGZWfXpiGNt9mTb3D6JOSPVTQJWYKHBbs7HIz/udWmr3CfDFXxRgShrNf2WnF +FOSoA5NanQ/9lpTsM4WAD8VbCMxOm1X5w94Aody65ddt87YTL5bTSd9xDiyzCgDMxRLLYe0LX23b +lFuachqrtaJffeb9IxA=</ds:SignatureValue> <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate>MIIDjTCCAvagAwIBAgICAI0wDQYJKoZIhvcNAQENBQAwRTELMAkGA1UEBhMCQ0gxDDAKBgNVBAoM @@ -3249,18 +3249,18 @@ ew==</ds:X509Certificate> NameQualifier="https://ehealthsuisse.ihe-europe.net/idp/shibboleth" SPNameQualifier="https://sp-clone.ihe-europe.net/shibboleth">kweisskopf</saml2:NameID> <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> - <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210706150729098" - NotOnOrAfter="2021-07-06T15:12:29.149Z" + <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210906085257755" + NotOnOrAfter="2021-09-06T08:57:57.801Z" Recipient="https://sp-clone.ihe-europe.net/Shibboleth.sso/SAML2/ECP"/> </saml2:SubjectConfirmation> </saml2:Subject> - <saml2:Conditions NotBefore="2021-07-06T15:07:29.145Z" NotOnOrAfter="2021-07-06T15:12:29.145Z"> + <saml2:Conditions NotBefore="2021-09-06T08:52:57.796Z" NotOnOrAfter="2021-09-06T08:57:57.796Z"> <saml2:AudienceRestriction> <saml2:Audience>https://sp-clone.ihe-europe.net/shibboleth</saml2:Audience> </saml2:AudienceRestriction> </saml2:Conditions> - <saml2:AuthnStatement AuthnInstant="2021-07-06T15:07:29.140Z" - SessionIndex="_067653b08f27a9f1398efb47bf5b55ae"> + <saml2:AuthnStatement AuthnInstant="2021-09-06T08:52:57.790Z" + SessionIndex="_10fc519fe93f781d4560e1261877c7c5"> <saml2:SubjectLocality Address="127.0.0.1"/> <saml2:AuthnContext> <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef> @@ -3402,20 +3402,20 @@ declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; declare namespace ds='http://www.w3.org/2000/09/xmldsig#'; declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; declare namespace ns1='urn:hl7-org:v3'; -//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210706150729576</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-07-06T15:07:29.576Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ +//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210906085257874</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-09-06T08:52:57.874Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ <saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" - ID="_7619e15129cb11bde8e69761440ed5a9" - IssueInstant="2021-07-06T15:07:29.614Z" + ID="_e8d7c0507d7f6b805b9a0ccdd0fb053b" + IssueInstant="2021-09-06T08:52:57.920Z" Version="2.0"> <saml2:Issuer>https://ehealthsuisse.ihe-europe.net/idp/shibboleth</saml2:Issuer> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"/> - <ds:Reference URI="#_7619e15129cb11bde8e69761440ed5a9"> + <ds:Reference URI="#_e8d7c0507d7f6b805b9a0ccdd0fb053b"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> @@ -3423,12 +3423,12 @@ declare namespace ns1='urn:hl7-org:v3'; </ds:Transform> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> - <ds:DigestValue>No4JS/k97eVEQO4M6uyVIVTun5bxLLipgXoJkAi314A=</ds:DigestValue> + <ds:DigestValue>HdQVuTmQsDz+EqMmzvy6cch1WZXvyeimfG+c/XL5Wcc=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> - <ds:SignatureValue>DnmLqcVcK3/jJzfaLrE9vUq6J3+4EDFF8tcUe4ayWdpm5hI2+kRPVQzzqhbl+uM/EbgHJpDWnWx8 -3PcBoPmF6awB0T2luBhnMxYBMUn0Ko8NMsxGIXH+zAJrrEJDru0qPU6bJ5V77lstskaCHmMxvEBB -XunYqtTZqncuvSsz2qw=</ds:SignatureValue> + <ds:SignatureValue>Rgzce9NStn1ZhqnlzAxpnqzc/DMH6ulnnYvSjSiFLXpViOGEP8Dqb3DHLimbtrn1rRrk5jWgT3Ex +TBuc7PpZHlIL48xGdS3qVMgG6c6g1kSIHm8N/U0+8ygxtvXsUwQW3eqPPiOvKIpA+03ILr29bfcZ +rPCH8z65AxyMdXgzc6g=</ds:SignatureValue> <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate>MIIDjTCCAvagAwIBAgICAI0wDQYJKoZIhvcNAQENBQAwRTELMAkGA1UEBhMCQ0gxDDAKBgNVBAoM @@ -3456,18 +3456,18 @@ ew==</ds:X509Certificate> NameQualifier="https://ehealthsuisse.ihe-europe.net/idp/shibboleth" SPNameQualifier="https://sp-clone.ihe-europe.net/shibboleth">aamrein</saml2:NameID> <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> - <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210706150729576" - NotOnOrAfter="2021-07-06T15:12:29.619Z" + <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210906085257874" + NotOnOrAfter="2021-09-06T08:57:57.927Z" Recipient="https://sp-clone.ihe-europe.net/Shibboleth.sso/SAML2/ECP"/> </saml2:SubjectConfirmation> </saml2:Subject> - <saml2:Conditions NotBefore="2021-07-06T15:07:29.614Z" NotOnOrAfter="2021-07-06T15:12:29.614Z"> + <saml2:Conditions NotBefore="2021-09-06T08:52:57.920Z" NotOnOrAfter="2021-09-06T08:57:57.920Z"> <saml2:AudienceRestriction> <saml2:Audience>https://sp-clone.ihe-europe.net/shibboleth</saml2:Audience> </saml2:AudienceRestriction> </saml2:Conditions> - <saml2:AuthnStatement AuthnInstant="2021-07-06T15:07:29.610Z" - SessionIndex="_4778d874a23deb0311164ffcdf7da0eb"> + <saml2:AuthnStatement AuthnInstant="2021-09-06T08:52:57.912Z" + SessionIndex="_69b07ecead3b5b13fad6441fa8f06961"> <saml2:SubjectLocality Address="127.0.0.1"/> <saml2:AuthnContext> <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef> @@ -3501,7 +3501,7 @@ ew==</ds:X509Certificate> <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">20130608140541.344Z</saml2:AttributeValue> </saml2:Attribute> </saml2:AttributeStatement> - </saml2:Assertion>]]></con:value></con:property></con:properties></con:testCase><con:properties><con:property><con:name>endpointIDP</con:name><con:value>https://ehealthsuisse.ihe-europe.net/idp/profile/SAML2/SOAP/ECP</con:value></con:property><con:property><con:name>endpointSTS</con:name><con:value>http://localhost:8090/STS</con:value></con:property></con:properties></con:testSuite><con:testSuite id="90283629-03a3-4da2-add2-cd924a8dc9aa" name="idp_connection_library" disabled="true"><con:settings/><con:runType>SEQUENTIAL</con:runType><con:testCase id="42312843-d6a5-4f7d-998c-87b8eab9cb37" failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="HP authentication and XUA" searchProperties="true"><con:settings/><con:testStep type="groovy" name="Groovy Script" id="8690c269-0c04-4927-b84c-9c05579ca1a3"><con:settings/><con:config><script> def project = testRunner.testCase.testSuite.project + </saml2:Assertion>]]></con:value></con:property></con:properties></con:testCase><con:properties><con:property><con:name>endpointIDP</con:name><con:value>https://ehealthsuisse.ihe-europe.net/idp/profile/SAML2/SOAP/ECP</con:value></con:property><con:property><con:name>endpointSTS</con:name><con:value>https://bcu-indus.ihe-europe.net/STS</con:value></con:property></con:properties></con:testSuite><con:testSuite id="90283629-03a3-4da2-add2-cd924a8dc9aa" name="idp_connection_library" disabled="true"><con:settings/><con:runType>SEQUENTIAL</con:runType><con:testCase id="42312843-d6a5-4f7d-998c-87b8eab9cb37" failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="HP authentication and XUA" searchProperties="true"><con:settings/><con:testStep type="groovy" name="Groovy Script" id="8690c269-0c04-4927-b84c-9c05579ca1a3"><con:settings/><con:config><script> def project = testRunner.testCase.testSuite.project def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context ) @@ -4860,107 +4860,4 @@ evaluate(new File(groovyutils.projectPath + "/../groovy-script/" + scriptName)); </soap:Reason> </soap:Fault> </soap:Body> -</soap:Envelope>]]></con:responseContent><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RSTRC/IssueFinal"/></con:response><con:dispatchConfig/></con:mockOperation></con:mockService><con:endpointStrategy xsi:type="con:DefaultEndpointStrategy" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:endpoint mode="COMPLEMENT" username="" password="azerty">${#TestSuite#endPointIDP}</con:endpoint></con:endpointStrategy><con:properties><con:property><con:name>assertion</con:name><con:value><![CDATA[ -<saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" - xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" - ID="_6bf3ded123d691859bf9a6e7b5552178" - IssueInstant="2019-10-09T08:50:42.570Z" - Version="2.0"> - <saml2:Issuer>https://ehealthsuisse.ihe-europe.net/idp/shibboleth</saml2:Issuer> - <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> - <ds:SignedInfo> - <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> - <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"/> - <ds:Reference URI="#_6bf3ded123d691859bf9a6e7b5552178"> - <ds:Transforms> - <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> - <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> - <ec:InclusiveNamespaces xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#" PrefixList="xsd"/> - </ds:Transform> - </ds:Transforms> - <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> - <ds:DigestValue>hOP+SO8debxmg6zc4uYb+rYp51usVuZepoyNauTCX2Q=</ds:DigestValue> - </ds:Reference> - </ds:SignedInfo> - <ds:SignatureValue>X0oH2Y4Qg+kLWiu20G2l94nTF2VxgxgNqqQzSIsrjerMV9fWgIUqWaza7do8IahvOuA0ySZhLdCW -ePLtFM9wMTv6eZi2POG/vWUfZg2KqR45NfgEYW+AYTQuw99/0TeWcY6OI8V67PbpMbA6HudyJ4dj -9Ve7ac13TzDSoKUm00o=</ds:SignatureValue> - <ds:KeyInfo> - <ds:X509Data> - <ds:X509Certificate>MIIDjTCCAvagAwIBAgICAI0wDQYJKoZIhvcNAQENBQAwRTELMAkGA1UEBhMCQ0gxDDAKBgNVBAoM -A0lIRTEoMCYGA1UEAwwfZWhlYWx0aHN1aXNzZS5paGUtZXVyb3BlLm5ldCBDQTAeFw0xOTA0MDEx -MjQxMThaFw0yOTA0MDExMjQxMThaMCkxCzAJBgNVBAYTAkNIMQwwCgYDVQQKDANJSEUxDDAKBgNV -BAMMA0lEUDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAhmmz4AEhbH+80Nf5QLjvP9/Cukcv -rk5ONVZ9hQjz2OeBGBiW6TdKrwX6GIY0ue6zN6mRFuRycKi4A0aVWsO+s4ByQPsnnXx4JKXYGkoS -ny7hgyxHxsEHiBZlMQLoqJ3jKYAR1SgLfdBEghAaDFEKF8hp8hwBMAp/WJY7eaZpXS0CAwEAAaOC -AaYwggGiMB0GA1UdEQQWMBSCEmlkcC5paGUtZXVyb3BlLm5ldDBKBgNVHR8EQzBBMD+gPaA7hjlo -dHRwczovL2VoZWFsdGhzdWlzc2UuaWhlLWV1cm9wZS5uZXQvZ3NzL2NybC8yMi9jYWNybC5jcmww -SAYJYIZIAYb4QgEEBDsWOWh0dHBzOi8vZWhlYWx0aHN1aXNzZS5paGUtZXVyb3BlLm5ldC9nc3Mv -Y3JsLzIyL2NhY3JsLmNybDBIBglghkgBhvhCAQMEOxY5aHR0cHM6Ly9laGVhbHRoc3Vpc3NlLmlo -ZS1ldXJvcGUubmV0L2dzcy9jcmwvMjIvY2FjcmwuY3JsMAkGA1UdEwQCMAAwDgYDVR0PAQH/BAQD -AgTwMBEGCWCGSAGG+EIBAQQEAwIF4DAdBgNVHQ4EFgQU4Kj/ojx2cO5W9/hOlSFUVh8jT1gwHwYD -VR0jBBgwFoAUKJfv3d4xWGxW8oZG4hHkPjhxXy8wMwYDVR0lBCwwKgYIKwYBBQUHAwIGCCsGAQUF -BwMEBgorBgEEAYI3FAICBggrBgEFBQcDATANBgkqhkiG9w0BAQ0FAAOBgQAvAQf3kRfC5hMAWFuK -ZKV7fOLklivFoELOl96i9O29i5wCEeiClubfH9X7nnfvKukhWdi0MFkRZqgLRXN1iDY6iKC6MnZH -TUN6qgskn6m3S0rsRXN8/My/EM+lmcFR1/IWhHtW+aERI0XoXR8GrY/QSmn3TWgHfO6qLdrUEfvV -ew==</ds:X509Certificate> - </ds:X509Data> - </ds:KeyInfo> - </ds:Signature> - <saml2:Subject> - <saml2:NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:unspecified" - NameQualifier="https://ehealthsuisse.ihe-europe.net/idp/shibboleth" - SPNameQualifier="https://sp-clone.ihe-europe.net/shibboleth">sbaader</saml2:NameID> - <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> - <saml2:SubjectConfirmationData Address="51.83.86.158" InResponseTo="_20191009085042530" - NotOnOrAfter="2019-10-09T08:55:42.573Z" - Recipient="https://sp-clone.ihe-europe.net/Shibboleth.sso/SAML2/ECP"/> - </saml2:SubjectConfirmation> - </saml2:Subject> - <saml2:Conditions NotBefore="2019-10-09T08:50:42.570Z" NotOnOrAfter="2019-10-09T08:55:42.570Z"> - <saml2:AudienceRestriction> - <saml2:Audience>https://sp-clone.ihe-europe.net/shibboleth</saml2:Audience> - </saml2:AudienceRestriction> - </saml2:Conditions> - <saml2:AuthnStatement AuthnInstant="2019-10-09T08:50:42.566Z" - SessionIndex="_3203cf941d418addce43e0e0602e9a9b"> - <saml2:SubjectLocality Address="51.83.86.158"/> - <saml2:AuthnContext> - <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef> - </saml2:AuthnContext> - </saml2:AuthnStatement> - <saml2:AttributeStatement> - <saml2:Attribute FriendlyName="identno" Name="urn:oid:0.9.2342.19200300.100.1.1" - NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"> - <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">sbaader</saml2:AttributeValue> - </saml2:Attribute> - <saml2:Attribute FriendlyName="GLN" Name="GLN" - NameFormat="urn:oasis:names:tc:ebcore:partyid-type:DataUniversalNumberingSystem:0060"> - <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">7601002461111</saml2:AttributeValue> - </saml2:Attribute> - <saml2:Attribute FriendlyName="gender" Name="urn:oid:1.3.6.1.5.5.7.9.3" - NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"> - <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">F</saml2:AttributeValue> - </saml2:Attribute> - <saml2:Attribute FriendlyName="displayName" Name="urn:oid:2.16.840.1.113730.3.1.241" - NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"> - <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">Sandra Baader</saml2:AttributeValue> - </saml2:Attribute> - <saml2:Attribute FriendlyName="familyname" - Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname" - NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"> - <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">Baader</saml2:AttributeValue> - </saml2:Attribute> - <saml2:Attribute FriendlyName="firstname" - Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname" - NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"> - <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">Sandra</saml2:AttributeValue> - </saml2:Attribute> - <saml2:Attribute FriendlyName="dateofbirth" Name="urn:oid:1.3.6.1.5.5.7.9.1" - NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"> - <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">19600110163403.350Z</saml2:AttributeValue> - </saml2:Attribute> - </saml2:AttributeStatement> - </saml2:Assertion>]]></con:value></con:property><con:property><con:name>user</con:name><con:value/></con:property><con:property><con:name>homeCommunityID</con:name><con:value>urn:oid:1.1.4567334.1.6</con:value></con:property><con:property><con:name>jdbcUrl</con:name><con:value/></con:property><con:property><con:name>dbUser</con:name><con:value/></con:property><con:property><con:name>dbUserPassword</con:name><con:value/></con:property></con:properties><con:wssContainer><con:crypto><con:source>/opt/gazelle/cert/jboss.jks</con:source><con:password>password</con:password><con:type>KEYSTORE</con:type></con:crypto></con:wssContainer><con:oAuth2ProfileContainer/><con:oAuth1ProfileContainer/><con:sensitiveInformation/></con:soapui-project> \ No newline at end of file +</soap:Envelope>]]></con:responseContent><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RSTRC/IssueFinal"/></con:response><con:dispatchConfig/></con:mockOperation></con:mockService><con:endpointStrategy xsi:type="con:DefaultEndpointStrategy" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:endpoint mode="COMPLEMENT" username="" password="azerty">${#TestSuite#endPointIDP}</con:endpoint></con:endpointStrategy><con:properties><con:property><con:name>assertion</con:name><con:value><![CDATA[ <saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" ID="_6bf3ded123d691859bf9a6e7b5552178" IssueInstant="2019-10-09T08:50:42.570Z" Version="2.0"> <saml2:Issuer>https://ehealthsuisse.ihe-europe.net/idp/shibboleth</saml2:Issuer> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"/> <ds:Reference URI="#_6bf3ded123d691859bf9a6e7b5552178"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> <ec:InclusiveNamespaces xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#" PrefixList="xsd"/> </ds:Transform> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> <ds:DigestValue>hOP+SO8debxmg6zc4uYb+rYp51usVuZepoyNauTCX2Q=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> <ds:SignatureValue>X0oH2Y4Qg+kLWiu20G2l94nTF2VxgxgNqqQzSIsrjerMV9fWgIUqWaza7do8IahvOuA0ySZhLdCW ePLtFM9wMTv6eZi2POG/vWUfZg2KqR45NfgEYW+AYTQuw99/0TeWcY6OI8V67PbpMbA6HudyJ4dj 9Ve7ac13TzDSoKUm00o=</ds:SignatureValue> <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate>MIIDjTCCAvagAwIBAgICAI0wDQYJKoZIhvcNAQENBQAwRTELMAkGA1UEBhMCQ0gxDDAKBgNVBAoM A0lIRTEoMCYGA1UEAwwfZWhlYWx0aHN1aXNzZS5paGUtZXVyb3BlLm5ldCBDQTAeFw0xOTA0MDEx MjQxMThaFw0yOTA0MDExMjQxMThaMCkxCzAJBgNVBAYTAkNIMQwwCgYDVQQKDANJSEUxDDAKBgNV BAMMA0lEUDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAhmmz4AEhbH+80Nf5QLjvP9/Cukcv rk5ONVZ9hQjz2OeBGBiW6TdKrwX6GIY0ue6zN6mRFuRycKi4A0aVWsO+s4ByQPsnnXx4JKXYGkoS ny7hgyxHxsEHiBZlMQLoqJ3jKYAR1SgLfdBEghAaDFEKF8hp8hwBMAp/WJY7eaZpXS0CAwEAAaOC AaYwggGiMB0GA1UdEQQWMBSCEmlkcC5paGUtZXVyb3BlLm5ldDBKBgNVHR8EQzBBMD+gPaA7hjlo dHRwczovL2VoZWFsdGhzdWlzc2UuaWhlLWV1cm9wZS5uZXQvZ3NzL2NybC8yMi9jYWNybC5jcmww SAYJYIZIAYb4QgEEBDsWOWh0dHBzOi8vZWhlYWx0aHN1aXNzZS5paGUtZXVyb3BlLm5ldC9nc3Mv Y3JsLzIyL2NhY3JsLmNybDBIBglghkgBhvhCAQMEOxY5aHR0cHM6Ly9laGVhbHRoc3Vpc3NlLmlo ZS1ldXJvcGUubmV0L2dzcy9jcmwvMjIvY2FjcmwuY3JsMAkGA1UdEwQCMAAwDgYDVR0PAQH/BAQD AgTwMBEGCWCGSAGG+EIBAQQEAwIF4DAdBgNVHQ4EFgQU4Kj/ojx2cO5W9/hOlSFUVh8jT1gwHwYD VR0jBBgwFoAUKJfv3d4xWGxW8oZG4hHkPjhxXy8wMwYDVR0lBCwwKgYIKwYBBQUHAwIGCCsGAQUF BwMEBgorBgEEAYI3FAICBggrBgEFBQcDATANBgkqhkiG9w0BAQ0FAAOBgQAvAQf3kRfC5hMAWFuK ZKV7fOLklivFoELOl96i9O29i5wCEeiClubfH9X7nnfvKukhWdi0MFkRZqgLRXN1iDY6iKC6MnZH TUN6qgskn6m3S0rsRXN8/My/EM+lmcFR1/IWhHtW+aERI0XoXR8GrY/QSmn3TWgHfO6qLdrUEfvV ew==</ds:X509Certificate> </ds:X509Data> </ds:KeyInfo> </ds:Signature> <saml2:Subject> <saml2:NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:unspecified" NameQualifier="https://ehealthsuisse.ihe-europe.net/idp/shibboleth" SPNameQualifier="https://sp-clone.ihe-europe.net/shibboleth">sbaader</saml2:NameID> <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> <saml2:SubjectConfirmationData Address="51.83.86.158" InResponseTo="_20191009085042530" NotOnOrAfter="2019-10-09T08:55:42.573Z" Recipient="https://sp-clone.ihe-europe.net/Shibboleth.sso/SAML2/ECP"/> </saml2:SubjectConfirmation> </saml2:Subject> <saml2:Conditions NotBefore="2019-10-09T08:50:42.570Z" NotOnOrAfter="2019-10-09T08:55:42.570Z"> <saml2:AudienceRestriction> <saml2:Audience>https://sp-clone.ihe-europe.net/shibboleth</saml2:Audience> </saml2:AudienceRestriction> </saml2:Conditions> <saml2:AuthnStatement AuthnInstant="2019-10-09T08:50:42.566Z" SessionIndex="_3203cf941d418addce43e0e0602e9a9b"> <saml2:SubjectLocality Address="51.83.86.158"/> <saml2:AuthnContext> <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef> </saml2:AuthnContext> </saml2:AuthnStatement> <saml2:AttributeStatement> <saml2:Attribute FriendlyName="identno" Name="urn:oid:0.9.2342.19200300.100.1.1" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"> <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">sbaader</saml2:AttributeValue> </saml2:Attribute> <saml2:Attribute FriendlyName="GLN" Name="GLN" NameFormat="urn:oasis:names:tc:ebcore:partyid-type:DataUniversalNumberingSystem:0060"> <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">7601002461111</saml2:AttributeValue> </saml2:Attribute> <saml2:Attribute FriendlyName="gender" Name="urn:oid:1.3.6.1.5.5.7.9.3" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"> <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">F</saml2:AttributeValue> </saml2:Attribute> <saml2:Attribute FriendlyName="displayName" Name="urn:oid:2.16.840.1.113730.3.1.241" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"> <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">Sandra Baader</saml2:AttributeValue> </saml2:Attribute> <saml2:Attribute FriendlyName="familyname" Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"> <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">Baader</saml2:AttributeValue> </saml2:Attribute> <saml2:Attribute FriendlyName="firstname" Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"> <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">Sandra</saml2:AttributeValue> </saml2:Attribute> <saml2:Attribute FriendlyName="dateofbirth" Name="urn:oid:1.3.6.1.5.5.7.9.1" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"> <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">19600110163403.350Z</saml2:AttributeValue> </saml2:Attribute> </saml2:AttributeStatement> </saml2:Assertion>]]></con:value></con:property><con:property><con:name>user</con:name><con:value/></con:property><con:property><con:name>homeCommunityID</con:name><con:value>urn:oid:1.1.4567334.1.10</con:value></con:property><con:property><con:name>jdbcUrl</con:name><con:value/></con:property><con:property><con:name>dbUser</con:name><con:value/></con:property><con:property><con:name>dbUserPassword</con:name><con:value/></con:property></con:properties><con:wssContainer><con:crypto><con:source>/opt/gazelle/cert/jboss.jks</con:source><con:password>password</con:password><con:type>KEYSTORE</con:type></con:crypto></con:wssContainer><con:oAuth2ProfileContainer/><con:oAuth1ProfileContainer/><con:sensitiveInformation/></con:soapui-project> \ No newline at end of file -- GitLab From 72cd1431c4395671e79d87ae6185ada4c59dbf1e Mon Sep 17 00:00:00 2001 From: Alexandre P <apo@kereval.com> Date: Tue, 7 Sep 2021 10:56:51 +0200 Subject: [PATCH 11/11] Add homeCommunityID Assertion --- .../epr-assertion-provider-soapui-project.xml | 208 ++++++++++-------- 1 file changed, 112 insertions(+), 96 deletions(-) diff --git a/assertion-provider/soapui/epr-assertion-provider-soapui-project.xml b/assertion-provider/soapui/epr-assertion-provider-soapui-project.xml index 4f0867a..247a1ea 100755 --- a/assertion-provider/soapui/epr-assertion-provider-soapui-project.xml +++ b/assertion-provider/soapui/epr-assertion-provider-soapui-project.xml @@ -1927,7 +1927,15 @@ declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; declare namespace wsa='http://www.w3.org/2005/08/addressing'; -boolean(//wst:RequestSecurityTokenResponse/wsp:AppliesTo)</path><content>true</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:testStep type="request" id="b863f209-6cd5-4e85-b54b-5765ee4a8be7" name="NoAppliesTo Request"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>STSBinding</con:interface><con:operation>Issue</con:operation><con:request name="NoAppliesTo Request" outgoingWss="" incomingWss="" timeout="" sslKeystore="" useWsAddressing="true" useWsReliableMessaging="false" id="679d289c-3fa3-4bc4-95a8-a1a6f835ebfc"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers"><xml-fragment/></con:setting><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@strip-whitespaces">true</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>${#TestSuite#testEndpoint}</con:endpoint><con:request><![CDATA[<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:S12="http://www.w3.org/2003/05/soap-envelope" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:wst="http://docs.oasis-open.org/ws-sx/ws-trust/200512" xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"> +boolean(//wst:RequestSecurityTokenResponse/wsp:AppliesTo)</path><content>true</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:assertion type="XPath Match" id="20c253f9-64c0-4c1e-a426-9b334674cdea" name="XPath Match homeCommunityID"><con:configuration><path>declare namespace saml2='urn:oasis:names:tc:SAML:2.0:assertion'; +declare namespace wsp='http://schemas.xmlsoap.org/ws/2004/09/policy'; +declare namespace xs='http://www.w3.org/2001/XMLSchema'; +declare namespace wsa='http://www.w3.org/2005/08/addressing'; +declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; +declare namespace ds='http://www.w3.org/2000/09/xmldsig#'; +declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; +declare namespace ns1='urn:hl7-org:v3'; +//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:testStep type="request" id="b863f209-6cd5-4e85-b54b-5765ee4a8be7" name="NoAppliesTo Request"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>STSBinding</con:interface><con:operation>Issue</con:operation><con:request name="NoAppliesTo Request" outgoingWss="" incomingWss="" timeout="" sslKeystore="" useWsAddressing="true" useWsReliableMessaging="false" id="679d289c-3fa3-4bc4-95a8-a1a6f835ebfc"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers"><xml-fragment/></con:setting><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@strip-whitespaces">true</con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>${#TestSuite#testEndpoint}</con:endpoint><con:request><![CDATA[<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:S12="http://www.w3.org/2003/05/soap-envelope" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:wst="http://docs.oasis-open.org/ws-sx/ws-trust/200512" xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"> <soap:Header xmlns:wsa="http://www.w3.org/2005/08/addressing"> <wsse:Security> <wsu:Timestamp wsu:Id="id-06540FF6159365931114525933973941"> @@ -2053,7 +2061,15 @@ declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; declare namespace ns1='urn:hl7-org:v3'; -boolean(//wst:RequestSecurityTokenResponse/wsp:AppliesTo)</path><content>false</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties/></con:testCase><con:properties><con:property><con:name>testEndpoint</con:name><con:value>http://localhost:8090/STS</con:value></con:property></con:properties></con:testSuite><con:testSuite id="713aab7b-1246-4245-b541-426a2d0ccebe" name="Integration_with_idp"><con:settings/><con:runType>SEQUENTIAL</con:runType><con:testCase id="ad8074ce-9f68-422c-adfb-f980e6e984b2" failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="HP authentication and XUA" searchProperties="true"><con:settings/><con:testStep type="groovy" name="Groovy Script" id="b43861ea-c573-4c32-9962-6fe50ccb2a00"><con:settings/><con:config><script> def project = testRunner.testCase.testSuite.project +boolean(//wst:RequestSecurityTokenResponse/wsp:AppliesTo)</path><content>false</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:assertion type="XPath Match" id="47fa16fa-9d9f-49be-ad0b-0878132dfefe" name="XPath Match homeCommunityID"><con:configuration><path>declare namespace saml2='urn:oasis:names:tc:SAML:2.0:assertion'; +declare namespace wsp='http://schemas.xmlsoap.org/ws/2004/09/policy'; +declare namespace xs='http://www.w3.org/2001/XMLSchema'; +declare namespace wsa='http://www.w3.org/2005/08/addressing'; +declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; +declare namespace ds='http://www.w3.org/2000/09/xmldsig#'; +declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; +declare namespace ns1='urn:hl7-org:v3'; +//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties/></con:testCase><con:properties><con:property><con:name>testEndpoint</con:name><con:value>https://bcu-indus.ihe-europe.net/STS</con:value></con:property></con:properties></con:testSuite><con:testSuite id="713aab7b-1246-4245-b541-426a2d0ccebe" name="Integration_with_idp"><con:settings/><con:runType>SEQUENTIAL</con:runType><con:testCase id="ad8074ce-9f68-422c-adfb-f980e6e984b2" failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="HP authentication and XUA" searchProperties="true"><con:settings/><con:testStep type="groovy" name="Groovy Script" id="b43861ea-c573-4c32-9962-6fe50ccb2a00"><con:settings/><con:config><script> def project = testRunner.testCase.testSuite.project def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context ) @@ -2155,20 +2171,20 @@ declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; declare namespace ds='http://www.w3.org/2000/09/xmldsig#'; declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; declare namespace ns1='urn:hl7-org:v3'; -//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210906091202314</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-09-06T09:12:02.314Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ +//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210906092044500</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-09-06T09:20:44.500Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ <saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" - ID="_bd7538155e67881e29a97c5aa48dd0e0" - IssueInstant="2021-09-06T09:12:02.602Z" + ID="_94d7e542148eeebc56ebdd167142bc8f" + IssueInstant="2021-09-06T09:20:44.674Z" Version="2.0"> <saml2:Issuer>https://ehealthsuisse.ihe-europe.net/idp/shibboleth</saml2:Issuer> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"/> - <ds:Reference URI="#_bd7538155e67881e29a97c5aa48dd0e0"> + <ds:Reference URI="#_94d7e542148eeebc56ebdd167142bc8f"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> @@ -2176,12 +2192,12 @@ declare namespace ns1='urn:hl7-org:v3'; </ds:Transform> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> - <ds:DigestValue>dW8cdmIe/zAafoLgyhFnSemslimS6qpkpakIGp/0PDI=</ds:DigestValue> + <ds:DigestValue>96c8uYATs8BtEbEEwZ0eJLt929N5lBFB4VpgfVUUfrU=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> - <ds:SignatureValue>QvuvJfUZ5kVmfwe/lA0o0z2ntS0lKp7GiEg5ZR27J/J/zPlARj7xCsCjGCbEiCgCkvP6rOFjA9lm -VatAP7YePrG4RKOdKA7E+z4TmT+d/mfBST99sUsrTh/2MhGk3r5xq4lMYnKHzp7l+INNNbCBA/r3 -d1SXO3GQZfAlLSGXoz4=</ds:SignatureValue> + <ds:SignatureValue>InW9+dmrnDNy+fvKtbE4dqszcpM2SeDpBiJsrF7d6sHsLF9/S/YhGa8OBdpozjIFAhrxi+VpKZGt +DZoNX+vKrbqW6L1RHI1+/ljuuuZzyaG5PcT4evn9Ff8w56ZHvgip6lDe+xwowjjys3hZz5jmtQDB +ngCfYHFd6rsHbpwwQFc=</ds:SignatureValue> <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate>MIIDjTCCAvagAwIBAgICAI0wDQYJKoZIhvcNAQENBQAwRTELMAkGA1UEBhMCQ0gxDDAKBgNVBAoM @@ -2209,18 +2225,18 @@ ew==</ds:X509Certificate> NameQualifier="https://ehealthsuisse.ihe-europe.net/idp/shibboleth" SPNameQualifier="https://sp-clone.ihe-europe.net/shibboleth">aandrews</saml2:NameID> <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> - <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210906091202314" - NotOnOrAfter="2021-09-06T09:17:02.609Z" + <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210906092044500" + NotOnOrAfter="2021-09-06T09:25:44.679Z" Recipient="https://sp-clone.ihe-europe.net/Shibboleth.sso/SAML2/ECP"/> </saml2:SubjectConfirmation> </saml2:Subject> - <saml2:Conditions NotBefore="2021-09-06T09:12:02.602Z" NotOnOrAfter="2021-09-06T09:17:02.602Z"> + <saml2:Conditions NotBefore="2021-09-06T09:20:44.674Z" NotOnOrAfter="2021-09-06T09:25:44.674Z"> <saml2:AudienceRestriction> <saml2:Audience>https://sp-clone.ihe-europe.net/shibboleth</saml2:Audience> </saml2:AudienceRestriction> </saml2:Conditions> - <saml2:AuthnStatement AuthnInstant="2021-09-06T09:12:02.560Z" - SessionIndex="_3f5ca0894cac9fe7132bc74432ecb00f"> + <saml2:AuthnStatement AuthnInstant="2021-09-06T09:20:44.668Z" + SessionIndex="_06069e151dfefd34ed36cb7e3bae376f"> <saml2:SubjectLocality Address="127.0.0.1"/> <saml2:AuthnContext> <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef> @@ -2368,20 +2384,20 @@ declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; declare namespace ds='http://www.w3.org/2000/09/xmldsig#'; declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; declare namespace ns1='urn:hl7-org:v3'; -//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210906085257041</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-09-06T08:52:57.041Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ +//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210906092045242</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-09-06T09:20:45.242Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ <saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" - ID="_b6a108293ea6266924c55dce6a7e0ef3" - IssueInstant="2021-09-06T08:52:57.088Z" + ID="_dfc495f902605a597fcc0ada01fbf452" + IssueInstant="2021-09-06T09:20:45.285Z" Version="2.0"> <saml2:Issuer>https://ehealthsuisse.ihe-europe.net/idp/shibboleth</saml2:Issuer> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"/> - <ds:Reference URI="#_b6a108293ea6266924c55dce6a7e0ef3"> + <ds:Reference URI="#_dfc495f902605a597fcc0ada01fbf452"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> @@ -2389,12 +2405,12 @@ declare namespace ns1='urn:hl7-org:v3'; </ds:Transform> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> - <ds:DigestValue>U7PeZmPqGvw9gq18I3sV4FQnyGr2aoPY6CiGfCORLB8=</ds:DigestValue> + <ds:DigestValue>gtRXlwClgZ/lRu4Ojyk/UQ6coiQfM+6ntOdPlSZoVTE=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> - <ds:SignatureValue>HYhJamtLK7lYSQelsjDpm2hBMXQCDvdAxNPGbnNzDa5GsmCuKC6+FWWSZauan5JPG6tYmAGVyj7k -RZHkFkgcHyW31LaSZrD/S9LIbpKYUswajGrlxpZn3Cneza/xreofVDdgKGbh0/KfcT2QURxN26YM -CIUP9XM79+AkP41s9NQ=</ds:SignatureValue> + <ds:SignatureValue>DPlMdMPYyCS8vXjVRagNXh7lhPpv/fxNaO6cLTTKWlWap8ETzCN++KqexDKjtR8LiuQnKbvPEFa7 +8ds+qTO7gqL7A6V2mgsym/tRrOHetW1mFRhs7/xypIdSu8+Sgt2LP7vzsPVamnPLsmg/34g8rVzV +/8RobfK+dDBaMb4KDmk=</ds:SignatureValue> <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate>MIIDjTCCAvagAwIBAgICAI0wDQYJKoZIhvcNAQENBQAwRTELMAkGA1UEBhMCQ0gxDDAKBgNVBAoM @@ -2422,18 +2438,18 @@ ew==</ds:X509Certificate> NameQualifier="https://ehealthsuisse.ihe-europe.net/idp/shibboleth" SPNameQualifier="https://sp-clone.ihe-europe.net/shibboleth">nwittwerchristen</saml2:NameID> <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> - <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210906085257041" - NotOnOrAfter="2021-09-06T08:57:57.095Z" + <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210906092045242" + NotOnOrAfter="2021-09-06T09:25:45.291Z" Recipient="https://sp-clone.ihe-europe.net/Shibboleth.sso/SAML2/ECP"/> </saml2:SubjectConfirmation> </saml2:Subject> - <saml2:Conditions NotBefore="2021-09-06T08:52:57.088Z" NotOnOrAfter="2021-09-06T08:57:57.088Z"> + <saml2:Conditions NotBefore="2021-09-06T09:20:45.285Z" NotOnOrAfter="2021-09-06T09:25:45.285Z"> <saml2:AudienceRestriction> <saml2:Audience>https://sp-clone.ihe-europe.net/shibboleth</saml2:Audience> </saml2:AudienceRestriction> </saml2:Conditions> - <saml2:AuthnStatement AuthnInstant="2021-09-06T08:52:57.081Z" - SessionIndex="_6f3e0e5087ee8d660766e9ee12a38f7f"> + <saml2:AuthnStatement AuthnInstant="2021-09-06T09:20:45.278Z" + SessionIndex="_9cb2107ae737f8c4cf1485666ebccca3"> <saml2:SubjectLocality Address="127.0.0.1"/> <saml2:AuthnContext> <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef> @@ -2568,20 +2584,20 @@ declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; declare namespace ds='http://www.w3.org/2000/09/xmldsig#'; declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; declare namespace ns1='urn:hl7-org:v3'; -//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210906085257157</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-09-06T08:52:57.157Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ +//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210906092045655</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-09-06T09:20:45.655Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ <saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" - ID="_0a7caa75df7ef15bf367e45b8231955b" - IssueInstant="2021-09-06T08:52:57.203Z" + ID="_842b7d5485bd95889eb11959f5d2df07" + IssueInstant="2021-09-06T09:20:45.697Z" Version="2.0"> <saml2:Issuer>https://ehealthsuisse.ihe-europe.net/idp/shibboleth</saml2:Issuer> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"/> - <ds:Reference URI="#_0a7caa75df7ef15bf367e45b8231955b"> + <ds:Reference URI="#_842b7d5485bd95889eb11959f5d2df07"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> @@ -2589,12 +2605,12 @@ declare namespace ns1='urn:hl7-org:v3'; </ds:Transform> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> - <ds:DigestValue>VpYAKYnz957UuLN7JY3kInrbJuDLUaEedpCjpQydyxY=</ds:DigestValue> + <ds:DigestValue>i3xZGtl1ZM7WUlyiHRHODABf3cnKvNi1nWhalkctmBE=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> - <ds:SignatureValue>DXWU36JCFJ4yeiQ3tSjBkJhj/1Fyai3ZWBH9nz5fY1OMUJ7kpX0mjWJNyjYUOTzVBDt8xv80JmnH -798gFJL2pcwriQQjUKhRIMygu00DkY9s3VJj7GPE59QAmd8N7vvmYV/whChI/kzarnl4wMri7hBp -J5qyW9Ut1ChVp3/SLSY=</ds:SignatureValue> + <ds:SignatureValue>XTWujpmS3yJhQh7ggkAyESgTtBXTtxFkuEceMnwHDf0bIhhNXJuLjqrtH5ak1LZM9A2JSQSejCFF +ApQBDjdsMF95Qkj2w2vj0wjfkDUA/rb0iWxnMhRT0p6kLJ165yD+emr8KWspsaYb1Q3bdvRQRBT+ +9f9Iac0pUgxTBj/eh4A=</ds:SignatureValue> <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate>MIIDjTCCAvagAwIBAgICAI0wDQYJKoZIhvcNAQENBQAwRTELMAkGA1UEBhMCQ0gxDDAKBgNVBAoM @@ -2622,18 +2638,18 @@ ew==</ds:X509Certificate> NameQualifier="https://ehealthsuisse.ihe-europe.net/idp/shibboleth" SPNameQualifier="https://sp-clone.ihe-europe.net/shibboleth">ltieche</saml2:NameID> <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> - <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210906085257157" - NotOnOrAfter="2021-09-06T08:57:57.207Z" + <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210906092045655" + NotOnOrAfter="2021-09-06T09:25:45.703Z" Recipient="https://sp-clone.ihe-europe.net/Shibboleth.sso/SAML2/ECP"/> </saml2:SubjectConfirmation> </saml2:Subject> - <saml2:Conditions NotBefore="2021-09-06T08:52:57.203Z" NotOnOrAfter="2021-09-06T08:57:57.203Z"> + <saml2:Conditions NotBefore="2021-09-06T09:20:45.697Z" NotOnOrAfter="2021-09-06T09:25:45.697Z"> <saml2:AudienceRestriction> <saml2:Audience>https://sp-clone.ihe-europe.net/shibboleth</saml2:Audience> </saml2:AudienceRestriction> </saml2:Conditions> - <saml2:AuthnStatement AuthnInstant="2021-09-06T08:52:57.196Z" - SessionIndex="_839a075fa8519d40b035473f7bb8a8bf"> + <saml2:AuthnStatement AuthnInstant="2021-09-06T09:20:45.690Z" + SessionIndex="_8f543155d330ff39b50cccd06feceb7c"> <saml2:SubjectLocality Address="127.0.0.1"/> <saml2:AuthnContext> <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef> @@ -2781,20 +2797,20 @@ declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; declare namespace ds='http://www.w3.org/2000/09/xmldsig#'; declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; declare namespace ns1='urn:hl7-org:v3'; -//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.10</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210906085257285</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-09-06T08:52:57.285Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ +//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210906092045979</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-09-06T09:20:45.979Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ <saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" - ID="_709e04c5272ff257407c2d8dac0c24d9" - IssueInstant="2021-09-06T08:52:57.328Z" + ID="_ae7d57365f30638df2a8a7a30e68b98b" + IssueInstant="2021-09-06T09:20:46.023Z" Version="2.0"> <saml2:Issuer>https://ehealthsuisse.ihe-europe.net/idp/shibboleth</saml2:Issuer> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"/> - <ds:Reference URI="#_709e04c5272ff257407c2d8dac0c24d9"> + <ds:Reference URI="#_ae7d57365f30638df2a8a7a30e68b98b"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> @@ -2802,12 +2818,12 @@ declare namespace ns1='urn:hl7-org:v3'; </ds:Transform> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> - <ds:DigestValue>pqZNgPBukqNf7aqYW0NpBeFMKwc1EuiZNzTNuwEr35M=</ds:DigestValue> + <ds:DigestValue>tv+UfTNej210BXmAO0Fyuy928kxrOOW6HH9uKmnORnQ=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> - <ds:SignatureValue>ZRRhKvs7tnR1hddwYnOwAxvH+evGgy4WpiE72WlnugLh6GF2bGFLrW58l2jRIv7n158OWq47yBVd -m4tilXcsviaA/jzhjOlOfzTZVlklyfoZQjsoY3nQ2hcXoehxJB+GYjeuRP03xUxfsHZgCjrlW0HF -gT9y8LBT2O9uGFNxKfY=</ds:SignatureValue> + <ds:SignatureValue>LIlSUmTbO/rQlExNZU6tPIm9LiX0LBRBEvfJ9idIexU+SoVpD5YYkE0jcwVo+/abtbPmT31oEI5U +JPJ3tDsJCCQQNw+oKOCPcI5sEhzSKGVy0PD1uZHB3sDeWbjsfpbFkwdM0gfGzmct+12lsmG9pXAK +MU7vSghwSXfUWq1lTf0=</ds:SignatureValue> <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate>MIIDjTCCAvagAwIBAgICAI0wDQYJKoZIhvcNAQENBQAwRTELMAkGA1UEBhMCQ0gxDDAKBgNVBAoM @@ -2835,18 +2851,18 @@ ew==</ds:X509Certificate> NameQualifier="https://ehealthsuisse.ihe-europe.net/idp/shibboleth" SPNameQualifier="https://sp-clone.ihe-europe.net/shibboleth">sbaader</saml2:NameID> <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> - <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210906085257285" - NotOnOrAfter="2021-09-06T08:57:57.333Z" + <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210906092045979" + NotOnOrAfter="2021-09-06T09:25:46.028Z" Recipient="https://sp-clone.ihe-europe.net/Shibboleth.sso/SAML2/ECP"/> </saml2:SubjectConfirmation> </saml2:Subject> - <saml2:Conditions NotBefore="2021-09-06T08:52:57.328Z" NotOnOrAfter="2021-09-06T08:57:57.328Z"> + <saml2:Conditions NotBefore="2021-09-06T09:20:46.023Z" NotOnOrAfter="2021-09-06T09:25:46.023Z"> <saml2:AudienceRestriction> <saml2:Audience>https://sp-clone.ihe-europe.net/shibboleth</saml2:Audience> </saml2:AudienceRestriction> </saml2:Conditions> - <saml2:AuthnStatement AuthnInstant="2021-09-06T08:52:57.322Z" - SessionIndex="_b79ae55cca4e790c9204a01b16b53e10"> + <saml2:AuthnStatement AuthnInstant="2021-09-06T09:20:46.017Z" + SessionIndex="_460fe59ab6140a89c078e282ec99f528"> <saml2:SubjectLocality Address="127.0.0.1"/> <saml2:AuthnContext> <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef> @@ -2988,20 +3004,20 @@ declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; declare namespace ds='http://www.w3.org/2000/09/xmldsig#'; declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; declare namespace ns1='urn:hl7-org:v3'; -//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210906085257639</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-09-06T08:52:57.639Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ +//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210906092046885</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-09-06T09:20:46.885Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ <saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" - ID="_c45307b41c7340fb7f8a333169663103" - IssueInstant="2021-09-06T08:52:57.680Z" + ID="_da34c45278c7095770dea07e08bfe6cd" + IssueInstant="2021-09-06T09:20:46.929Z" Version="2.0"> <saml2:Issuer>https://ehealthsuisse.ihe-europe.net/idp/shibboleth</saml2:Issuer> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"/> - <ds:Reference URI="#_c45307b41c7340fb7f8a333169663103"> + <ds:Reference URI="#_da34c45278c7095770dea07e08bfe6cd"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> @@ -3009,12 +3025,12 @@ declare namespace ns1='urn:hl7-org:v3'; </ds:Transform> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> - <ds:DigestValue>9PJaOjzTJswk7cmN/j4D+Ykd4bAQkQM6J3lk8SI55nI=</ds:DigestValue> + <ds:DigestValue>YfDAnPBbVzXhiyK1PEHlwB/+SXVO5+SDC0HcG45ZMDY=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> - <ds:SignatureValue>fgBHFaezFIctQf5RueWdidtefd08Ln+eU4gco7FwNUcrYT5BeL8qYU0sILXYinIYq+u3hhYo/4Qn -7RGjuDXh7JLCvfspqVAaHUlH067nO/Eyf7CcuKXnPAmGfSSLC5LWSDeIVXdPQ1kQUowiL+A1/otx -qHKaqLlN0Un9aaK4zvA=</ds:SignatureValue> + <ds:SignatureValue>feUWBmOS+91t1wmKh8uLhlU6/pOciE2KtV6yYlYFaMnMUGEBsjdbaIPVPLlraME7ls4D13Txr0TB +6/N3FBC6XmY/u6CbhrKDALoMQAFhX9ETey54lMQVv6G9bytyMKFsnFzNtROYZ9jAoOvsGoqEtnPf +r8bGf66msA+AVGnJXh8=</ds:SignatureValue> <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate>MIIDjTCCAvagAwIBAgICAI0wDQYJKoZIhvcNAQENBQAwRTELMAkGA1UEBhMCQ0gxDDAKBgNVBAoM @@ -3042,18 +3058,18 @@ ew==</ds:X509Certificate> NameQualifier="https://ehealthsuisse.ihe-europe.net/idp/shibboleth" SPNameQualifier="https://sp-clone.ihe-europe.net/shibboleth">icastineira</saml2:NameID> <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> - <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210906085257639" - NotOnOrAfter="2021-09-06T08:57:57.685Z" + <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210906092046885" + NotOnOrAfter="2021-09-06T09:25:46.934Z" Recipient="https://sp-clone.ihe-europe.net/Shibboleth.sso/SAML2/ECP"/> </saml2:SubjectConfirmation> </saml2:Subject> - <saml2:Conditions NotBefore="2021-09-06T08:52:57.680Z" NotOnOrAfter="2021-09-06T08:57:57.680Z"> + <saml2:Conditions NotBefore="2021-09-06T09:20:46.929Z" NotOnOrAfter="2021-09-06T09:25:46.929Z"> <saml2:AudienceRestriction> <saml2:Audience>https://sp-clone.ihe-europe.net/shibboleth</saml2:Audience> </saml2:AudienceRestriction> </saml2:Conditions> - <saml2:AuthnStatement AuthnInstant="2021-09-06T08:52:57.674Z" - SessionIndex="_e6969dcf549c7115293baa6ac930812a"> + <saml2:AuthnStatement AuthnInstant="2021-09-06T09:20:46.922Z" + SessionIndex="_db0ddf12d33619e00ca86f6e8231772c"> <saml2:SubjectLocality Address="127.0.0.1"/> <saml2:AuthnContext> <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef> @@ -3195,20 +3211,20 @@ declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; declare namespace ds='http://www.w3.org/2000/09/xmldsig#'; declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; declare namespace ns1='urn:hl7-org:v3'; -//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210906085257755</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-09-06T08:52:57.755Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ +//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210906092047261</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-09-06T09:20:47.261Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ <saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" - ID="_1b9383ee50a34512188895afe1dcef8b" - IssueInstant="2021-09-06T08:52:57.796Z" + ID="_7b856aff2fdebbbfb7a48f4d06ef2663" + IssueInstant="2021-09-06T09:20:47.302Z" Version="2.0"> <saml2:Issuer>https://ehealthsuisse.ihe-europe.net/idp/shibboleth</saml2:Issuer> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"/> - <ds:Reference URI="#_1b9383ee50a34512188895afe1dcef8b"> + <ds:Reference URI="#_7b856aff2fdebbbfb7a48f4d06ef2663"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> @@ -3216,12 +3232,12 @@ declare namespace ns1='urn:hl7-org:v3'; </ds:Transform> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> - <ds:DigestValue>4ewinF7eLpnpbEcigL/tx4mZ+Me1fFvBuYzLVnC+SYM=</ds:DigestValue> + <ds:DigestValue>tNfP0ZJr2lcY/WHJxXfDfS4cFOJ7T7aSinN7AM9dePs=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> - <ds:SignatureValue>duryt6BZtp5/F6fTGZWfXpiGNt9mTb3D6JOSPVTQJWYKHBbs7HIz/udWmr3CfDFXxRgShrNf2WnF -FOSoA5NanQ/9lpTsM4WAD8VbCMxOm1X5w94Aody65ddt87YTL5bTSd9xDiyzCgDMxRLLYe0LX23b -lFuachqrtaJffeb9IxA=</ds:SignatureValue> + <ds:SignatureValue>bbQx/8oPfo/QXXuectJqvmHAh5LBDa70Dp7QRlxzARNLPXnuTMD7hxa65WLj8x7FCgvm8OzsF0cu +Hicdn6ZlG8OGkjJIUeq4bAf06J7E1iW9gN5kiLqQ0dRC8+C2wD3c1HGrlMj0BHyOShaxFqKxDFGn +rLCZMUUvc+HF6pBS+k4=</ds:SignatureValue> <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate>MIIDjTCCAvagAwIBAgICAI0wDQYJKoZIhvcNAQENBQAwRTELMAkGA1UEBhMCQ0gxDDAKBgNVBAoM @@ -3249,18 +3265,18 @@ ew==</ds:X509Certificate> NameQualifier="https://ehealthsuisse.ihe-europe.net/idp/shibboleth" SPNameQualifier="https://sp-clone.ihe-europe.net/shibboleth">kweisskopf</saml2:NameID> <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> - <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210906085257755" - NotOnOrAfter="2021-09-06T08:57:57.801Z" + <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210906092047261" + NotOnOrAfter="2021-09-06T09:25:47.307Z" Recipient="https://sp-clone.ihe-europe.net/Shibboleth.sso/SAML2/ECP"/> </saml2:SubjectConfirmation> </saml2:Subject> - <saml2:Conditions NotBefore="2021-09-06T08:52:57.796Z" NotOnOrAfter="2021-09-06T08:57:57.796Z"> + <saml2:Conditions NotBefore="2021-09-06T09:20:47.302Z" NotOnOrAfter="2021-09-06T09:25:47.302Z"> <saml2:AudienceRestriction> <saml2:Audience>https://sp-clone.ihe-europe.net/shibboleth</saml2:Audience> </saml2:AudienceRestriction> </saml2:Conditions> - <saml2:AuthnStatement AuthnInstant="2021-09-06T08:52:57.790Z" - SessionIndex="_10fc519fe93f781d4560e1261877c7c5"> + <saml2:AuthnStatement AuthnInstant="2021-09-06T09:20:47.296Z" + SessionIndex="_1987dc31e24f79f99064a88fb7dd8754"> <saml2:SubjectLocality Address="127.0.0.1"/> <saml2:AuthnContext> <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef> @@ -3402,20 +3418,20 @@ declare namespace soap='http://www.w3.org/2003/05/soap-envelope'; declare namespace ds='http://www.w3.org/2000/09/xmldsig#'; declare namespace wst='http://docs.oasis-open.org/ws-sx/ws-trust/200512'; declare namespace ns1='urn:hl7-org:v3'; -//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210906085257874</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-09-06T08:52:57.874Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ +//saml2:Assertion/saml2:AttributeStatement/saml2:Attribute[@Name="urn:ihe:iti:xca:2010:homeCommunityId"]/saml2:AttributeValue</path><content>urn:oid:1.1.4567334.1.6</content><allowWildcards>false</allowWildcards><ignoreNamspaceDifferences>false</ignoreNamspaceDifferences><ignoreComments>false</ignoreComments></con:configuration></con:assertion><con:credentials><con:username xsi:nil="true"/><con:password xsi:nil="true"/><con:domain xsi:nil="true"/><con:authType>No Authorization</con:authType></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue" addDefaultAction="false"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties><con:property><con:name>Document_UUID</con:name><con:value>urn:uuid:73f00747-ac07-4a34-983e-1a8df55f8e51</con:value></con:property><con:property><con:name>Submission_Set_UUID</con:name><con:value>urn:uuid:3a4b8154-3686-498d-8aaa-d3680956867c</con:value></con:property><con:property><con:name>GENERIC_UUID1</con:name><con:value>urn:uuid:8729f475-eb63-46e7-98ec-7b01d59fab42</con:value></con:property><con:property><con:name>GENERIC_UUID2</con:name><con:value>urn:uuid:f1038e86-e10a-4917-b4a2-d03b66dc457a</con:value></con:property><con:property><con:name>GENERIC_UUID3</con:name><con:value>urn:uuid:a8b8f0d0-079d-47a8-bca5-77ac562d286c</con:value></con:property><con:property><con:name>GENERIC_UUID4</con:name><con:value>urn:uuid:e6726f30-0616-4233-9611-04b15cdaf915</con:value></con:property><con:property><con:name>GENERIC_UUID5</con:name><con:value>urn:uuid:4496eeee-35c2-40aa-a251-8dc7af30ad89</con:value></con:property><con:property><con:name>GENERIC_UUID6</con:name><con:value>urn:uuid:6299226b-ffef-4409-9fdf-a75988c78177</con:value></con:property><con:property><con:name>GENERIC_UUID7</con:name><con:value>urn:uuid:4db9f1d6-0723-43c9-8d9d-b221a480e69b</con:value></con:property><con:property><con:name>GENERIC_UUID8</con:name><con:value>urn:uuid:6511ddac-5d46-4e9a-bd3e-583b5a706a96</con:value></con:property><con:property><con:name>GENERIC_UUID9</con:name><con:value>urn:uuid:ba44467b-daba-4054-9682-87372aa6cb1a</con:value></con:property><con:property><con:name>GENERIC_UUID10</con:name><con:value>urn:uuid:0b5aab63-c1b8-41e9-b8c9-a00949d83b69</con:value></con:property><con:property><con:name>GENERIC_UUID11</con:name><con:value>urn:uuid:47f9cf8e-4692-4666-a33c-8f9ca650e1ec</con:value></con:property><con:property><con:name>GENERIC_UUID12</con:name><con:value>urn:uuid:593928e0-34c5-4d71-b580-7b6e0f8cca66</con:value></con:property><con:property><con:name>GENERIC_UUID13</con:name><con:value>urn:uuid:129bffd4-7b96-4f23-bdfe-65f1da568866</con:value></con:property><con:property><con:name>GENERIC_UUID14</con:name><con:value>urn:uuid:de6de472-04a5-4972-a8f2-d34fb08dd423</con:value></con:property><con:property><con:name>GENERIC_UUID15</con:name><con:value>urn:uuid:d5a85cf9-8bfe-4a79-bd77-92a82b07ffbd</con:value></con:property><con:property><con:name>Unique_Number</con:name><con:value>20210906092047601</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-09-06T09:20:47.601Z</con:value></con:property><con:property><con:name>assertion</con:name><con:value><![CDATA[ <saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" - ID="_e8d7c0507d7f6b805b9a0ccdd0fb053b" - IssueInstant="2021-09-06T08:52:57.920Z" + ID="_40a9f4e616d66ba658d36c445c1f3b44" + IssueInstant="2021-09-06T09:20:47.643Z" Version="2.0"> <saml2:Issuer>https://ehealthsuisse.ihe-europe.net/idp/shibboleth</saml2:Issuer> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"/> - <ds:Reference URI="#_e8d7c0507d7f6b805b9a0ccdd0fb053b"> + <ds:Reference URI="#_40a9f4e616d66ba658d36c445c1f3b44"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> @@ -3423,12 +3439,12 @@ declare namespace ns1='urn:hl7-org:v3'; </ds:Transform> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> - <ds:DigestValue>HdQVuTmQsDz+EqMmzvy6cch1WZXvyeimfG+c/XL5Wcc=</ds:DigestValue> + <ds:DigestValue>DrkW8E6qb/OMg9r9cxXra6X3EbXX1joLJGMjTPVJGf0=</ds:DigestValue> </ds:Reference> </ds:SignedInfo> - <ds:SignatureValue>Rgzce9NStn1ZhqnlzAxpnqzc/DMH6ulnnYvSjSiFLXpViOGEP8Dqb3DHLimbtrn1rRrk5jWgT3Ex -TBuc7PpZHlIL48xGdS3qVMgG6c6g1kSIHm8N/U0+8ygxtvXsUwQW3eqPPiOvKIpA+03ILr29bfcZ -rPCH8z65AxyMdXgzc6g=</ds:SignatureValue> + <ds:SignatureValue>gcDLixbBGUW15M5OJVByESSWt/VaCCowhj7YSiNGJlsZ6OaXiDvea++1+1rMZZ6WhNZmStq0HexF +rEXVcytLmyWL5aLU0ZhCvqaVcLqAonN32tk10etxKJ97qZvbVqfCnPRKR/bWevZ7hVN8gshFYKBe +r+hF+P5T/Fp9aUWJL0g=</ds:SignatureValue> <ds:KeyInfo> <ds:X509Data> <ds:X509Certificate>MIIDjTCCAvagAwIBAgICAI0wDQYJKoZIhvcNAQENBQAwRTELMAkGA1UEBhMCQ0gxDDAKBgNVBAoM @@ -3456,18 +3472,18 @@ ew==</ds:X509Certificate> NameQualifier="https://ehealthsuisse.ihe-europe.net/idp/shibboleth" SPNameQualifier="https://sp-clone.ihe-europe.net/shibboleth">aamrein</saml2:NameID> <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> - <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210906085257874" - NotOnOrAfter="2021-09-06T08:57:57.927Z" + <saml2:SubjectConfirmationData Address="127.0.0.1" InResponseTo="_20210906092047601" + NotOnOrAfter="2021-09-06T09:25:47.649Z" Recipient="https://sp-clone.ihe-europe.net/Shibboleth.sso/SAML2/ECP"/> </saml2:SubjectConfirmation> </saml2:Subject> - <saml2:Conditions NotBefore="2021-09-06T08:52:57.920Z" NotOnOrAfter="2021-09-06T08:57:57.920Z"> + <saml2:Conditions NotBefore="2021-09-06T09:20:47.643Z" NotOnOrAfter="2021-09-06T09:25:47.643Z"> <saml2:AudienceRestriction> <saml2:Audience>https://sp-clone.ihe-europe.net/shibboleth</saml2:Audience> </saml2:AudienceRestriction> </saml2:Conditions> - <saml2:AuthnStatement AuthnInstant="2021-09-06T08:52:57.912Z" - SessionIndex="_69b07ecead3b5b13fad6441fa8f06961"> + <saml2:AuthnStatement AuthnInstant="2021-09-06T09:20:47.637Z" + SessionIndex="_b62a808b4e3e0d7b84eaf0e7894bb5aa"> <saml2:SubjectLocality Address="127.0.0.1"/> <saml2:AuthnContext> <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef> @@ -3539,7 +3555,7 @@ listOfResponse.declareNamespace("saml2", "urn:oasis:names:tc:SAML:2.0:assertion" def assertion = listOfResponse.getDomNode("//saml2p:Response/saml2:Assertion"); assertion = assertion.toString().replace('<?xml version="1.0" encoding="UTF-8"?>', '') -testRunner.testCase.testSuite.project.setPropertyValue("assertion", assertion)</script></con:config></con:testStep><con:properties><con:property><con:name>Unique_Number</con:name><con:value>20210630125417546</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-06-30T12:54:17.546Z</con:value></con:property><con:property><con:name>user</con:name><con:value>magpar</con:value></con:property><con:property><con:name>password</con:name><con:value>azerty</con:value></con:property></con:properties></con:testCase><con:testCase id="e58c830a-57af-4021-ae45-df3465359419" failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="Patient authentication and XUA" searchProperties="true"><con:settings/><con:testStep type="groovy" name="Groovy Script" id="262f8f50-f75a-456c-a9d8-280fac9ab70f"><con:settings/><con:config><script> +testRunner.testCase.testSuite.project.setPropertyValue("assertion", assertion)</script></con:config></con:testStep><con:properties><con:property><con:name>Unique_Number</con:name><con:value>20210906093221647</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-09-06T09:32:21.647Z</con:value></con:property><con:property><con:name>user</con:name><con:value>magpar</con:value></con:property><con:property><con:name>password</con:name><con:value>azerty</con:value></con:property></con:properties></con:testCase><con:testCase id="e58c830a-57af-4021-ae45-df3465359419" failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="Patient authentication and XUA" searchProperties="true"><con:settings/><con:testStep type="groovy" name="Groovy Script" id="262f8f50-f75a-456c-a9d8-280fac9ab70f"><con:settings/><con:config><script> def project = testRunner.testCase.testSuite.project def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context ) @@ -3583,7 +3599,7 @@ listOfResponse.declareNamespace("saml2", "urn:oasis:names:tc:SAML:2.0:assertion" def assertion = listOfResponse.getDomNode("//saml2p:Response/saml2:Assertion"); assertion = assertion.toString().replace('<?xml version="1.0" encoding="UTF-8"?>', '') -testRunner.testCase.testSuite.project.setPropertyValue("assertion", assertion)</script></con:config></con:testStep><con:properties><con:property><con:name>Unique_Number</con:name><con:value>20200916144919499</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2020-09-16T14:49:19.499Z</con:value></con:property><con:property><con:name>user</con:name><con:value>bovie</con:value></con:property><con:property><con:name>password</con:name><con:value>azerty</con:value></con:property></con:properties></con:testCase><con:testCase id="f45517d9-303e-4e5b-bef8-9cd4c3f95ddd" failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="Assitant authentication and XUA" searchProperties="true"><con:settings/><con:testStep type="groovy" name="Groovy Script" id="ea4cabc2-a1ea-4630-8c46-0db786fdabf3"><con:settings/><con:config><script> +testRunner.testCase.testSuite.project.setPropertyValue("assertion", assertion)</script></con:config></con:testStep><con:properties><con:property><con:name>Unique_Number</con:name><con:value>20210906093431508</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-09-06T09:34:31.508Z</con:value></con:property><con:property><con:name>user</con:name><con:value>bovie</con:value></con:property><con:property><con:name>password</con:name><con:value>azerty</con:value></con:property></con:properties></con:testCase><con:testCase id="f45517d9-303e-4e5b-bef8-9cd4c3f95ddd" failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="Assitant authentication and XUA" searchProperties="true"><con:settings/><con:testStep type="groovy" name="Groovy Script" id="ea4cabc2-a1ea-4630-8c46-0db786fdabf3"><con:settings/><con:config><script> def project = testRunner.testCase.testSuite.project def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context ) @@ -3629,7 +3645,7 @@ def assertion = listOfResponse.getDomNode("//saml2p:Response/saml2:Assertion"); assertion = assertion.toString().replace('<?xml version="1.0" encoding="UTF-8"?>', '') testRunner.testCase.testSuite.project.setPropertyValue("assertion", assertion) -</script></con:config></con:testStep><con:properties><con:property><con:name>Unique_Number</con:name><con:value>20200916144919606</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2020-09-16T14:49:19.606Z</con:value></con:property><con:property><con:name>user</con:name><con:value>ltieche</con:value></con:property><con:property><con:name>password</con:name><con:value>azerty</con:value></con:property></con:properties></con:testCase><con:testCase id="9451dfdf-5972-45c2-b780-a3c366f3489b" failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="Technical User authentication and XUA" searchProperties="true"><con:settings/><con:testStep type="groovy" name="Groovy Script" id="e09bebac-a43f-4dc8-bc31-9638930a7b98"><con:settings/><con:config><script> +</script></con:config></con:testStep><con:properties><con:property><con:name>Unique_Number</con:name><con:value>20210906093642473</con:value></con:property><con:property><con:name>timeStamp</con:name><con:value>2021-09-06T09:36:42.473Z</con:value></con:property><con:property><con:name>user</con:name><con:value>ltieche</con:value></con:property><con:property><con:name>password</con:name><con:value>azerty</con:value></con:property></con:properties></con:testCase><con:testCase id="9451dfdf-5972-45c2-b780-a3c366f3489b" failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="Technical User authentication and XUA" searchProperties="true"><con:settings/><con:testStep type="groovy" name="Groovy Script" id="e09bebac-a43f-4dc8-bc31-9638930a7b98"><con:settings/><con:config><script> def project = testRunner.testCase.testSuite.project def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context ) -- GitLab