From d9d77fe1f7275f7e2f50d43939c356f0ffa3dff2 Mon Sep 17 00:00:00 2001 From: Hans-Christian Halfbrodt Date: Thu, 6 Jan 2022 18:05:50 +0100 Subject: [PATCH] Fix for KEYCLOAK-18914 (#9355) Closed #9382 Co-authored-by: Hans-Christian Halfbrodt --- .../AbstractSamlAuthenticationHandler.java | 2 +- .../java/org/keycloak/common/util/Base64.java | 97 +- .../org/keycloak/common/util/Base64Url.java | 3 +- .../common/util/Base64DecodeTest.java | 135 +++ .../xmlsec/w3/xmldsig/DSAKeyValueType.java | 26 +- .../xmlsec/w3/xmldsig/RSAKeyValueType.java | 14 +- .../org/keycloak/saml/common/util/Base64.java | 1060 ----------------- .../org/keycloak/saml/SAMLRequestParser.java | 15 +- .../core/saml/v2/util/SignatureUtil.java | 9 +- .../core/util/XMLSignatureUtil.java | 6 +- .../processing/web/util/PostBindingUtil.java | 13 +- .../web/util/RedirectBindingUtil.java | 14 +- 12 files changed, 235 insertions(+), 1159 deletions(-) create mode 100644 common/src/test/java/org/keycloak/common/util/Base64DecodeTest.java delete mode 100755 saml-core-api/src/main/java/org/keycloak/saml/common/util/Base64.java diff --git a/adapters/saml/core/src/main/java/org/keycloak/adapters/saml/profile/AbstractSamlAuthenticationHandler.java b/adapters/saml/core/src/main/java/org/keycloak/adapters/saml/profile/AbstractSamlAuthenticationHandler.java index 59b453c1062..7b728ade620 100644 --- a/adapters/saml/core/src/main/java/org/keycloak/adapters/saml/profile/AbstractSamlAuthenticationHandler.java +++ b/adapters/saml/core/src/main/java/org/keycloak/adapters/saml/profile/AbstractSamlAuthenticationHandler.java @@ -33,6 +33,7 @@ import org.keycloak.adapters.spi.AuthChallenge; import org.keycloak.adapters.spi.AuthOutcome; import org.keycloak.adapters.spi.HttpFacade; import org.keycloak.common.VerificationException; +import org.keycloak.common.util.Base64; import org.keycloak.common.util.KeycloakUriBuilder; import org.keycloak.common.util.MultivaluedHashMap; import org.keycloak.dom.saml.v2.assertion.AssertionType; @@ -57,7 +58,6 @@ import org.keycloak.saml.common.constants.JBossSAMLConstants; import org.keycloak.saml.common.constants.JBossSAMLURIConstants; import org.keycloak.saml.common.exceptions.ConfigurationException; import org.keycloak.saml.common.exceptions.ProcessingException; -import org.keycloak.saml.common.util.Base64; import org.keycloak.saml.common.util.DocumentUtil; import org.keycloak.saml.processing.api.saml.v2.sig.SAML2Signature; import org.keycloak.saml.processing.core.saml.v2.common.SAMLDocumentHolder; diff --git a/common/src/main/java/org/keycloak/common/util/Base64.java b/common/src/main/java/org/keycloak/common/util/Base64.java index ae1897da331..3840d688fc8 100644 --- a/common/src/main/java/org/keycloak/common/util/Base64.java +++ b/common/src/main/java/org/keycloak/common/util/Base64.java @@ -1,5 +1,7 @@ package org.keycloak.common.util; +import java.io.IOException; + /** *

Encodes and decodes to and from Base64 notation.

*

Homepage: http://iharder.net/base64.

@@ -35,6 +37,10 @@ package org.keycloak.common.util; * Change Log: *

*