You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by co...@apache.org on 2017/09/26 17:01:57 UTC
[cxf-fediz] branch master updated: Move to use Java 8's Base64
implementation
This is an automated email from the ASF dual-hosted git repository.
coheigea pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cxf-fediz.git
The following commit(s) were added to refs/heads/master by this push:
new 1744007 Move to use Java 8's Base64 implementation
1744007 is described below
commit 174400758003adabe7510fde2ab78d3dd6d65c13
Author: Colm O hEigeartaigh <co...@apache.org>
AuthorDate: Tue Sep 26 18:01:42 2017 +0100
Move to use Java 8's Base64 implementation
---
.../cxf/fediz/core/metadata/MetadataWriter.java | 4 ++--
.../fediz/core/processor/SAMLProcessorImpl.java | 11 ++++------
.../org/apache/cxf/fediz/core/util/CertsUtils.java | 9 ++++----
.../cxf/fediz/core/samlsso/SAMLRequestTest.java | 6 +++---
.../core/samlsso/SAMLResponseConformanceTest.java | 4 ++--
.../cxf/fediz/core/samlsso/SAMLResponseTest.java | 6 +++---
.../idp/beans/samlsso/AuthnRequestParser.java | 4 ++--
.../idp/kerberos/PassThroughKerberosClient.java | 4 ++--
.../service/idp/metadata/IdpMetadataWriter.java | 6 +++---
.../idp/metadata/ServiceMetadataWriter.java | 4 ++--
.../protocols/TrustedIdpOIDCProtocolHandler.java | 4 +---
.../protocols/TrustedIdpSAMLProtocolHandler.java | 4 ++--
.../service/idp/integrationtests/RestITTest.java | 4 ++--
.../org/apache/cxf/fediz/systests/idp/IdpTest.java | 8 +++++---
.../cxf/fediz/systests/kerberos/KerberosTest.java | 4 ++--
.../apache/cxf/fediz/systests/oidc/OIDCTest.java | 5 +++--
.../apache/cxf/fediz/systests/samlsso/IdpTest.java | 24 +++++++++++++---------
17 files changed, 56 insertions(+), 55 deletions(-)
diff --git a/plugins/core/src/main/java/org/apache/cxf/fediz/core/metadata/MetadataWriter.java b/plugins/core/src/main/java/org/apache/cxf/fediz/core/metadata/MetadataWriter.java
index 5f5d121..7d7bcc4 100644
--- a/plugins/core/src/main/java/org/apache/cxf/fediz/core/metadata/MetadataWriter.java
+++ b/plugins/core/src/main/java/org/apache/cxf/fediz/core/metadata/MetadataWriter.java
@@ -28,6 +28,7 @@ import java.net.MalformedURLException;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.security.cert.X509Certificate;
+import java.util.Base64;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
@@ -47,7 +48,6 @@ import org.apache.cxf.fediz.core.util.CertsUtils;
import org.apache.cxf.fediz.core.util.DOMUtils;
import org.apache.cxf.fediz.core.util.SignatureUtils;
import org.apache.xml.security.stax.impl.util.IDGenerator;
-import org.apache.xml.security.utils.Base64;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -303,7 +303,7 @@ public class MetadataWriter {
+ keyAlias);
}
byte data[] = cert.getEncoded();
- String encodedCertificate = Base64.encode(data);
+ String encodedCertificate = Base64.getEncoder().encodeToString(data);
writer.writeCharacters(encodedCertificate);
writer.writeEndElement(); // X509Certificate
diff --git a/plugins/core/src/main/java/org/apache/cxf/fediz/core/processor/SAMLProcessorImpl.java b/plugins/core/src/main/java/org/apache/cxf/fediz/core/processor/SAMLProcessorImpl.java
index 7b2abc9..60cf3ac 100644
--- a/plugins/core/src/main/java/org/apache/cxf/fediz/core/processor/SAMLProcessorImpl.java
+++ b/plugins/core/src/main/java/org/apache/cxf/fediz/core/processor/SAMLProcessorImpl.java
@@ -26,6 +26,7 @@ import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.security.PrivateKey;
import java.security.Signature;
+import java.util.Base64;
import java.util.Date;
import java.util.List;
import java.util.UUID;
@@ -58,8 +59,6 @@ import org.apache.wss4j.common.saml.OpenSAMLUtil;
import org.apache.wss4j.common.saml.SamlAssertionWrapper;
import org.apache.wss4j.common.util.DOM2Writer;
import org.apache.wss4j.dom.WSConstants;
-import org.apache.xml.security.exceptions.Base64DecodingException;
-import org.apache.xml.security.utils.Base64;
import org.opensaml.core.xml.XMLObject;
import org.opensaml.saml.common.xml.SAMLConstants;
import org.opensaml.saml.saml2.core.AuthnRequest;
@@ -128,7 +127,7 @@ public class SAMLProcessorImpl extends AbstractFedizProcessor {
InputStream tokenStream = null;
try {
- byte[] deflatedToken = Base64.decode(request.getResponseToken());
+ byte[] deflatedToken = Base64.getDecoder().decode(request.getResponseToken());
if (protocol.isDisableDeflateEncoding()) {
tokenStream = new ByteArrayInputStream(deflatedToken);
} else {
@@ -136,8 +135,6 @@ public class SAMLProcessorImpl extends AbstractFedizProcessor {
}
} catch (DataFormatException ex) {
throw new ProcessingException(TYPE.INVALID_REQUEST);
- } catch (Base64DecodingException e) {
- throw new ProcessingException(TYPE.INVALID_REQUEST);
}
Document doc = null;
@@ -399,7 +396,7 @@ public class SAMLProcessorImpl extends AbstractFedizProcessor {
signature.update(requestToSign.getBytes(StandardCharsets.UTF_8));
byte[] signBytes = signature.sign();
- String encodedSignature = Base64.encode(signBytes);
+ String encodedSignature = Base64.getEncoder().encodeToString(signBytes);
return URLEncoder.encode(encodedSignature, "UTF-8");
}
@@ -409,7 +406,7 @@ public class SAMLProcessorImpl extends AbstractFedizProcessor {
byte[] deflatedBytes = CompressionUtils.deflate(requestMessage.getBytes(StandardCharsets.UTF_8));
- return Base64.encode(deflatedBytes);
+ return Base64.getEncoder().encodeToString(deflatedBytes);
}
@Override
diff --git a/plugins/core/src/main/java/org/apache/cxf/fediz/core/util/CertsUtils.java b/plugins/core/src/main/java/org/apache/cxf/fediz/core/util/CertsUtils.java
index f1a2882..83b329d 100644
--- a/plugins/core/src/main/java/org/apache/cxf/fediz/core/util/CertsUtils.java
+++ b/plugins/core/src/main/java/org/apache/cxf/fediz/core/util/CertsUtils.java
@@ -27,6 +27,7 @@ import java.security.cert.Certificate;
import java.security.cert.CertificateException;
import java.security.cert.CertificateFactory;
import java.security.cert.X509Certificate;
+import java.util.Base64;
import java.util.Collections;
import java.util.Properties;
@@ -37,8 +38,6 @@ import org.apache.wss4j.common.crypto.CryptoFactory;
import org.apache.wss4j.common.crypto.CryptoType;
import org.apache.wss4j.common.crypto.Merlin;
import org.apache.wss4j.common.ext.WSSecurityException;
-import org.apache.xml.security.exceptions.Base64DecodingException;
-import org.apache.xml.security.utils.Base64;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -130,7 +129,7 @@ public final class CertsUtils {
* a filename containing the certificate.
*/
public static X509Certificate parseX509Certificate(String certificate)
- throws CertificateException, WSSecurityException, ProcessingException, Base64DecodingException, IOException {
+ throws CertificateException, WSSecurityException, ProcessingException, IOException {
if (certificate == null) {
return null;
}
@@ -212,10 +211,10 @@ public final class CertsUtils {
}
private static X509Certificate parseCertificate(String certificate)
- throws CertificateException, Base64DecodingException, IOException {
+ throws CertificateException, IOException {
//before decoding we need to get rid off the prefix and suffix
- byte[] decoded = Base64.decode(certificate.replaceAll("-----BEGIN CERTIFICATE-----", "").
+ byte[] decoded = Base64.getDecoder().decode(certificate.replaceAll("-----BEGIN CERTIFICATE-----", "").
replaceAll("-----END CERTIFICATE-----", ""));
try (InputStream is = new ByteArrayInputStream(decoded)) {
diff --git a/plugins/core/src/test/java/org/apache/cxf/fediz/core/samlsso/SAMLRequestTest.java b/plugins/core/src/test/java/org/apache/cxf/fediz/core/samlsso/SAMLRequestTest.java
index 517f874..0455be8 100644
--- a/plugins/core/src/test/java/org/apache/cxf/fediz/core/samlsso/SAMLRequestTest.java
+++ b/plugins/core/src/test/java/org/apache/cxf/fediz/core/samlsso/SAMLRequestTest.java
@@ -25,6 +25,7 @@ import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLDecoder;
import java.nio.charset.StandardCharsets;
+import java.util.Base64;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
@@ -41,7 +42,6 @@ import org.apache.cxf.fediz.core.processor.RedirectionResponse;
import org.apache.cxf.fediz.core.processor.SAMLProcessorImpl;
import org.apache.cxf.fediz.core.util.DOMUtils;
import org.apache.wss4j.common.saml.OpenSAMLUtil;
-import org.apache.xml.security.utils.Base64;
import org.easymock.EasyMock;
import org.junit.AfterClass;
import org.junit.Assert;
@@ -170,7 +170,7 @@ public class SAMLRequestTest {
redirectionURL.substring(redirectionURL.indexOf("SAMLRequest=") + "SAMLRequest=".length(),
redirectionURL.indexOf("RelayState=") - 1);
- byte[] deflatedToken = Base64.decode(URLDecoder.decode(samlRequest, "UTF-8"));
+ byte[] deflatedToken = Base64.getDecoder().decode(URLDecoder.decode(samlRequest, "UTF-8"));
InputStream tokenStream = CompressionUtils.inflate(deflatedToken);
Document requestDoc = DOMUtils.readXml(new InputStreamReader(tokenStream, StandardCharsets.UTF_8));
@@ -220,7 +220,7 @@ public class SAMLRequestTest {
redirectionURL.substring(redirectionURL.indexOf("SAMLRequest=") + "SAMLRequest=".length(),
redirectionURL.indexOf("RelayState=") - 1);
- byte[] deflatedToken = Base64.decode(URLDecoder.decode(samlRequest, "UTF-8"));
+ byte[] deflatedToken = Base64.getDecoder().decode(URLDecoder.decode(samlRequest, "UTF-8"));
InputStream tokenStream = CompressionUtils.inflate(deflatedToken);
Document requestDoc = DOMUtils.readXml(new InputStreamReader(tokenStream, StandardCharsets.UTF_8));
diff --git a/plugins/core/src/test/java/org/apache/cxf/fediz/core/samlsso/SAMLResponseConformanceTest.java b/plugins/core/src/test/java/org/apache/cxf/fediz/core/samlsso/SAMLResponseConformanceTest.java
index aa11e6c..870af0b 100644
--- a/plugins/core/src/test/java/org/apache/cxf/fediz/core/samlsso/SAMLResponseConformanceTest.java
+++ b/plugins/core/src/test/java/org/apache/cxf/fediz/core/samlsso/SAMLResponseConformanceTest.java
@@ -24,6 +24,7 @@ import java.io.IOException;
import java.net.URL;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
+import java.util.Base64;
import java.util.Collections;
import java.util.UUID;
@@ -63,7 +64,6 @@ import org.apache.wss4j.common.saml.bean.ConditionsBean;
import org.apache.wss4j.common.saml.bean.SubjectConfirmationDataBean;
import org.apache.wss4j.common.saml.builder.SAML2Constants;
import org.apache.wss4j.common.util.DOM2Writer;
-import org.apache.xml.security.utils.Base64;
import org.easymock.EasyMock;
import org.joda.time.DateTime;
import org.junit.AfterClass;
@@ -1220,7 +1220,7 @@ public class SAMLResponseConformanceTest {
byte[] deflatedBytes = CompressionUtils.deflate(responseMessage.getBytes(StandardCharsets.UTF_8));
- return Base64.encode(deflatedBytes);
+ return Base64.getEncoder().encodeToString(deflatedBytes);
}
diff --git a/plugins/core/src/test/java/org/apache/cxf/fediz/core/samlsso/SAMLResponseTest.java b/plugins/core/src/test/java/org/apache/cxf/fediz/core/samlsso/SAMLResponseTest.java
index a0b3681..9cc88e1 100644
--- a/plugins/core/src/test/java/org/apache/cxf/fediz/core/samlsso/SAMLResponseTest.java
+++ b/plugins/core/src/test/java/org/apache/cxf/fediz/core/samlsso/SAMLResponseTest.java
@@ -25,6 +25,7 @@ import java.math.BigInteger;
import java.net.URL;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
+import java.util.Base64;
import java.util.Collections;
import java.util.List;
import java.util.UUID;
@@ -75,7 +76,6 @@ import org.apache.wss4j.common.saml.bean.SubjectConfirmationDataBean;
import org.apache.wss4j.common.saml.builder.SAML2Constants;
import org.apache.wss4j.common.util.DOM2Writer;
import org.apache.wss4j.dom.WSConstants;
-import org.apache.xml.security.utils.Base64;
import org.easymock.EasyMock;
import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;
@@ -220,7 +220,7 @@ public class SAMLResponseTest {
EasyMock.replay(req);
FedizRequest wfReq = new FedizRequest();
- wfReq.setResponseToken(DOM2Writer.nodeToString(doc));
+ wfReq.setResponseToken(encodeResponse(doc.getDocumentElement()));
wfReq.setState(relayState);
wfReq.setRequest(req);
wfReq.setRequestState(requestState);
@@ -1382,7 +1382,7 @@ public class SAMLResponseTest {
byte[] deflatedBytes = CompressionUtils.deflate(responseMessage.getBytes(StandardCharsets.UTF_8));
- return Base64.encode(deflatedBytes);
+ return Base64.getEncoder().encodeToString(deflatedBytes);
}
diff --git a/services/idp-core/src/main/java/org/apache/cxf/fediz/service/idp/beans/samlsso/AuthnRequestParser.java b/services/idp-core/src/main/java/org/apache/cxf/fediz/service/idp/beans/samlsso/AuthnRequestParser.java
index 92d0d7a..2c8ee5a 100644
--- a/services/idp-core/src/main/java/org/apache/cxf/fediz/service/idp/beans/samlsso/AuthnRequestParser.java
+++ b/services/idp-core/src/main/java/org/apache/cxf/fediz/service/idp/beans/samlsso/AuthnRequestParser.java
@@ -24,6 +24,7 @@ import java.io.InputStreamReader;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.security.cert.X509Certificate;
+import java.util.Base64;
import java.util.Collections;
import org.w3c.dom.Document;
@@ -54,7 +55,6 @@ import org.apache.wss4j.dom.saml.WSSSAMLKeyInfoProcessor;
import org.apache.wss4j.dom.validate.Credential;
import org.apache.wss4j.dom.validate.SignatureTrustValidator;
import org.apache.wss4j.dom.validate.Validator;
-import org.apache.xml.security.utils.Base64;
import org.opensaml.saml.saml2.core.AuthnRequest;
import org.opensaml.saml.security.impl.SAMLSignatureProfileValidator;
import org.opensaml.security.credential.BasicCredential;
@@ -260,7 +260,7 @@ public class AuthnRequestParser {
sig.update(requestToSign.getBytes(StandardCharsets.UTF_8));
- if (!sig.verify(Base64.decode(signature))) {
+ if (!sig.verify(Base64.getDecoder().decode(signature))) {
LOG.debug("Signature validation failed");
throw new ProcessingException(TYPE.BAD_REQUEST);
}
diff --git a/services/idp-core/src/main/java/org/apache/cxf/fediz/service/idp/kerberos/PassThroughKerberosClient.java b/services/idp-core/src/main/java/org/apache/cxf/fediz/service/idp/kerberos/PassThroughKerberosClient.java
index 012b6da..f4878fe 100644
--- a/services/idp-core/src/main/java/org/apache/cxf/fediz/service/idp/kerberos/PassThroughKerberosClient.java
+++ b/services/idp-core/src/main/java/org/apache/cxf/fediz/service/idp/kerberos/PassThroughKerberosClient.java
@@ -20,6 +20,7 @@
package org.apache.cxf.fediz.service.idp.kerberos;
import java.util.Arrays;
+import java.util.Base64;
import org.apache.cxf.fediz.core.util.DOMUtils;
import org.apache.cxf.ws.security.kerberos.KerberosClient;
@@ -28,7 +29,6 @@ import org.apache.wss4j.common.util.KeyUtils;
import org.apache.wss4j.dom.WSConstants;
import org.apache.wss4j.dom.engine.WSSConfig;
import org.apache.wss4j.dom.message.token.KerberosSecurity;
-import org.apache.xml.security.utils.Base64;
/**
* Override the default CXF KerberosClient just to create a BinarySecurityToken from a
@@ -55,7 +55,7 @@ public class PassThroughKerberosClient extends KerberosClient {
securityToken.setToken(bst.getElement());
securityToken.setWsuId(bst.getID());
securityToken.setData(bst.getToken());
- String sha1 = Base64.encode(KeyUtils.generateDigest(bst.getToken()));
+ String sha1 = Base64.getEncoder().encodeToString(KeyUtils.generateDigest(bst.getToken()));
securityToken.setSHA1(sha1);
securityToken.setTokenType(bst.getValueType());
diff --git a/services/idp-core/src/main/java/org/apache/cxf/fediz/service/idp/metadata/IdpMetadataWriter.java b/services/idp-core/src/main/java/org/apache/cxf/fediz/service/idp/metadata/IdpMetadataWriter.java
index 44eb6cb..f47fb60 100644
--- a/services/idp-core/src/main/java/org/apache/cxf/fediz/service/idp/metadata/IdpMetadataWriter.java
+++ b/services/idp-core/src/main/java/org/apache/cxf/fediz/service/idp/metadata/IdpMetadataWriter.java
@@ -20,6 +20,7 @@
package org.apache.cxf.fediz.service.idp.metadata;
import java.security.cert.X509Certificate;
+import java.util.Base64;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
@@ -33,7 +34,6 @@ import org.apache.cxf.staxutils.W3CDOMStreamWriter;
import org.apache.wss4j.common.crypto.Crypto;
import org.apache.wss4j.common.util.DOM2Writer;
import org.apache.xml.security.stax.impl.util.IDGenerator;
-import org.apache.xml.security.utils.Base64;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -133,7 +133,7 @@ public class IdpMetadataWriter {
try {
String keyAlias = crypto.getDefaultX509Identifier();
X509Certificate cert = CertsUtils.getX509CertificateFromCrypto(crypto, keyAlias);
- writer.writeCharacters(Base64.encode(cert.getEncoded()));
+ writer.writeCharacters(Base64.getEncoder().encodeToString(cert.getEncoded()));
} catch (Exception ex) {
LOG.error("Failed to add certificate information to metadata. Metadata incomplete", ex);
}
@@ -204,7 +204,7 @@ public class IdpMetadataWriter {
try {
String keyAlias = crypto.getDefaultX509Identifier();
X509Certificate cert = CertsUtils.getX509CertificateFromCrypto(crypto, keyAlias);
- writer.writeCharacters(Base64.encode(cert.getEncoded()));
+ writer.writeCharacters(Base64.getEncoder().encodeToString(cert.getEncoded()));
} catch (Exception ex) {
LOG.error("Failed to add certificate information to metadata. Metadata incomplete", ex);
}
diff --git a/services/idp-core/src/main/java/org/apache/cxf/fediz/service/idp/metadata/ServiceMetadataWriter.java b/services/idp-core/src/main/java/org/apache/cxf/fediz/service/idp/metadata/ServiceMetadataWriter.java
index 815edf0..75adec7 100644
--- a/services/idp-core/src/main/java/org/apache/cxf/fediz/service/idp/metadata/ServiceMetadataWriter.java
+++ b/services/idp-core/src/main/java/org/apache/cxf/fediz/service/idp/metadata/ServiceMetadataWriter.java
@@ -20,6 +20,7 @@
package org.apache.cxf.fediz.service.idp.metadata;
import java.security.cert.X509Certificate;
+import java.util.Base64;
import java.util.Map;
import javax.xml.stream.XMLStreamException;
@@ -36,7 +37,6 @@ import org.apache.cxf.staxutils.W3CDOMStreamWriter;
import org.apache.wss4j.common.crypto.Crypto;
import org.apache.wss4j.common.util.DOM2Writer;
import org.apache.xml.security.stax.impl.util.IDGenerator;
-import org.apache.xml.security.utils.Base64;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -188,7 +188,7 @@ public class ServiceMetadataWriter {
+ keyAlias);
}
byte data[] = cert.getEncoded();
- String encodedCertificate = Base64.encode(data);
+ String encodedCertificate = Base64.getEncoder().encodeToString(data);
writer.writeCharacters(encodedCertificate);
writer.writeEndElement(); // X509Certificate
diff --git a/services/idp-core/src/main/java/org/apache/cxf/fediz/service/idp/protocols/TrustedIdpOIDCProtocolHandler.java b/services/idp-core/src/main/java/org/apache/cxf/fediz/service/idp/protocols/TrustedIdpOIDCProtocolHandler.java
index 96d56e6..0751d39 100644
--- a/services/idp-core/src/main/java/org/apache/cxf/fediz/service/idp/protocols/TrustedIdpOIDCProtocolHandler.java
+++ b/services/idp-core/src/main/java/org/apache/cxf/fediz/service/idp/protocols/TrustedIdpOIDCProtocolHandler.java
@@ -59,7 +59,6 @@ import org.apache.cxf.rs.security.oauth2.utils.OAuthConstants;
import org.apache.cxf.ws.security.tokenstore.SecurityToken;
import org.apache.wss4j.common.ext.WSSecurityException;
import org.apache.wss4j.common.saml.SamlAssertionWrapper;
-import org.apache.xml.security.exceptions.Base64DecodingException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@@ -267,8 +266,7 @@ public class TrustedIdpOIDCProtocolHandler extends AbstractTrustedIdpOAuth2Proto
}
private boolean validateSignature(TrustedIdp trustedIdp, JwsJwtCompactConsumer jwtConsumer)
- throws CertificateException, WSSecurityException, Base64DecodingException,
- ProcessingException, IOException {
+ throws CertificateException, WSSecurityException, ProcessingException, IOException {
// Validate the Signature
String sigAlgo = getProperty(trustedIdp, SIGNATURE_ALGORITHM);
diff --git a/services/idp-core/src/main/java/org/apache/cxf/fediz/service/idp/protocols/TrustedIdpSAMLProtocolHandler.java b/services/idp-core/src/main/java/org/apache/cxf/fediz/service/idp/protocols/TrustedIdpSAMLProtocolHandler.java
index 49728d1..b3371a0 100644
--- a/services/idp-core/src/main/java/org/apache/cxf/fediz/service/idp/protocols/TrustedIdpSAMLProtocolHandler.java
+++ b/services/idp-core/src/main/java/org/apache/cxf/fediz/service/idp/protocols/TrustedIdpSAMLProtocolHandler.java
@@ -31,6 +31,7 @@ import java.nio.charset.StandardCharsets;
import java.security.PrivateKey;
import java.security.Signature;
import java.security.cert.X509Certificate;
+import java.util.Base64;
import java.util.zip.DataFormatException;
import javax.servlet.http.HttpServletRequest;
@@ -67,7 +68,6 @@ import org.apache.wss4j.common.ext.WSSecurityException;
import org.apache.wss4j.common.saml.OpenSAMLUtil;
import org.apache.wss4j.common.util.DOM2Writer;
import org.apache.xml.security.stax.impl.util.IDGenerator;
-import org.apache.xml.security.utils.Base64;
import org.opensaml.core.xml.XMLObject;
import org.opensaml.saml.saml2.core.AuthnRequest;
import org.slf4j.Logger;
@@ -279,7 +279,7 @@ public class TrustedIdpSAMLProtocolHandler extends AbstractTrustedIdpProtocolHan
signature.update(requestToSign.getBytes(StandardCharsets.UTF_8));
byte[] signBytes = signature.sign();
- String encodedSignature = Base64.encode(signBytes);
+ String encodedSignature = Base64.getEncoder().encodeToString(signBytes);
ub.queryParam(SSOConstants.SIGNATURE, URLEncoder.encode(encodedSignature, "UTF-8"));
}
diff --git a/services/idp/src/test/java/org/apache/cxf/fediz/service/idp/integrationtests/RestITTest.java b/services/idp/src/test/java/org/apache/cxf/fediz/service/idp/integrationtests/RestITTest.java
index cc7f090..7e6614f 100644
--- a/services/idp/src/test/java/org/apache/cxf/fediz/service/idp/integrationtests/RestITTest.java
+++ b/services/idp/src/test/java/org/apache/cxf/fediz/service/idp/integrationtests/RestITTest.java
@@ -22,6 +22,7 @@ import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.URI;
import java.net.URL;
+import java.util.Base64;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
@@ -39,7 +40,6 @@ import org.apache.cxf.fediz.service.idp.rest.Claims;
import org.apache.cxf.fediz.service.idp.rest.Entitlements;
import org.apache.cxf.fediz.service.idp.rest.Idps;
import org.apache.cxf.fediz.service.idp.rest.Roles;
-import org.apache.xml.security.utils.Base64;
import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.BeforeClass;
@@ -248,7 +248,7 @@ public class RestITTest {
private String getBasicAuthentication(String username, String password) throws UnsupportedEncodingException {
String token = username + ":" + password;
- return "Basic " + Base64.encode(token.getBytes());
+ return "Basic " + Base64.getEncoder().encodeToString(token.getBytes());
}
private String getContextName() {
diff --git a/systests/idp/src/test/java/org/apache/cxf/fediz/systests/idp/IdpTest.java b/systests/idp/src/test/java/org/apache/cxf/fediz/systests/idp/IdpTest.java
index 08450ea..4a3bfab 100644
--- a/systests/idp/src/test/java/org/apache/cxf/fediz/systests/idp/IdpTest.java
+++ b/systests/idp/src/test/java/org/apache/cxf/fediz/systests/idp/IdpTest.java
@@ -23,6 +23,7 @@ import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.URLEncoder;
+import java.util.Base64;
import javax.servlet.ServletException;
@@ -52,7 +53,6 @@ import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.wss4j.dom.engine.WSSConfig;
import org.apache.xml.security.keys.KeyInfo;
import org.apache.xml.security.signature.XMLSignature;
-import org.apache.xml.security.utils.Base64;
import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.BeforeClass;
@@ -204,7 +204,8 @@ public class IdpTest {
final WebClient webClient = new WebClient();
webClient.getOptions().setUseInsecureSSL(true);
- webClient.addRequestHeader("Authorization", "Basic " + Base64.encode((user + ":" + password).getBytes()));
+ webClient.addRequestHeader("Authorization", "Basic "
+ + Base64.getEncoder().encodeToString((user + ":" + password).getBytes()));
//
// First invocation
@@ -233,7 +234,8 @@ public class IdpTest {
//
webClient.removeRequestHeader("Authorization");
- webClient.addRequestHeader("Authorization", "Basic " + Base64.encode(("mallory" + ":" + password).getBytes()));
+ webClient.addRequestHeader("Authorization", "Basic "
+ + Base64.getEncoder().encodeToString(("mallory" + ":" + password).getBytes()));
webClient.getOptions().setJavaScriptEnabled(false);
idpPage = webClient.getPage(url);
diff --git a/systests/kerberos/src/test/java/org/apache/cxf/fediz/systests/kerberos/KerberosTest.java b/systests/kerberos/src/test/java/org/apache/cxf/fediz/systests/kerberos/KerberosTest.java
index e95cd5c..47f6e62 100644
--- a/systests/kerberos/src/test/java/org/apache/cxf/fediz/systests/kerberos/KerberosTest.java
+++ b/systests/kerberos/src/test/java/org/apache/cxf/fediz/systests/kerberos/KerberosTest.java
@@ -23,6 +23,7 @@ package org.apache.cxf.fediz.systests.kerberos;
import java.io.File;
import java.io.IOException;
import java.security.PrivilegedExceptionAction;
+import java.util.Base64;
import javax.security.auth.Subject;
import javax.security.auth.login.LoginContext;
@@ -42,7 +43,6 @@ import org.apache.cxf.fediz.core.ClaimTypes;
import org.apache.cxf.fediz.tomcat8.FederationAuthenticator;
import org.apache.kerby.kerberos.kerb.server.SimpleKdcServer;
import org.apache.wss4j.dom.engine.WSSConfig;
-import org.apache.xml.security.utils.Base64;
import org.ietf.jgss.GSSContext;
import org.ietf.jgss.GSSException;
import org.ietf.jgss.GSSManager;
@@ -313,7 +313,7 @@ public class KerberosTest extends org.junit.Assert {
lc.login();
byte[] ticket = (byte[])Subject.doAs(lc.getSubject(), new CreateServiceTicketAction(context, token));
- return Base64.encode(ticket);
+ return Base64.getEncoder().encodeToString(ticket);
}
private final class CreateServiceTicketAction implements PrivilegedExceptionAction<byte[]> {
diff --git a/systests/oidc/src/test/java/org/apache/cxf/fediz/systests/oidc/OIDCTest.java b/systests/oidc/src/test/java/org/apache/cxf/fediz/systests/oidc/OIDCTest.java
index 401a4ce..7852f3f 100644
--- a/systests/oidc/src/test/java/org/apache/cxf/fediz/systests/oidc/OIDCTest.java
+++ b/systests/oidc/src/test/java/org/apache/cxf/fediz/systests/oidc/OIDCTest.java
@@ -34,6 +34,7 @@ import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
+import java.util.Base64;
import java.util.Date;
import java.util.List;
import java.util.Locale;
@@ -64,7 +65,6 @@ import org.apache.catalina.LifecycleException;
import org.apache.catalina.LifecycleState;
import org.apache.catalina.connector.Connector;
import org.apache.catalina.startup.Tomcat;
-import org.apache.commons.codec.binary.Base64;
import org.apache.commons.io.IOUtils;
import org.apache.cxf.fediz.tomcat8.FederationAuthenticator;
import org.apache.cxf.rs.security.jose.jwa.SignatureAlgorithm;
@@ -813,7 +813,8 @@ public class OIDCTest {
// Now use the code to get an IdToken
WebClient webClient2 = setupWebClient(user, password, getIdpHttpsPort());
String data = storedClientId + ":" + storedClientPassword;
- String authorizationHeader = "Basic " + Base64.encodeBase64String(data.getBytes(StandardCharsets.UTF_8));
+ String authorizationHeader = "Basic "
+ + Base64.getEncoder().encodeToString(data.getBytes(StandardCharsets.UTF_8));
webClient2.addRequestHeader("Authorization", authorizationHeader);
String tokenUrl = "https://localhost:" + getRpHttpsPort() + "/fediz-oidc/oauth2/token";
WebRequest request = new WebRequest(new URL(tokenUrl), HttpMethod.POST);
diff --git a/systests/samlsso/src/test/java/org/apache/cxf/fediz/systests/samlsso/IdpTest.java b/systests/samlsso/src/test/java/org/apache/cxf/fediz/systests/samlsso/IdpTest.java
index 85eb9d2..ef506a4 100644
--- a/systests/samlsso/src/test/java/org/apache/cxf/fediz/systests/samlsso/IdpTest.java
+++ b/systests/samlsso/src/test/java/org/apache/cxf/fediz/systests/samlsso/IdpTest.java
@@ -30,6 +30,7 @@ import java.nio.charset.StandardCharsets;
import java.security.PrivateKey;
import java.security.cert.X509Certificate;
import java.util.ArrayList;
+import java.util.Base64;
import java.util.Collections;
import java.util.UUID;
@@ -71,7 +72,6 @@ import org.apache.wss4j.common.saml.OpenSAMLUtil;
import org.apache.wss4j.common.util.DOM2Writer;
import org.apache.wss4j.dom.engine.WSSConfig;
import org.apache.xml.security.signature.XMLSignature;
-import org.apache.xml.security.utils.Base64;
import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.BeforeClass;
@@ -421,7 +421,7 @@ public class IdpTest {
signature.update(requestToSign.getBytes(StandardCharsets.UTF_8));
byte[] signBytes = signature.sign();
- String encodedSignature = Base64.encode(signBytes);
+ String encodedSignature = Base64.getEncoder().encodeToString(signBytes);
String url = "https://localhost:" + getIdpHttpsPort() + "/fediz-idp/saml/up?";
url += SSOConstants.RELAY_STATE + "=" + relayState;
@@ -491,7 +491,8 @@ public class IdpTest {
final WebClient webClient = new WebClient();
webClient.getOptions().setUseInsecureSSL(true);
- webClient.addRequestHeader("Authorization", "Basic " + Base64.encode((user + ":" + password).getBytes()));
+ webClient.addRequestHeader("Authorization", "Basic "
+ + Base64.getEncoder().encodeToString((user + ":" + password).getBytes()));
//
// First invocation
@@ -521,7 +522,8 @@ public class IdpTest {
//
webClient.removeRequestHeader("Authorization");
- webClient.addRequestHeader("Authorization", "Basic " + Base64.encode(("mallory" + ":" + password).getBytes()));
+ webClient.addRequestHeader("Authorization", "Basic "
+ + Base64.getEncoder().encodeToString(("mallory" + ":" + password).getBytes()));
webClient.getOptions().setJavaScriptEnabled(false);
idpPage = webClient.getPage(url);
@@ -694,7 +696,7 @@ public class IdpTest {
signature.update(requestToSign.getBytes(StandardCharsets.UTF_8));
byte[] signBytes = signature.sign();
- String encodedSignature = Base64.encode(signBytes);
+ String encodedSignature = Base64.getEncoder().encodeToString(signBytes);
String url = "https://localhost:" + getIdpHttpsPort() + "/fediz-idp/saml/up?";
url += SSOConstants.RELAY_STATE + "=" + relayState;
@@ -1180,7 +1182,7 @@ public class IdpTest {
signature.update(requestToSign.getBytes(StandardCharsets.UTF_8));
byte[] signBytes = signature.sign();
- String encodedSignature = Base64.encode(signBytes);
+ String encodedSignature = Base64.getEncoder().encodeToString(signBytes);
String url = "https://localhost:" + getIdpHttpsPort() + "/fediz-idp/saml/up?";
url += SSOConstants.RELAY_STATE + "=" + relayState;
@@ -1256,7 +1258,7 @@ public class IdpTest {
signBytes[1] = (byte)2;
}
- String encodedSignature = Base64.encode(signBytes);
+ String encodedSignature = Base64.getEncoder().encodeToString(signBytes);
String url = "https://localhost:" + getIdpHttpsPort() + "/fediz-idp/saml/up?";
url += SSOConstants.RELAY_STATE + "=" + relayState;
@@ -1327,7 +1329,7 @@ public class IdpTest {
signature.update(requestToSign.getBytes(StandardCharsets.UTF_8));
byte[] signBytes = signature.sign();
- String encodedSignature = Base64.encode(signBytes);
+ String encodedSignature = Base64.getEncoder().encodeToString(signBytes);
String url = "https://localhost:" + getIdpHttpsPort() + "/fediz-idp/saml/up?";
url += SSOConstants.RELAY_STATE + "=" + relayState;
@@ -1484,7 +1486,8 @@ public class IdpTest {
final WebClient webClient = new WebClient();
webClient.getOptions().setUseInsecureSSL(true);
- webClient.addRequestHeader("Authorization", "Basic " + Base64.encode((user + ":" + password).getBytes()));
+ webClient.addRequestHeader("Authorization", "Basic "
+ + Base64.getEncoder().encodeToString((user + ":" + password).getBytes()));
//
// First invocation
@@ -1514,7 +1517,8 @@ public class IdpTest {
//
webClient.removeRequestHeader("Authorization");
- webClient.addRequestHeader("Authorization", "Basic " + Base64.encode(("mallory" + ":" + password).getBytes()));
+ webClient.addRequestHeader("Authorization", "Basic "
+ + Base64.getEncoder().encodeToString(("mallory" + ":" + password).getBytes()));
webClient.getOptions().setJavaScriptEnabled(false);
try {
--
To stop receiving notification emails like this one, please contact
['"commits@cxf.apache.org" <co...@cxf.apache.org>'].