Alex Wolfe created WSS-697:
------------------------------

             Summary: OpenSAMLUtil overrides OpenSAML configured by OpenSAML’s 
InitializationService
                 Key: WSS-697
                 URL: https://issues.apache.org/jira/browse/WSS-697
             Project: WSS4J
          Issue Type: Bug
          Components: WSS4J Core
    Affects Versions: 2.4.1, 2.3.3, 2.2.7
            Reporter: Alex Wolfe
            Assignee: Colm O hEigeartaigh


When using WSS4J alongside other dependencies which also rely on OpenSAML, the 
OpenSAMLUtil.initSamlEngine() can override the existing configuration of 
OpenSAML, potentially causing issues with how the parser pool is configured.

In my use case:
 * OpenSAML is initialized first with the 
org.opensaml.core.config.InitializationService introduced in OpenSAML 3
 * XMLSec is used for decryption, so 
org.opensaml.xmlsec.config.DecryptionParserPoolInitializer adds a 
decryption-specific feature to the parser pool at this time.
 * Later, an interceptor in cxf-rt-ws-security called into 
OpenSAMLUtil.initSamlEngine(), overriding the OpenSAML configuration and parser 
pool.

In WSS4J 2.2.6, due to WSS-678, this caused the DecryptionParserPool to be 
completely removed, but after upgrading to 2.3.1+ or 2.4.0+, this causes it to 
be replaced with the manually configured pool from OpenSAMLUtil without the 
needed feature.

I have been able to work around this by explicitly calling OpenSAML’s 
InitializationService after WSS4J’s OpenSAMLUtil.

Relevant dependencies and versions in my project include:
 * Java 8
 * OpenSAML 3.4.6 (including org.opensaml:opensaml-xmlsec-api)
 * org.apache.cxf:cxf-rt-ws-security:3.3.11
 * org.apache.santuario:xmlsec:2.1.7
 * net.shibboleth.utilities:java-support:7.5.2



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to