This is an automated email from the ASF dual-hosted git repository.

robertlazarski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/axis-axis2-java-rampart.git


The following commit(s) were added to refs/heads/master by this push:
     new f4752370 Fix several tests in CommonUtilTest, add some temp debugging 
related to some SAML2TokenIssuerTest errors
f4752370 is described below

commit f475237088e95d114c797d4c945f70400878c8e2
Author: Robert Lazarski <robertlazar...@gmail.com>
AuthorDate: Thu Sep 14 18:20:25 2023 -0400

    Fix several tests in CommonUtilTest, add some temp debugging related to 
some SAML2TokenIssuerTest errors
---
 code-coverage/pom.xml                                 |  1 +
 modules/rampart-trust/pom.xml                         |  4 ++++
 .../java/org/apache/rahas/impl/SAML2TokenIssuer.java  |  9 ++++++---
 .../java/org/apache/rahas/impl/util/CommonUtil.java   | 19 ++++++++++++++++++-
 .../java/org/apache/rahas/impl/util/SAMLUtils.java    |  2 +-
 .../org/apache/rahas/impl/util/CommonUtilTest.java    |  4 +---
 .../org/apache/rahas/impl/util/SAMLUtilsTest.java     |  2 +-
 pom.xml                                               | 18 ++++++++++++------
 8 files changed, 44 insertions(+), 15 deletions(-)

diff --git a/code-coverage/pom.xml b/code-coverage/pom.xml
index fd78e306..080ba75e 100644
--- a/code-coverage/pom.xml
+++ b/code-coverage/pom.xml
@@ -121,6 +121,7 @@
             <plugin>
                 <groupId>org.jacoco</groupId>
                 <artifactId>jacoco-maven-plugin</artifactId>
+                <version>0.8.10</version>
                 <configuration combine.self="append">
         
                 </configuration>
diff --git a/modules/rampart-trust/pom.xml b/modules/rampart-trust/pom.xml
index d8d238d1..58a21cc3 100644
--- a/modules/rampart-trust/pom.xml
+++ b/modules/rampart-trust/pom.xml
@@ -88,6 +88,10 @@
             <groupId>org.opensaml</groupId>
             <artifactId>opensaml-soap-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.opensaml</groupId>
+            <artifactId>opensaml-soap-impl</artifactId>
+        </dependency>
         <dependency>
             <groupId>org.owasp.esapi</groupId>
             <artifactId>esapi</artifactId>
diff --git 
a/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SAML2TokenIssuer.java
 
b/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SAML2TokenIssuer.java
index d9bfc3b9..82ed8c8d 100644
--- 
a/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SAML2TokenIssuer.java
+++ 
b/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SAML2TokenIssuer.java
@@ -233,6 +233,12 @@ public class SAML2TokenIssuer implements TokenIssuer {
 
         Element assertionElement = assertion.getDOM();
 
+        try {
+            System.out.println("createRequestSecurityTokenResponse() found 
assertionElement local name: " + assertionElement.getLocalName() + " , text 
value: " + 
((org.w3c.dom.ls.DOMImplementationLS)assertionElement.getOwnerDocument().getImplementation()).createLSSerializer().writeToString(assertionElement)
 + " , on OMElement requestedSecurityTokenElement.toStringWithConsume() : " + 
requestedSecurityTokenElement.toStringWithConsume()); 
+    
+        } catch (Exception ex) {
+            log.error(ex.getMessage(), ex); 
+        }
         requestedSecurityTokenElement.addChild((OMNode)assertionElement);
 
         // Store the token
@@ -645,12 +651,9 @@ public class SAML2TokenIssuer implements TokenIssuer {
             XSStringBuilder attributeValueBuilder = (XSStringBuilder) 
builderFactory
                     .getBuilder(XSString.TYPE_NAME);
 
-XSString stringValue = null;
-/*
             XSString stringValue = attributeValueBuilder.buildObject(
                     AttributeValue.DEFAULT_ELEMENT_NAME, XSString.TYPE_NAME);
 
-*/
             attributeValueBuilder.buildObject(
                     AttributeValue.DEFAULT_ELEMENT_NAME, XSString.TYPE_NAME);
             stringValue.setValue("Colombo/Rahas");
diff --git 
a/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/CommonUtil.java
 
b/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/CommonUtil.java
index a15c1816..b361c679 100644
--- 
a/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/CommonUtil.java
+++ 
b/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/CommonUtil.java
@@ -33,6 +33,7 @@ import org.apache.wss4j.common.crypto.CryptoType;
 import org.apache.wss4j.common.ext.WSSecurityException;
 import org.apache.wss4j.common.util.KeyUtils;
 import org.apache.wss4j.common.util.Loader;
+import org.apache.wss4j.dom.callback.DOMCallbackLookup;
 import org.apache.wss4j.dom.engine.WSSConfig;
 import org.apache.wss4j.dom.engine.WSSecurityEngineResult;
 import org.apache.wss4j.dom.handler.RequestData;
@@ -45,6 +46,9 @@ import org.opensaml.core.xml.XMLObject;
 import org.opensaml.core.xml.XMLObjectBuilder;
 import org.opensaml.core.xml.XMLObjectBuilderFactory;
 import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
+import org.opensaml.soap.wssecurity.KeyIdentifier;
+import org.opensaml.soap.wssecurity.impl.SecurityTokenReferenceBuilder;
+import org.opensaml.saml.common.SAMLObjectBuilder;
 import org.opensaml.xmlsec.encryption.EncryptedKey;
 import org.opensaml.xmlsec.signature.KeyInfo;
 import org.opensaml.xmlsec.signature.X509Data;
@@ -59,7 +63,9 @@ import javax.xml.parsers.ParserConfigurationException;
 
 import java.security.cert.CertificateEncodingException;
 import java.security.cert.X509Certificate;
+import java.util.Iterator;
 import java.util.List;
+import java.util.Map;
 import java.util.Properties;
 import java.util.Base64;
 import javax.crypto.KeyGenerator;
@@ -158,6 +164,7 @@ public class CommonUtil {
         requestData.setWssConfig(cfg);
 
         WSDocInfo docInfo = new 
WSDocInfo(encryptedKeyElement.getOwnerDocument());
+        docInfo.setCallbackLookup(new 
DOMCallbackLookup(encryptedKeyElement.getOwnerDocument()));
         requestData.setWsDocInfo(docInfo);
 
         List<WSSecurityEngineResult> resultList;
@@ -320,10 +327,20 @@ public class CommonUtil {
      */
     public static XMLObject buildXMLObject(QName objectQName) throws 
TrustException {
 
+        log.debug("buildXMLObject() is starting on QName: " + objectQName);
         XMLObjectBuilderFactory builderFactory = 
XMLObjectProviderRegistrySupport.getBuilderFactory();
+        if (builderFactory.getBuilder(objectQName) == null) {
+            if (KeyIdentifier.ELEMENT_NAME == objectQName) {
+                builderFactory.registerBuilder(KeyIdentifier.ELEMENT_NAME, new 
SecurityTokenReferenceBuilder());
+                log.warn("An opensaml SecurityTokenReferenceBuilder was added 
to the opensaml registry for QName key: " + KeyIdentifier.ELEMENT_NAME);
+            } else {
+                log.error("No opensaml builders found for QName key: " + 
objectQName);
+            }
+
+        }
         XMLObjectBuilder builder = 
builderFactory.getBuilderOrThrow(objectQName);
         if (builder == null) {
-            log.debug("Unable to find OpenSAML builder for object " + 
objectQName);
+            log.error("Unable to find OpenSAML builder for object " + 
objectQName);
             throw new TrustException("builderNotFound",new 
Object[]{objectQName});
         }
         return builder.buildObject(objectQName.getNamespaceURI(), 
objectQName.getLocalPart(), objectQName.getPrefix());
diff --git 
a/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/SAMLUtils.java 
b/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/SAMLUtils.java
index d740bd93..0a2eb3a7 100644
--- 
a/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/SAMLUtils.java
+++ 
b/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/SAMLUtils.java
@@ -546,7 +546,7 @@ public class SAMLUtils {
 
 
     /**
-     * This method will created the "EncryptedKey" of a SAML assertion.
+     * This method will create the "EncryptedKey" of a SAML assertion.
      * An encrypted key would look like as follows,
      * <pre>  &lt;xenc:EncryptedKey 
xmlns:xenc="http://www.w3.org/2001/04/xmlenc#";
      *    xmlns:ds="http://www.w3.org/2000/09/xmldsig#";
diff --git 
a/modules/rampart-trust/src/test/java/org/apache/rahas/impl/util/CommonUtilTest.java
 
b/modules/rampart-trust/src/test/java/org/apache/rahas/impl/util/CommonUtilTest.java
index ca13ef74..f5321f3a 100644
--- 
a/modules/rampart-trust/src/test/java/org/apache/rahas/impl/util/CommonUtilTest.java
+++ 
b/modules/rampart-trust/src/test/java/org/apache/rahas/impl/util/CommonUtilTest.java
@@ -44,7 +44,6 @@ import org.opensaml.xmlsec.signature.KeyInfo;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
-import javax.crypto.KeyGenerator;
 import javax.crypto.SecretKey;
 import javax.xml.namespace.QName;
 import javax.xml.stream.XMLStreamException;
@@ -181,8 +180,7 @@ public class CommonUtilTest extends AbstractTestCase {
         builder.setKeyIdentifierType(WSConstants.BST_DIRECT_REFERENCE);
         builder.setSymmetricEncAlgorithm(WSConstants.TRIPLE_DES);
 
-        KeyGenerator keyGen = KeyUtils.getKeyGenerator(WSConstants.TRIPLE_DES);
-        SecretKey symmetricKey = keyGen.generateKey();
+        SecretKey symmetricKey = 
KeyUtils.prepareSecretKey(WSConstants.TRIPLE_DES, ephemeralKey);
 
         builder.prepare(TestUtil.getCrypto(), symmetricKey);
 
diff --git 
a/modules/rampart-trust/src/test/java/org/apache/rahas/impl/util/SAMLUtilsTest.java
 
b/modules/rampart-trust/src/test/java/org/apache/rahas/impl/util/SAMLUtilsTest.java
index c1701ab7..524c867e 100644
--- 
a/modules/rampart-trust/src/test/java/org/apache/rahas/impl/util/SAMLUtilsTest.java
+++ 
b/modules/rampart-trust/src/test/java/org/apache/rahas/impl/util/SAMLUtilsTest.java
@@ -84,7 +84,7 @@ public class SAMLUtilsTest extends AbstractTestCase {
         try {
             CommonUtil.buildXMLObject(new QName("http://x.com";, "y"));
             Assert.fail("This should throw an exception");
-        } catch (TrustException e) {
+        } catch (Exception e) {
         }
     }
 
diff --git a/pom.xml b/pom.xml
index f07a1205..f7836686 100644
--- a/pom.xml
+++ b/pom.xml
@@ -347,8 +347,8 @@
                 <artifactId>maven-compiler-plugin</artifactId>
                 <version>3.11.0</version>
                 <configuration>
-                    <source>1.8</source>
-                    <target>1.8</target>
+                    <source>11</source>
+                    <target>11</target>
                 </configuration>
             </plugin>
             <plugin>
@@ -580,6 +580,12 @@
                 <version>${opensaml.version}</version>
                 <scope>compile</scope>
             </dependency>
+            <dependency>
+                <groupId>org.opensaml</groupId>
+                <artifactId>opensaml-soap-impl</artifactId>
+                <version>${opensaml.version}</version>
+                <scope>compile</scope>
+            </dependency>
             <dependency>
                 <groupId>org.opensaml</groupId>
                 <artifactId>opensaml-xacml-impl</artifactId>
@@ -594,13 +600,13 @@
             </dependency>
             <dependency>
                 <groupId>org.slf4j</groupId>
-                <artifactId>slf4j-log4j12</artifactId>
-                <version>1.7.36</version>
+                <artifactId>slf4j-jcl</artifactId>
+                <version>2.20.0</version>
             </dependency>
             <dependency>
                 <groupId>org.slf4j</groupId>
-                <artifactId>slf4j-jcl</artifactId>
-                <version>1.7.36</version>
+                <artifactId>slf4j-log4j12</artifactId>
+                <version>2.0.9</version>
             </dependency>
             <dependency>
                 <groupId>log4j</groupId>

Reply via email to