[java-opensaml] branch main updated: OSJ-432: Assertion validator allows null InResonseTo even if context ...
Brent Putman
putmanb at georgetown.edu
Wed Jun 4 00:49:15 UTC 2025
This is an automated email from the git hooks/post-receive script.
putmanb pushed a commit to branch main
in repository java-opensaml.
View the commit online:
http://git.shibboleth.net/view/?p=java-opensaml.git;a=commit;h=145b2395616a4a672c0ef8fc0f3798e9665b2814
The following commit(s) were added to refs/heads/main by this push:
new 145b23956 OSJ-432: Assertion validator allows null InResonseTo even if context ...
145b23956 is described below
commit 145b2395616a4a672c0ef8fc0f3798e9665b2814
Author: Brent Putman <putmanb at georgetown.edu>
AuthorDate: Tue Jun 3 20:48:12 2025 -0400
OSJ-432: Assertion validator allows null InResonseTo even if context ...
Assertion validator allows null InResonseTo even if context supplies a
value
Clean up logic so that 1) missing context data does not result in
INDETERMINATE result 2) don't special case where both are null, just
fall through allow Object.equals() to eval directly.
---
.../impl/AbstractSubjectConfirmationValidator.java | 16 ++++------------
.../impl/AbstractSubjectConfirmationValidatorTest.java | 15 ++++++++++++++-
2 files changed, 18 insertions(+), 13 deletions(-)
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/assertion/impl/AbstractSubjectConfirmationValidator.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/assertion/impl/AbstractSubjectConfirmationValidator.java
index 2bc703b05..55e4e0912 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/assertion/impl/AbstractSubjectConfirmationValidator.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/assertion/impl/AbstractSubjectConfirmationValidator.java
@@ -275,19 +275,11 @@ public abstract class AbstractSubjectConfirmationValidator implements SubjectCon
"Unable to determine valid subject confirmation InResponseTo");
return ValidationResult.INDETERMINATE;
}
- if (validInResponseTo == null) {
- context.getValidationFailureMessages().add(
- "Valid InResponseTo was not available from the validation context, "
- + "unable to evaluate SubjectConfirmationData at InResponseTo");
- return ValidationResult.INDETERMINATE;
- }
- if (inResponseTo == null) {
- if (required || validInResponseTo != null) {
- context.getValidationFailureMessages().add(
- "SubjectConfirmationData/@InResponseTo was missing and was required");
- return ValidationResult.INVALID;
- }
+ if (inResponseTo == null && required) {
+ context.getValidationFailureMessages().add(
+ "SubjectConfirmationData/@InResponseTo was missing and was required");
+ return ValidationResult.INVALID;
}
if (Objects.equals(inResponseTo, validInResponseTo)) {
diff --git a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/assertion/impl/AbstractSubjectConfirmationValidatorTest.java b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/assertion/impl/AbstractSubjectConfirmationValidatorTest.java
index 1ceff8478..ecfaa8067 100644
--- a/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/assertion/impl/AbstractSubjectConfirmationValidatorTest.java
+++ b/opensaml-saml-impl/src/test/java/org/opensaml/saml/saml2/assertion/impl/AbstractSubjectConfirmationValidatorTest.java
@@ -346,7 +346,20 @@ public class AbstractSubjectConfirmationValidatorTest extends BaseAssertionValid
ValidationContext validationContext = new ValidationContext(staticParams);
Assert.assertEquals(validator.validate(subjectConfirmation, getAssertion(), validationContext),
- ValidationResult.INDETERMINATE);
+ ValidationResult.INVALID);
+ }
+
+ @Test
+ public void testMissingBothInResponseToParamAndValueValue() throws AssertionValidationException {
+ Map<String,Object> staticParams = buildBasicStaticParameters();
+ staticParams.remove(SAML2AssertionValidationParameters.SC_VALID_IN_RESPONSE_TO);
+
+ getSubjectConfirmationData().setInResponseTo(null);
+
+ ValidationContext validationContext = new ValidationContext(staticParams);
+
+ Assert.assertEquals(validator.validate(subjectConfirmation, getAssertion(), validationContext),
+ ValidationResult.VALID);
}
@Test
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list