This is an automated email from the ASF dual-hosted git repository. coheigea pushed a commit to branch coheigea/saml-refactor-new in repository https://gitbox.apache.org/repos/asf/ws-wss4j.git
The following commit(s) were added to refs/heads/coheigea/saml-refactor-new by this push: new 1e9802ca8 Moving SignatureTrustValidator out of DOM API 1e9802ca8 is described below commit 1e9802ca82d20546da58797198fb3489d533df78 Author: Colm O hEigeartaigh <cohei...@apache.org> AuthorDate: Tue Jul 8 14:39:10 2025 +0100 Moving SignatureTrustValidator out of DOM API --- .../org/apache/wss4j}/dom/validate/SignatureTrustValidator.java | 4 +++- .../services/org.apache.wss4j.api.dom.validate.Validator | 2 +- .../wss4j/common/saml/validate/SamlAssertionValidator.java | 9 ++++++--- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/ws-security-api-dom/src/main/java/org/apache/wss4j/api/dom/validate/SignatureTrustValidator.java b/ws-security-dom/src/main/java/org/apache/wss4j/dom/validate/SignatureTrustValidator.java similarity index 97% rename from ws-security-api-dom/src/main/java/org/apache/wss4j/api/dom/validate/SignatureTrustValidator.java rename to ws-security-dom/src/main/java/org/apache/wss4j/dom/validate/SignatureTrustValidator.java index 2322f1b93..192de0674 100644 --- a/ws-security-api-dom/src/main/java/org/apache/wss4j/api/dom/validate/SignatureTrustValidator.java +++ b/ws-security-dom/src/main/java/org/apache/wss4j/dom/validate/SignatureTrustValidator.java @@ -17,7 +17,7 @@ * under the License. */ -package org.apache.wss4j.api.dom.validate; +package org.apache.wss4j.dom.validate; import java.security.PublicKey; import java.security.cert.X509Certificate; @@ -29,6 +29,8 @@ import javax.xml.namespace.QName; import org.apache.wss4j.common.crypto.Crypto; import org.apache.wss4j.common.ext.WSSecurityException; import org.apache.wss4j.api.dom.WSConstants; +import org.apache.wss4j.api.dom.validate.Credential; +import org.apache.wss4j.api.dom.validate.Validator; import org.apache.wss4j.api.dom.RequestData; /** diff --git a/ws-security-dom/src/main/resources/META-INF/services/org.apache.wss4j.api.dom.validate.Validator b/ws-security-dom/src/main/resources/META-INF/services/org.apache.wss4j.api.dom.validate.Validator index 591bb4732..2ec16ca7a 100644 --- a/ws-security-dom/src/main/resources/META-INF/services/org.apache.wss4j.api.dom.validate.Validator +++ b/ws-security-dom/src/main/resources/META-INF/services/org.apache.wss4j.api.dom.validate.Validator @@ -1,3 +1,3 @@ -org.apache.wss4j.api.dom.validate.SignatureTrustValidator +org.apache.wss4j.dom.validate.SignatureTrustValidator org.apache.wss4j.dom.validate.TimestampValidator org.apache.wss4j.dom.validate.UsernameTokenValidator diff --git a/ws-security-saml/src/main/java/org/apache/wss4j/common/saml/validate/SamlAssertionValidator.java b/ws-security-saml/src/main/java/org/apache/wss4j/common/saml/validate/SamlAssertionValidator.java index 5535a71d2..2d854f9c7 100644 --- a/ws-security-saml/src/main/java/org/apache/wss4j/common/saml/validate/SamlAssertionValidator.java +++ b/ws-security-saml/src/main/java/org/apache/wss4j/common/saml/validate/SamlAssertionValidator.java @@ -26,7 +26,7 @@ import javax.xml.namespace.QName; import org.apache.wss4j.common.cache.ReplayCache; import org.apache.wss4j.api.dom.validate.Credential; -import org.apache.wss4j.api.dom.validate.SignatureTrustValidator; +import org.apache.wss4j.api.dom.validate.Validator; import org.apache.wss4j.common.ext.WSSecurityException; import org.apache.wss4j.common.saml.OpenSAMLUtil; import org.apache.wss4j.common.saml.SAMLKeyInfo; @@ -44,7 +44,7 @@ import org.opensaml.saml.common.SAMLVersion; * checks that the Subject contains a KeyInfo (and processes it) for the holder-of-key case, * and verifies that the Assertion is signed as well for holder-of-key. */ -public class SamlAssertionValidator extends SignatureTrustValidator { +public class SamlAssertionValidator implements Validator { private static final org.slf4j.Logger LOG = org.slf4j.LoggerFactory.getLogger(SamlAssertionValidator.class); @@ -216,7 +216,10 @@ public class SamlAssertionValidator extends SignatureTrustValidator { SAMLKeyInfo samlKeyInfo = samlAssertion.getSignatureKeyInfo(); trustCredential.setPublicKey(samlKeyInfo.getPublicKey()); trustCredential.setCertificates(samlKeyInfo.getCerts()); - return super.validate(trustCredential, data); + + // Delegate to signature validator + Validator validator = data.getWssConfig().getValidator(WSConstants.SIGNATURE); + return validator.validate(trustCredential, data); } /**