From a32c8c5190a562779fdc126a95e95bb73d1c741d Mon Sep 17 00:00:00 2001 From: Douglas Palmer Date: Mon, 23 Sep 2019 16:48:19 -0700 Subject: [PATCH] [KEYCLOAK-11185] Fixed build with JDK 11 --- adapters/oidc/pom.xml | 13 +++++++++- adapters/oidc/spring-security/pom.xml | 13 ---------- .../adapters/cloned/HttpAdapterUtilsTest.java | 16 +++++++++---- adapters/saml/pom.xml | 11 ++++++++- common/pom.xml | 4 ++++ distribution/adapters/pom.xml | 10 +++++++- distribution/saml-adapters/pom.xml | 10 +++++++- pom.xml | 24 ++++++++++++++++++- saml-core-api/pom.xml | 8 +++++++ saml-core/pom.xml | 8 +++++++ .../processing/api/util/KeyInfoTools.java | 2 +- .../core/util/XMLSignatureUtil.java | 3 ++- .../test-apps/test-apps-dist/pom.xml | 3 +-- .../servlet/SAMLServletAdapterTest.java | 10 ++++---- 14 files changed, 103 insertions(+), 32 deletions(-) diff --git a/adapters/oidc/pom.xml b/adapters/oidc/pom.xml index 736b517d341..bd75558a88e 100755 --- a/adapters/oidc/pom.xml +++ b/adapters/oidc/pom.xml @@ -32,7 +32,6 @@ adapter-core - as7-eap6 installed fuse7 kcinit @@ -51,4 +50,16 @@ wildfly wildfly-elytron + + + + AS7 + + [,9) + + + as7-eap6 + + + diff --git a/adapters/oidc/spring-security/pom.xml b/adapters/oidc/spring-security/pom.xml index 8f52ef36bcf..189ef35cd7e 100755 --- a/adapters/oidc/spring-security/pom.xml +++ b/adapters/oidc/spring-security/pom.xml @@ -128,17 +128,4 @@ test - - - - org.apache.maven.plugins - maven-compiler-plugin - - 1.6 - 1.6 - - - - - diff --git a/adapters/saml/core/src/test/java/org/keycloak/adapters/cloned/HttpAdapterUtilsTest.java b/adapters/saml/core/src/test/java/org/keycloak/adapters/cloned/HttpAdapterUtilsTest.java index 8676a028d54..7a7b63b4cde 100644 --- a/adapters/saml/core/src/test/java/org/keycloak/adapters/cloned/HttpAdapterUtilsTest.java +++ b/adapters/saml/core/src/test/java/org/keycloak/adapters/cloned/HttpAdapterUtilsTest.java @@ -8,9 +8,11 @@ package org.keycloak.adapters.cloned; import java.io.InputStream; import java.security.cert.X509Certificate; import java.util.List; +import javax.xml.crypto.XMLStructure; import javax.xml.crypto.dsig.keyinfo.KeyInfo; import javax.xml.crypto.dsig.keyinfo.KeyName; import javax.xml.crypto.dsig.keyinfo.X509Data; +import org.hamcrest.Matcher; import static org.hamcrest.CoreMatchers.*; import org.junit.Test; import static org.junit.Assert.*; @@ -25,7 +27,7 @@ import org.keycloak.saml.common.exceptions.ParsingException; */ public class HttpAdapterUtilsTest { - private T getContent(List objects, Class clazz) { + private T getContent(List objects, Class clazz) { for (Object o : objects) { if (clazz.isInstance(o)) { return (T) o; @@ -49,10 +51,14 @@ public class HttpAdapterUtilsTest { X509Data x509data; X509Certificate x509certificate; + Matcher> x509DataMatcher = hasItem(instanceOf(X509Data.class)); + Matcher> keyNameMatcher = hasItem(instanceOf(KeyName.class)); + ki = res.get(KeycloakSamlAdapterV1QNames.ATTR_SIGNING.getQName().getLocalPart()).get(0); assertThat(ki.getContent().size(), equalTo(2)); - assertThat((List) ki.getContent(), hasItem(instanceOf(X509Data.class))); - assertThat((List) ki.getContent(), hasItem(instanceOf(KeyName.class))); + + assertThat((Iterable) ki.getContent(), x509DataMatcher); + assertThat((Iterable) ki.getContent(), keyNameMatcher); keyName = getContent(ki.getContent(), KeyName.class); assertThat(keyName.getName(), equalTo("rJkJlvowmv1Id74GznieaAC5jU5QQp_ILzuG-GsweTI")); @@ -65,8 +71,8 @@ public class HttpAdapterUtilsTest { ki = res.get(KeycloakSamlAdapterV1QNames.ATTR_SIGNING.getQName().getLocalPart()).get(1); assertThat(ki.getContent().size(), equalTo(2)); - assertThat((List) ki.getContent(), hasItem(instanceOf(X509Data.class))); - assertThat((List) ki.getContent(), hasItem(instanceOf(KeyName.class))); + assertThat((Iterable) ki.getContent(), x509DataMatcher); + assertThat((Iterable) ki.getContent(), keyNameMatcher); keyName = getContent(ki.getContent(), KeyName.class); assertThat(keyName.getName(), equalTo("BzYc4GwL8HVrAhNyNdp-lTah2DvU9jU03kby9Ynohr4")); diff --git a/adapters/saml/pom.xml b/adapters/saml/pom.xml index 10e1fa60cef..425be8a8a6a 100755 --- a/adapters/saml/pom.xml +++ b/adapters/saml/pom.xml @@ -36,7 +36,6 @@ undertow tomcat wildfly - as7-eap6 servlet-filter wildfly-elytron @@ -53,5 +52,15 @@ jetty + + + AS7 + + [,9) + + + as7-eap6 + + diff --git a/common/pom.xml b/common/pom.xml index dcc3ea288a6..72ce8f2e666 100755 --- a/common/pom.xml +++ b/common/pom.xml @@ -68,6 +68,10 @@ hamcrest-all test + + com.sun.activation + javax.activation + diff --git a/distribution/adapters/pom.xml b/distribution/adapters/pom.xml index 1c54a1983a7..63d29d50982 100755 --- a/distribution/adapters/pom.xml +++ b/distribution/adapters/pom.xml @@ -31,7 +31,6 @@ pom - as7-eap6-adapter fuse-adapter-zip js-adapter-zip osgi @@ -55,5 +54,14 @@ js-adapter-npm-zip + + AS7 + + (,9] + + + as7-eap6-adapter + + diff --git a/distribution/saml-adapters/pom.xml b/distribution/saml-adapters/pom.xml index 9c2a62642a0..bc8793bba52 100755 --- a/distribution/saml-adapters/pom.xml +++ b/distribution/saml-adapters/pom.xml @@ -32,7 +32,6 @@ wildfly-adapter - as7-eap6-adapter @@ -51,6 +50,15 @@ tomcat7-adapter-zip + + AS7 + + (,9] + + + as7-eap6-adapter + + diff --git a/pom.xml b/pom.xml index 511d5b116bb..eeb971fcfb9 100755 --- a/pom.xml +++ b/pom.xml @@ -85,6 +85,7 @@ 1.7.22 3.0.7 2.3.1 + 1.2.0 2.3.1 2.0.26.Final 1.10.3.Final @@ -144,7 +145,7 @@ 1.0.4 1.7.6 2.3.7 - 1.1.0.Final + 1.2.1.Final 1.6.5 1.5 0.28.0 @@ -259,11 +260,32 @@ istack-commons-tools ${sun.istack.version} + + javax.xml.bind + jaxb-api + ${sun.jaxb.version} + + + com.sun.xml.ws + rt + ${sun.jaxb.version} + + + com.fasterxml.woodstox + woodstox-core + + + com.sun.xml.bind.external rngom ${sun.jaxb.version} + + com.sun.activation + javax.activation + ${sun.activation.version} + org.glassfish.jaxb xsom diff --git a/saml-core-api/pom.xml b/saml-core-api/pom.xml index b3971b89e84..a31e79f5c92 100755 --- a/saml-core-api/pom.xml +++ b/saml-core-api/pom.xml @@ -52,6 +52,14 @@ org.apache.santuario xmlsec + + javax.xml.bind + jaxb-api + + + com.sun.xml.ws + rt + diff --git a/saml-core/pom.xml b/saml-core/pom.xml index ff5614b9884..5958b798627 100755 --- a/saml-core/pom.xml +++ b/saml-core/pom.xml @@ -73,6 +73,14 @@ 2.6 test + + javax.xml.bind + jaxb-api + + + com.sun.xml.ws + rt + diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/api/util/KeyInfoTools.java b/saml-core/src/main/java/org/keycloak/saml/processing/api/util/KeyInfoTools.java index 69fc05cae04..dc9338c4093 100644 --- a/saml-core/src/main/java/org/keycloak/saml/processing/api/util/KeyInfoTools.java +++ b/saml-core/src/main/java/org/keycloak/saml/processing/api/util/KeyInfoTools.java @@ -34,7 +34,7 @@ public class KeyInfoTools { * @param clazz * @return The object or {@code null} if not found. */ - public static T getContent(Iterable objects, Class clazz) { + public static T getContent(Iterable objects, Class clazz) { if (objects == null) { return null; } diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/util/XMLSignatureUtil.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/util/XMLSignatureUtil.java index 6c07790166c..f5bd03ad444 100755 --- a/saml-core/src/main/java/org/keycloak/saml/processing/core/util/XMLSignatureUtil.java +++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/util/XMLSignatureUtil.java @@ -41,6 +41,7 @@ import org.w3c.dom.NodeList; import org.xml.sax.SAXException; import javax.xml.bind.JAXBException; +import javax.xml.crypto.XMLStructure; import javax.xml.crypto.MarshalException; import javax.xml.crypto.dsig.CanonicalizationMethod; import javax.xml.crypto.dsig.DigestMethod; @@ -740,7 +741,7 @@ public class XMLSignatureUtil { private static KeyInfo createKeyInfo(String keyName, PublicKey publicKey, X509Certificate x509Certificate) throws KeyException { KeyInfoFactory keyInfoFactory = fac.getKeyInfoFactory(); - List items = new LinkedList<>(); + List items = new LinkedList<>(); if (keyName != null) { items.add(keyInfoFactory.newKeyName(keyName)); diff --git a/testsuite/integration-arquillian/test-apps/test-apps-dist/pom.xml b/testsuite/integration-arquillian/test-apps/test-apps-dist/pom.xml index 89afa053b00..a4649f3bfcb 100644 --- a/testsuite/integration-arquillian/test-apps/test-apps-dist/pom.xml +++ b/testsuite/integration-arquillian/test-apps/test-apps-dist/pom.xml @@ -78,8 +78,7 @@ - 2.5.5 - \ No newline at end of file + diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/servlet/SAMLServletAdapterTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/servlet/SAMLServletAdapterTest.java index 828e735eb99..9fca29ec0ad 100644 --- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/servlet/SAMLServletAdapterTest.java +++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/servlet/SAMLServletAdapterTest.java @@ -1724,8 +1724,8 @@ public class SAMLServletAdapterTest extends AbstractSAMLServletAdapterTest { //printDocument(authnRequestMessage.getSOAPPart().getContent(), System.out); - Iterator it = authnRequestMessage.getSOAPHeader().getChildElements(new QName("urn:oasis:names:tc:SAML:2.0:profiles:SSO:ecp", "Request")); - SOAPHeaderElement ecpRequestHeader = it.next(); + Iterator it = authnRequestMessage.getSOAPHeader().getChildElements(new QName("urn:oasis:names:tc:SAML:2.0:profiles:SSO:ecp", "Request")); + SOAPHeaderElement ecpRequestHeader = (SOAPHeaderElement)it.next(); NodeList idpList = ecpRequestHeader.getElementsByTagNameNS("urn:oasis:names:tc:SAML:2.0:protocol", "IDPList"); Assert.assertThat("No IDPList returned from Service Provider", idpList.getLength(), is(1)); @@ -1811,13 +1811,13 @@ public class SAMLServletAdapterTest extends AbstractSAMLServletAdapterTest { .get(); SOAPMessage authnRequestMessage = MessageFactory.newInstance().createMessage(null, new ByteArrayInputStream(authnRequestResponse.readEntity(byte[].class))); - Iterator it = authnRequestMessage.getSOAPHeader().getChildElements(new QName("urn:liberty:paos:2003-08", "Request")); + Iterator it = authnRequestMessage.getSOAPHeader().getChildElements(new QName("urn:liberty:paos:2003-08", "Request")); it.next(); it = authnRequestMessage.getSOAPHeader().getChildElements(new QName("urn:oasis:names:tc:SAML:2.0:profiles:SSO:ecp", "Request")); - SOAPHeaderElement ecpRequestHeader = it.next(); - NodeList idpList = ecpRequestHeader.getElementsByTagNameNS("urn:oasis:names:tc:SAML:2.0:protocol", "IDPList"); + javax.xml.soap.Node ecpRequestHeader = it.next(); + NodeList idpList = ((SOAPHeaderElement)ecpRequestHeader).getElementsByTagNameNS("urn:oasis:names:tc:SAML:2.0:protocol", "IDPList"); Assert.assertThat("No IDPList returned from Service Provider", idpList.getLength(), is(1));