You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by co...@apache.org on 2016/05/31 11:33:22 UTC

svn commit: r1746267 - in /webservices/wss4j/trunk: integration/src/test/java/org/apache/wss4j/integration/test/kerberos/ ws-security-common/src/main/java/org/apache/wss4j/common/saml/ ws-security-common/src/main/java/org/apache/wss4j/common/token/ ws-...

Author: coheigea
Date: Tue May 31 11:33:21 2016
New Revision: 1746267

URL: http://svn.apache.org/viewvc?rev=1746267&view=rev
Log:
Switch to use JDK 8's Base64 encoder

Modified:
    webservices/wss4j/trunk/integration/src/test/java/org/apache/wss4j/integration/test/kerberos/KerberosTest.java
    webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/saml/SamlAssertionWrapper.java
    webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/token/BinarySecurity.java
    webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/token/SecurityTokenReference.java
    webservices/wss4j/trunk/ws-security-common/src/test/java/org/apache/wss4j/common/crypto/SKITest.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/handler/RequestData.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecDerivedKeyBase.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecEncrypt.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecSignature.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecUsernameToken.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/token/DerivedKeyToken.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/token/SignatureConfirmation.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/token/UsernameToken.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/SignatureProcessor.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/saml/WSSSAMLKeyInfoProcessor.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/SignatureSTRParser.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/transform/STRTransformUtil.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/util/EncryptionUtils.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/util/WSSecurityUtil.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/validate/UsernameTokenValidator.java
    webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/common/SecretKeyCallbackHandler.java
    webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/components/crypto/CryptoProviderTest.java
    webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/handler/SecurityActionTokenTest.java
    webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/EncryptionAlgorithmSuiteTest.java
    webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/EncryptionTest.java
    webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureAlgorithmSuiteTest.java
    webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SymmetricSignatureTest.java
    webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/UTDerivedKeyTest.java
    webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/UsernameTokenTest.java
    webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/token/BSTKerberosTest.java
    webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/ext/WSSSecurityProperties.java
    webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/WSSSignatureOutputProcessor.java
    webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/EncDecryptionTest.java
    webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/utils/SecretKeyCallbackHandler.java

Modified: webservices/wss4j/trunk/integration/src/test/java/org/apache/wss4j/integration/test/kerberos/KerberosTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/integration/src/test/java/org/apache/wss4j/integration/test/kerberos/KerberosTest.java?rev=1746267&r1=1746266&r2=1746267&view=diff
==============================================================================
--- webservices/wss4j/trunk/integration/src/test/java/org/apache/wss4j/integration/test/kerberos/KerberosTest.java (original)
+++ webservices/wss4j/trunk/integration/src/test/java/org/apache/wss4j/integration/test/kerberos/KerberosTest.java Tue May 31 11:33:21 2016
@@ -28,6 +28,7 @@ import java.nio.file.Files;
 import java.nio.file.Path;
 import java.security.Principal;
 import java.util.ArrayList;
+import java.util.Base64;
 import java.util.List;
 
 import javax.crypto.SecretKey;
@@ -85,7 +86,6 @@ import org.apache.wss4j.stax.test.utils.
 import org.apache.xml.security.exceptions.XMLSecurityException;
 import org.apache.xml.security.stax.securityEvent.SecurityEvent;
 import org.apache.xml.security.stax.securityEvent.SecurityEventListener;
-import org.apache.xml.security.utils.Base64;
 import org.junit.AfterClass;
 import org.junit.Assert;
 import org.junit.Before;
@@ -463,7 +463,7 @@ public class KerberosTest extends Abstra
         sign.setSecretKey(keyData);
 
         byte[] digestBytes = KeyUtils.generateDigest(bst.getToken());
-        sign.setCustomTokenId(Base64.encode(digestBytes));
+        sign.setCustomTokenId(Base64.getMimeEncoder().encodeToString(digestBytes));
 
         Document signedDoc = sign.build(doc, null, secHeader);
 
@@ -684,7 +684,7 @@ public class KerberosTest extends Abstra
         builder.setCustomReferenceValue(WSConstants.WSS_KRB_KI_VALUE_TYPE);
 
         byte[] digestBytes = KeyUtils.generateDigest(bst.getToken());
-        builder.setEncKeyId(Base64.encode(digestBytes));
+        builder.setEncKeyId(Base64.getMimeEncoder().encodeToString(digestBytes));
 
         Document encryptedDoc = builder.build(doc, null, secHeader);
 
@@ -933,7 +933,7 @@ public class KerberosTest extends Abstra
             sign.setSecretKey(keyData);
 
             byte[] digestBytes = KeyUtils.generateDigest(bst.getToken());
-            sign.setCustomTokenId(Base64.encode(digestBytes));
+            sign.setCustomTokenId(Base64.getMimeEncoder().encodeToString(digestBytes));
 
             sign.build(doc, null, secHeader);
 
@@ -1195,7 +1195,7 @@ public class KerberosTest extends Abstra
             builder.setCustomReferenceValue(WSConstants.WSS_KRB_KI_VALUE_TYPE);
 
             byte[] digestBytes = KeyUtils.generateDigest(bst.getToken());
-            builder.setEncKeyId(Base64.encode(digestBytes));
+            builder.setEncKeyId(Base64.getMimeEncoder().encodeToString(digestBytes));
 
             builder.build(doc, null, secHeader);
 

Modified: webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/saml/SamlAssertionWrapper.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/saml/SamlAssertionWrapper.java?rev=1746267&r1=1746266&r2=1746267&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/saml/SamlAssertionWrapper.java (original)
+++ webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/saml/SamlAssertionWrapper.java Tue May 31 11:33:21 2016
@@ -22,6 +22,7 @@ package org.apache.wss4j.common.saml;
 import java.security.PrivateKey;
 import java.security.cert.X509Certificate;
 import java.util.ArrayList;
+import java.util.Base64;
 import java.util.List;
 
 import javax.security.auth.callback.CallbackHandler;
@@ -33,9 +34,7 @@ import org.apache.wss4j.common.saml.buil
 import org.apache.wss4j.common.saml.builder.SAML2ComponentBuilder;
 import org.apache.wss4j.common.util.DOM2Writer;
 import org.apache.wss4j.common.util.InetAddressUtils;
-import org.apache.xml.security.exceptions.Base64DecodingException;
 import org.apache.xml.security.stax.impl.util.IDGenerator;
-import org.apache.xml.security.utils.Base64;
 import org.apache.xml.security.utils.XMLUtils;
 import org.joda.time.DateTime;
 import org.opensaml.core.xml.XMLObject;
@@ -750,13 +749,8 @@ public class SamlAssertionWrapper {
                 Element signatureValueElement =
                     XMLUtils.getNextElement(signedInfoElem.getNextSibling());
                 if (signatureValueElement != null) {
-                    try {
-                        return Base64.decode(signatureValueElement);
-                    } catch (Base64DecodingException ex) {
-                        throw new WSSecurityException(
-                            WSSecurityException.ErrorCode.FAILURE, ex, "invalidSAMLsecurity"
-                        );
-                    }
+                    String base64Input = XMLUtils.getFullTextChildrenFromElement(signatureValueElement);
+                    return Base64.getMimeDecoder().decode(base64Input);
                 }
             }
         }

Modified: webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/token/BinarySecurity.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/token/BinarySecurity.java?rev=1746267&r1=1746266&r2=1746267&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/token/BinarySecurity.java (original)
+++ webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/token/BinarySecurity.java Tue May 31 11:33:21 2016
@@ -22,6 +22,7 @@ package org.apache.wss4j.common.token;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.util.Arrays;
+import java.util.Base64;
 import java.util.UUID;
 
 import org.apache.wss4j.common.WSS4JConstants;
@@ -32,7 +33,6 @@ import org.apache.wss4j.common.ext.Attac
 import org.apache.wss4j.common.ext.WSSecurityException;
 import org.apache.wss4j.common.util.DOM2Writer;
 import org.apache.wss4j.common.util.XMLUtils;
-import org.apache.xml.security.utils.Base64;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
@@ -195,19 +195,12 @@ public class BinarySecurity {
         if (data != null) {
             return data;
         }
-        try {
-            String text = XMLUtils.getElementText(element);
-            if (text == null) {
-                return null;
-            }
-
-            return Base64.decode(text);
-        } catch (Exception ex) {
-            if (LOG.isDebugEnabled()) {
-                LOG.debug(ex.getMessage(), ex);
-            }
+        String text = XMLUtils.getElementText(element);
+        if (text == null) {
             return null;
         }
+
+        return Base64.getMimeDecoder().decode(text);
     }
 
     /**
@@ -244,7 +237,7 @@ public class BinarySecurity {
             }
         } else {
             Text node = getFirstNode();
-            node.setData(Base64.encode(data));
+            node.setData(Base64.getMimeEncoder().encodeToString(data));
             setRawToken(data);
         }
     }
@@ -264,7 +257,7 @@ public class BinarySecurity {
             throw new IllegalArgumentException("data == null");
         }
         Text node = getFirstNode();
-        node.setData(Base64.encode(data));
+        node.setData(Base64.getMimeEncoder().encodeToString(data));
     }
 
     /**

Modified: webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/token/SecurityTokenReference.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/token/SecurityTokenReference.java?rev=1746267&r1=1746266&r2=1746267&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/token/SecurityTokenReference.java (original)
+++ webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/wss4j/common/token/SecurityTokenReference.java Tue May 31 11:33:21 2016
@@ -23,6 +23,7 @@ import java.math.BigInteger;
 import java.security.cert.CertificateEncodingException;
 import java.security.cert.X509Certificate;
 import java.util.Arrays;
+import java.util.Base64;
 
 import javax.xml.namespace.QName;
 
@@ -40,8 +41,6 @@ import org.apache.wss4j.common.ext.WSSec
 import org.apache.wss4j.common.util.DOM2Writer;
 import org.apache.wss4j.common.util.KeyUtils;
 import org.apache.wss4j.common.util.XMLUtils;
-import org.apache.xml.security.exceptions.Base64DecodingException;
-import org.apache.xml.security.utils.Base64;
 
 /**
  * Security Token Reference.
@@ -192,7 +191,7 @@ public class SecurityTokenReference {
                 WSSecurityException.ErrorCode.SECURITY_TOKEN_UNAVAILABLE, e, "encodeError"
             );
         }
-        Text text = doc.createTextNode(Base64.encode(data));
+        Text text = doc.createTextNode(Base64.getMimeEncoder().encodeToString(data));
 
         createKeyIdentifier(doc, X509_V3_TYPE, text, true);
     }
@@ -225,7 +224,7 @@ public class SecurityTokenReference {
         }
         byte[] data = skiCrypto.getSKIBytesFromCert(cert);
 
-        Text text = doc.createTextNode(Base64.encode(data));
+        Text text = doc.createTextNode(Base64.getMimeEncoder().encodeToString(data));
         createKeyIdentifier(doc, SKI_URI, text, true);
     }
 
@@ -251,7 +250,7 @@ public class SecurityTokenReference {
         }
         try {
             byte[] encodedBytes = KeyUtils.generateDigest(encodedCert);
-            Text text = doc.createTextNode(Base64.encode(encodedBytes));
+            Text text = doc.createTextNode(Base64.getMimeEncoder().encodeToString(encodedBytes));
             createKeyIdentifier(doc, THUMB_URI, text, true);
         } catch (WSSecurityException e1) {
             throw new WSSecurityException(
@@ -335,14 +334,8 @@ public class SecurityTokenReference {
         } else if (THUMB_URI.equals(value)) {
             String text = XMLUtils.getElementText(getFirstElement());
             if (text != null) {
-                byte[] thumb;
-                try {
-                    thumb = Base64.decode(text);
-                } catch (Base64DecodingException e) {
-                    throw new WSSecurityException(
-                        WSSecurityException.ErrorCode.FAILURE, e, "decoding.general"
-                    );
-                }
+                byte[] thumb = Base64.getMimeDecoder().decode(text);
+
                 CryptoType cryptoType = new CryptoType(CryptoType.TYPE.THUMBPRINT_SHA1);
                 cryptoType.setBytes(thumb);
                 X509Certificate[] certs = crypto.getX509Certificates(cryptoType);
@@ -404,12 +397,7 @@ public class SecurityTokenReference {
         }
         String text = XMLUtils.getElementText(getFirstElement());
         if (text != null) {
-            try {
-                skiBytes = Base64.decode(text);
-            } catch (Exception e) {
-                LOG.debug(e.getMessage(), e);
-                return null;
-            }
+            skiBytes = Base64.getMimeDecoder().decode(text);
         }
         return skiBytes;
     }

Modified: webservices/wss4j/trunk/ws-security-common/src/test/java/org/apache/wss4j/common/crypto/SKITest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-common/src/test/java/org/apache/wss4j/common/crypto/SKITest.java?rev=1746267&r1=1746266&r2=1746267&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-common/src/test/java/org/apache/wss4j/common/crypto/SKITest.java (original)
+++ webservices/wss4j/trunk/ws-security-common/src/test/java/org/apache/wss4j/common/crypto/SKITest.java Tue May 31 11:33:21 2016
@@ -23,9 +23,9 @@ import java.io.InputStream;
 import java.security.KeyStore;
 import java.security.Security;
 import java.security.cert.X509Certificate;
+import java.util.Base64;
 
 import org.apache.wss4j.common.util.Loader;
-import org.apache.xml.security.utils.Base64;
 import org.bouncycastle.jce.provider.BouncyCastleProvider;
 import org.junit.Test;
 
@@ -56,7 +56,7 @@ public class SKITest extends org.junit.A
 
         byte[] skiBytes = crypto.getSKIBytesFromCert(certs[0]);
         String knownBase64Encoding = "VPWiTCLlm0OwNWTwrnRTUF3qcIk=";
-        assertTrue(knownBase64Encoding.equals(Base64.encode(skiBytes)));
+        assertTrue(knownBase64Encoding.equals(Base64.getMimeEncoder().encodeToString(skiBytes)));
     }
 
     @Test
@@ -77,7 +77,7 @@ public class SKITest extends org.junit.A
 
         byte[] skiBytes = crypto.getSKIBytesFromCert(certs[0]);
         String knownBase64Encoding = "tgkZUMZ461ZSA1nZkBu6E5GDxLM=";
-        assertTrue(knownBase64Encoding.equals(Base64.encode(skiBytes)));
+        assertTrue(knownBase64Encoding.equals(Base64.getMimeEncoder().encodeToString(skiBytes)));
     }
 
     @Test

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/handler/RequestData.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/handler/RequestData.java?rev=1746267&r1=1746266&r2=1746267&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/handler/RequestData.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/handler/RequestData.java Tue May 31 11:33:21 2016
@@ -21,6 +21,7 @@ package org.apache.wss4j.dom.handler;
 
 import java.security.cert.Certificate;
 import java.util.ArrayList;
+import java.util.Base64;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.LinkedList;
@@ -47,7 +48,6 @@ import org.apache.wss4j.dom.message.WSSe
 import org.apache.wss4j.dom.util.WSSecurityUtil;
 import org.apache.wss4j.dom.validate.Validator;
 import org.apache.xml.security.encryption.Serializer;
-import org.apache.xml.security.utils.Base64;
 
 /**
  * This class holds per request data.
@@ -429,7 +429,7 @@ public class RequestData {
 
     private synchronized ReplayCache createCache(String key) throws WSSecurityException {
         ReplayCacheFactory replayCacheFactory = ReplayCacheFactory.newInstance();
-        String cacheKey = key + Base64.encode(WSSecurityUtil.generateNonce(10));
+        String cacheKey = key + Base64.getEncoder().encodeToString(WSSecurityUtil.generateNonce(10));
         return replayCacheFactory.newReplayCache(cacheKey, null);
     }
 

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecDerivedKeyBase.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecDerivedKeyBase.java?rev=1746267&r1=1746266&r2=1746267&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecDerivedKeyBase.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecDerivedKeyBase.java Tue May 31 11:33:21 2016
@@ -21,6 +21,7 @@ package org.apache.wss4j.dom.message;
 
 import java.nio.charset.StandardCharsets;
 import java.security.cert.X509Certificate;
+import java.util.Base64;
 
 import javax.crypto.SecretKey;
 
@@ -37,7 +38,6 @@ import org.apache.wss4j.dom.WSConstants;
 import org.apache.wss4j.dom.message.token.DerivedKeyToken;
 import org.apache.wss4j.dom.message.token.KerberosSecurity;
 import org.apache.wss4j.dom.util.WSSecurityUtil;
-import org.apache.xml.security.utils.Base64;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
@@ -223,7 +223,7 @@ public abstract class WSSecDerivedKeyBas
 
         dkt.setOffset(offset);
         dkt.setLength(length);
-        dkt.setNonce(Base64.encode(nonce));
+        dkt.setNonce(Base64.getMimeEncoder().encodeToString(nonce));
         dkt.setID(dktId);
 
         if (strElem == null) {

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecEncrypt.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecEncrypt.java?rev=1746267&r1=1746266&r2=1746267&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecEncrypt.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecEncrypt.java Tue May 31 11:33:21 2016
@@ -22,6 +22,7 @@ package org.apache.wss4j.dom.message;
 import java.security.cert.X509Certificate;
 import java.security.spec.AlgorithmParameterSpec;
 import java.util.ArrayList;
+import java.util.Base64;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -64,7 +65,6 @@ import org.apache.xml.security.encryptio
 import org.apache.xml.security.encryption.XMLEncryptionException;
 import org.apache.xml.security.keys.KeyInfo;
 import org.apache.xml.security.stax.ext.XMLSecurityConstants;
-import org.apache.xml.security.utils.Base64;
 import org.apache.xml.security.utils.EncryptionConstants;
 import org.w3c.dom.Attr;
 import org.w3c.dom.Document;
@@ -766,7 +766,7 @@ public class WSSecEncrypt extends WSSecE
                 secToken.setKeyIdentifierEncKeySHA1(customReferenceValue);
             } else {
                 byte[] encodedBytes = KeyUtils.generateDigest(encryptedEphemeralKey);
-                secToken.setKeyIdentifierEncKeySHA1(Base64.encode(encodedBytes));
+                secToken.setKeyIdentifierEncKeySHA1(Base64.getMimeEncoder().encodeToString(encodedBytes));
             }
             secToken.addTokenType(WSConstants.WSS_ENC_KEY_VALUE_TYPE);
             keyInfo.addUnknownElement(secToken.getElement());
@@ -820,7 +820,7 @@ public class WSSecEncrypt extends WSSecE
                 secToken.setKeyIdentifierEncKeySHA1(customReferenceValue);
             } else {
                 byte[] encodedBytes = KeyUtils.generateDigest(encryptedEphemeralKey);
-                secToken.setKeyIdentifierEncKeySHA1(Base64.encode(encodedBytes));
+                secToken.setKeyIdentifierEncKeySHA1(Base64.getMimeEncoder().encodeToString(encodedBytes));
             }
             secToken.addTokenType(WSConstants.WSS_ENC_KEY_VALUE_TYPE);
             keyInfo.addUnknownElement(secToken.getElement());

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecSignature.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecSignature.java?rev=1746267&r1=1746266&r2=1746267&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecSignature.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecSignature.java Tue May 31 11:33:21 2016
@@ -22,6 +22,7 @@ package org.apache.wss4j.dom.message;
 import java.security.NoSuchProviderException;
 import java.security.cert.CertificateEncodingException;
 import java.security.cert.X509Certificate;
+import java.util.Base64;
 import java.util.List;
 
 import javax.xml.crypto.XMLStructure;
@@ -58,7 +59,6 @@ import org.apache.wss4j.dom.WSDocInfo;
 import org.apache.wss4j.dom.message.token.KerberosSecurity;
 import org.apache.wss4j.dom.transform.STRTransform;
 import org.apache.wss4j.dom.util.WSSecurityUtil;
-import org.apache.xml.security.utils.Base64;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
@@ -240,7 +240,7 @@ public class WSSecSignature extends WSSe
                     secRef.setKeyIdentifierEncKeySHA1(encrKeySha1value);
                 } else {
                     byte[] digestBytes = KeyUtils.generateDigest(secretKey);
-                    secRef.setKeyIdentifierEncKeySHA1(Base64.encode(digestBytes));
+                    secRef.setKeyIdentifierEncKeySHA1(Base64.getMimeEncoder().encodeToString(digestBytes));
                 }
                 secRef.addTokenType(WSConstants.WSS_ENC_KEY_VALUE_TYPE);
                 break;

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecUsernameToken.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecUsernameToken.java?rev=1746267&r1=1746266&r2=1746267&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecUsernameToken.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/WSSecUsernameToken.java Tue May 31 11:33:21 2016
@@ -20,14 +20,15 @@
 package org.apache.wss4j.dom.message;
 
 import org.apache.wss4j.dom.WSConstants;
+
+import java.util.Base64;
+
 import org.apache.wss4j.common.ext.WSSecurityException;
 import org.apache.wss4j.common.util.UsernameTokenUtil;
 import org.apache.wss4j.common.util.WSCurrentTimeSource;
 import org.apache.wss4j.common.util.WSTimeSource;
 import org.apache.wss4j.dom.message.token.UsernameToken;
 import org.apache.wss4j.dom.util.WSSecurityUtil;
-import org.apache.xml.security.exceptions.Base64DecodingException;
-import org.apache.xml.security.utils.Base64;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
@@ -115,13 +116,7 @@ public class WSSecUsernameToken extends
             return null;
         }
         if (passwordsAreEncoded) {
-            try {
-                return UsernameTokenUtil.generateDerivedKey(Base64.decode(password), saltValue, iteration);
-            } catch (Base64DecodingException e) {
-                throw new WSSecurityException(
-                    WSSecurityException.ErrorCode.FAILURE, e, "decoding.general"
-                );
-            }
+            return UsernameTokenUtil.generateDerivedKey(Base64.getMimeDecoder().decode(password), saltValue, iteration);
         } else {
             return UsernameTokenUtil.generateDerivedKey(password, saltValue, iteration);
         }

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/token/DerivedKeyToken.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/token/DerivedKeyToken.java?rev=1746267&r1=1746266&r2=1746267&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/token/DerivedKeyToken.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/token/DerivedKeyToken.java Tue May 31 11:33:21 2016
@@ -21,6 +21,7 @@ package org.apache.wss4j.dom.message.tok
 
 import java.nio.charset.StandardCharsets;
 import java.security.Principal;
+import java.util.Base64;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Map.Entry;
@@ -38,7 +39,6 @@ import org.apache.wss4j.common.token.Sec
 import org.apache.wss4j.common.util.DOM2Writer;
 import org.apache.wss4j.common.util.XMLUtils;
 import org.apache.wss4j.dom.util.WSSecurityUtil;
-import org.apache.xml.security.utils.Base64;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
@@ -554,7 +554,7 @@ public class DerivedKeyToken {
                 labelBytes = label.getBytes(StandardCharsets.UTF_8);
             }
 
-            byte[] nonce = Base64.decode(getNonce());
+            byte[] nonce = Base64.getMimeDecoder().decode(getNonce());
             byte[] seed = new byte[labelBytes.length + nonce.length];
             System.arraycopy(labelBytes, 0, seed, 0, labelBytes.length);
             System.arraycopy(nonce, 0, seed, labelBytes.length, nonce.length);

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/token/SignatureConfirmation.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/token/SignatureConfirmation.java?rev=1746267&r1=1746266&r2=1746267&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/token/SignatureConfirmation.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/token/SignatureConfirmation.java Tue May 31 11:33:21 2016
@@ -20,6 +20,7 @@
 package org.apache.wss4j.dom.message.token;
 
 import java.util.Arrays;
+import java.util.Base64;
 
 import org.apache.wss4j.dom.WSConstants;
 import org.apache.wss4j.common.bsp.BSPEnforcer;
@@ -27,8 +28,6 @@ import org.apache.wss4j.common.bsp.BSPRu
 import org.apache.wss4j.common.ext.WSSecurityException;
 import org.apache.wss4j.common.util.DOM2Writer;
 import org.apache.wss4j.common.util.XMLUtils;
-import org.apache.xml.security.exceptions.Base64DecodingException;
-import org.apache.xml.security.utils.Base64;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
@@ -60,13 +59,7 @@ public class SignatureConfirmation {
 
         String sv = element.getAttributeNS(null, SC_VALUE_ATTR);
         if (sv != null) {
-            try {
-                signatureValue = Base64.decode(sv);
-            } catch (Base64DecodingException e) {
-                throw new WSSecurityException(
-                    WSSecurityException.ErrorCode.FAILURE, e, "decoding.general"
-                );
-            }
+            signatureValue = Base64.getMimeDecoder().decode(sv);
         }
     }
 
@@ -86,7 +79,7 @@ public class SignatureConfirmation {
             );
         XMLUtils.setNamespace(element, WSConstants.WSSE11_NS, WSConstants.WSSE11_PREFIX);
         if (signVal != null) {
-            String sv = Base64.encode(signVal);
+            String sv = Base64.getMimeEncoder().encodeToString(signVal);
             element.setAttributeNS(null, SC_VALUE_ATTR, sv);
         }
     }

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/token/UsernameToken.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/token/UsernameToken.java?rev=1746267&r1=1746266&r2=1746267&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/token/UsernameToken.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/message/token/UsernameToken.java Tue May 31 11:33:21 2016
@@ -25,6 +25,7 @@ import java.security.Principal;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
 import java.util.Arrays;
+import java.util.Base64;
 import java.util.Date;
 import java.util.List;
 import java.util.TimeZone;
@@ -51,8 +52,6 @@ import org.apache.wss4j.dom.WSConstants;
 import org.apache.wss4j.dom.engine.WSSConfig;
 import org.apache.wss4j.dom.util.WSSecurityUtil;
 import org.apache.wss4j.dom.util.XmlSchemaDateFormat;
-import org.apache.xml.security.exceptions.Base64DecodingException;
-import org.apache.xml.security.utils.Base64;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
@@ -312,7 +311,7 @@ public class UsernameToken {
             return;
         }
         elementNonce = doc.createElementNS(WSConstants.WSSE_NS, "wsse:" + WSConstants.NONCE_LN);
-        elementNonce.appendChild(doc.createTextNode(Base64.encode(nonceValue)));
+        elementNonce.appendChild(doc.createTextNode(Base64.getMimeEncoder().encodeToString(nonceValue)));
         elementNonce.setAttributeNS(null, "EncodingType", BASE64_ENCODING);
         element.appendChild(elementNonce);
     }
@@ -368,7 +367,7 @@ public class UsernameToken {
                 WSConstants.WSSE11_NS, WSConstants.WSSE11_PREFIX + ":" + WSConstants.SALT_LN
             );
         XMLUtils.setNamespace(element, WSConstants.WSSE11_NS, WSConstants.WSSE11_PREFIX);
-        elementSalt.appendChild(doc.createTextNode(Base64.encode(saltValue)));
+        elementSalt.appendChild(doc.createTextNode(Base64.getMimeEncoder().encodeToString(saltValue)));
         element.appendChild(elementSalt);
         return saltValue;
     }
@@ -466,13 +465,7 @@ public class UsernameToken {
     public byte[] getSalt() throws WSSecurityException {
         String salt = XMLUtils.getElementText(elementSalt);
         if (salt != null) {
-            try {
-                return Base64.decode(salt);
-            } catch (Base64DecodingException e) {
-                throw new WSSecurityException(
-                    WSSecurityException.ErrorCode.FAILURE, e, "decoding.general"
-                );
-            }
+            return Base64.getMimeDecoder().decode(salt);
         }
         return null;
     }
@@ -532,7 +525,7 @@ public class UsernameToken {
         try {
             if (hashed) {
                 if (passwordsAreEncoded) {
-                    node.setData(doPasswordDigest(getNonce(), getCreated(), Base64.decode(pwd)));
+                    node.setData(doPasswordDigest(getNonce(), getCreated(), Base64.getMimeDecoder().decode(pwd)));
                 } else {
                     node.setData(doPasswordDigest(getNonce(), getCreated(), pwd));
                 }
@@ -593,7 +586,7 @@ public class UsernameToken {
     public static String doPasswordDigest(String nonce, String created, byte[] password) {
         String passwdDigest = null;
         try {
-            byte[] b1 = nonce != null ? Base64.decode(nonce) : new byte[0];
+            byte[] b1 = nonce != null ? Base64.getMimeDecoder().decode(nonce) : new byte[0];
             byte[] b2 = created != null ? created.getBytes(StandardCharsets.UTF_8) : new byte[0];
             byte[] b3 = password;
             byte[] b4 = new byte[b1.length + b2.length + b3.length];
@@ -607,7 +600,7 @@ public class UsernameToken {
             System.arraycopy(b3, 0, b4, offset, b3.length);
 
             byte[] digestBytes = KeyUtils.generateDigest(b4);
-            passwdDigest = Base64.encode(digestBytes);
+            passwdDigest = Base64.getMimeEncoder().encodeToString(digestBytes);
         } catch (Exception e) {
             if (DO_DEBUG) {
                 LOG.debug(e.getMessage(), e);
@@ -708,13 +701,7 @@ public class UsernameToken {
         int iteration = getIteration();
         byte[] salt = getSalt();
         if (passwordsAreEncoded) {
-            try {
-                return UsernameTokenUtil.generateDerivedKey(Base64.decode(rawPassword), salt, iteration);
-            } catch (Base64DecodingException e) {
-                throw new WSSecurityException(
-                    WSSecurityException.ErrorCode.FAILURE, e, "decoding.general"
-                );
-            }
+            return UsernameTokenUtil.generateDerivedKey(Base64.getMimeDecoder().decode(rawPassword), salt, iteration);
         } else {
             return UsernameTokenUtil.generateDerivedKey(rawPassword, salt, iteration);
         }
@@ -738,18 +725,15 @@ public class UsernameToken {
      * Create a WSUsernameTokenPrincipal from this UsernameToken object
      */
     public Principal createPrincipal() throws WSSecurityException {
-        try {
-            WSUsernameTokenPrincipalImpl principal =
-                new WSUsernameTokenPrincipalImpl(getName(), isHashed());
-            principal.setNonce(Base64.decode(getNonce()));
-            principal.setPassword(getPassword());
-            principal.setCreatedTime(getCreated());
-            return principal;
-        } catch (Base64DecodingException e) {
-            throw new WSSecurityException(
-                    WSSecurityException.ErrorCode.FAILURE, e, "decoding.general"
-            );
-        }
+        WSUsernameTokenPrincipalImpl principal =
+            new WSUsernameTokenPrincipalImpl(getName(), isHashed());
+        String nonce = getNonce();
+        if (nonce != null) {
+            principal.setNonce(Base64.getMimeDecoder().decode(nonce));
+        }
+        principal.setPassword(getPassword());
+        principal.setCreatedTime(getCreated());
+        return principal;
     }
 
     /**

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/SignatureProcessor.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/SignatureProcessor.java?rev=1746267&r1=1746266&r2=1746267&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/SignatureProcessor.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/SignatureProcessor.java Tue May 31 11:33:21 2016
@@ -28,6 +28,7 @@ import java.security.spec.AlgorithmParam
 import java.text.DateFormat;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Base64;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -83,7 +84,6 @@ import org.apache.wss4j.dom.util.X509Uti
 import org.apache.wss4j.dom.util.XmlSchemaDateFormat;
 import org.apache.wss4j.dom.validate.Credential;
 import org.apache.wss4j.dom.validate.Validator;
-import org.apache.xml.security.utils.Base64;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
@@ -436,7 +436,7 @@ public class SignatureProcessor implemen
                     if (xopURI != null) {
                         // Store the bytes in the attachment to calculate the signature
                         byte[] attachmentBytes = WSSecurityUtil.getBytesFromAttachment(xopURI, data);
-                        String encodedBytes = Base64.encode(attachmentBytes);
+                        String encodedBytes = Base64.getMimeEncoder().encodeToString(attachmentBytes);
 
                         Node newCipherValueChild =
                             includeElement.getOwnerDocument().createTextNode(encodedBytes);

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/saml/WSSSAMLKeyInfoProcessor.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/saml/WSSSAMLKeyInfoProcessor.java?rev=1746267&r1=1746266&r2=1746267&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/saml/WSSSAMLKeyInfoProcessor.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/saml/WSSSAMLKeyInfoProcessor.java Tue May 31 11:33:21 2016
@@ -20,6 +20,7 @@
 package org.apache.wss4j.dom.saml;
 
 import java.security.Principal;
+import java.util.Base64;
 import java.util.List;
 
 import javax.xml.namespace.QName;
@@ -43,7 +44,6 @@ import org.apache.wss4j.dom.str.STRParse
 import org.apache.wss4j.dom.str.STRParserParameters;
 import org.apache.wss4j.dom.str.STRParserResult;
 import org.apache.wss4j.dom.str.SignatureSTRParser;
-import org.apache.xml.security.utils.Base64;
 
 /**
  * This interface allows the user to plug in custom ways of processing a SAML KeyInfo.
@@ -90,12 +90,7 @@ public class WSSSAMLKeyInfoProcessor imp
                     return new SAMLKeyInfo(secret);
                 } else if (el.equals(BINARY_SECRET) || el.equals(BINARY_SECRET_05_12)) {
                     Text txt = (Text)node.getFirstChild();
-                    try {
-                        return new SAMLKeyInfo(Base64.decode(txt.getData()));
-                    } catch (Exception e) {
-                        throw new WSSecurityException(WSSecurityException.ErrorCode.FAILURE, e,
-                                "decoding.general");
-                    }
+                    return new SAMLKeyInfo(Base64.getMimeDecoder().decode(txt.getData()));
                 } else if (SecurityTokenReference.STR_QNAME.equals(el)) {
                     STRParserParameters parameters = new STRParserParameters();
                     parameters.setData(data);

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/SignatureSTRParser.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/SignatureSTRParser.java?rev=1746267&r1=1746266&r2=1746267&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/SignatureSTRParser.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/SignatureSTRParser.java Tue May 31 11:33:21 2016
@@ -23,6 +23,7 @@ import java.security.Principal;
 import java.security.cert.CertificateEncodingException;
 import java.security.cert.X509Certificate;
 import java.util.Arrays;
+import java.util.Base64;
 import java.util.List;
 
 import javax.xml.namespace.QName;
@@ -51,8 +52,6 @@ import org.apache.wss4j.dom.message.toke
 import org.apache.wss4j.dom.message.token.UsernameToken;
 import org.apache.wss4j.dom.processor.Processor;
 import org.apache.wss4j.dom.saml.WSSSAMLKeyInfoProcessor;
-import org.apache.xml.security.exceptions.Base64DecodingException;
-import org.apache.xml.security.utils.Base64;
 import org.w3c.dom.Element;
 
 /**
@@ -217,17 +216,10 @@ public class SignatureSTRParser implemen
                         if (certs != null) {
                             try {
                                 byte[] digest = KeyUtils.generateDigest(certs[0].getEncoded());
-                                try {
-                                    if (Arrays.equals(Base64.decode(kiValue), digest)) {
-                                        parserResult.setPrincipal(
-                                            (Principal)bstResult.get(WSSecurityEngineResult.TAG_PRINCIPAL));
-                                        foundCerts = certs;
-                                        break;
-                                    }
-                                } catch (Base64DecodingException e) {
-                                    throw new WSSecurityException(
-                                        WSSecurityException.ErrorCode.FAILURE, e, "decoding.general"
-                                    );
+                                if (Arrays.equals(Base64.getMimeDecoder().decode(kiValue), digest)) {
+                                    parserResult.setPrincipal((Principal)bstResult.get(WSSecurityEngineResult.TAG_PRINCIPAL));
+                                    foundCerts = certs;
+                                    break;
                                 }
                             } catch (CertificateEncodingException ex) {
                                 throw new WSSecurityException(

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/transform/STRTransformUtil.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/transform/STRTransformUtil.java?rev=1746267&r1=1746266&r2=1746267&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/transform/STRTransformUtil.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/transform/STRTransformUtil.java Tue May 31 11:33:21 2016
@@ -21,6 +21,7 @@ package org.apache.wss4j.dom.transform;
 
 import java.security.cert.CertificateEncodingException;
 import java.security.cert.X509Certificate;
+import java.util.Base64;
 
 import org.apache.wss4j.common.ext.WSSecurityException;
 import org.apache.wss4j.common.token.Reference;
@@ -30,7 +31,6 @@ import org.apache.wss4j.common.util.XMLU
 import org.apache.wss4j.dom.WSConstants;
 import org.apache.wss4j.dom.WSDocInfo;
 import org.apache.wss4j.dom.str.STRParserUtil;
-import org.apache.xml.security.utils.Base64;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Text;
@@ -135,7 +135,7 @@ public final class STRTransformUtil {
         if (secRefEncType != null) {
             elem.setAttributeNS(null, "EncodingType", secRefEncType);
         }
-        Text certText = doc.createTextNode(Base64.encode(data)); // no line wrap
+        Text certText = doc.createTextNode(Base64.getMimeEncoder().encodeToString(data)); // no line wrap
         elem.appendChild(certText);
         return elem;
     }

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/util/EncryptionUtils.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/util/EncryptionUtils.java?rev=1746267&r1=1746266&r2=1746267&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/util/EncryptionUtils.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/util/EncryptionUtils.java Tue May 31 11:33:21 2016
@@ -33,8 +33,6 @@ import org.apache.xml.security.algorithm
 import org.apache.xml.security.encryption.Serializer;
 import org.apache.xml.security.encryption.XMLCipher;
 import org.apache.xml.security.encryption.XMLEncryptionException;
-import org.apache.xml.security.exceptions.Base64DecodingException;
-import org.apache.xml.security.utils.Base64;
 import org.apache.xml.security.utils.JavaUtils;
 import org.w3c.dom.Attr;
 import org.w3c.dom.Document;
@@ -56,6 +54,7 @@ import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.security.NoSuchAlgorithmException;
+import java.util.Base64;
 import java.util.List;
 
 public final class EncryptionUtils {
@@ -553,16 +552,10 @@ public final class EncryptionUtils {
      * @throws WSSecurityException
      */
     public static byte[] getDecodedBase64EncodedData(Element element) throws WSSecurityException {
-        try {
-            String text = XMLUtils.getElementText(element);
-            if (text == null) {
-                return null;
-            }
-            return Base64.decode(text);
-        } catch (Base64DecodingException e) {
-            throw new WSSecurityException(
-                WSSecurityException.ErrorCode.FAILURE, e, "decoding.general"
-            );
+        String text = XMLUtils.getElementText(element);
+        if (text == null) {
+            return null;
         }
+        return Base64.getMimeDecoder().decode(text);
     }
 }

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/util/WSSecurityUtil.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/util/WSSecurityUtil.java?rev=1746267&r1=1746266&r2=1746267&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/util/WSSecurityUtil.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/util/WSSecurityUtil.java Tue May 31 11:33:21 2016
@@ -35,7 +35,6 @@ import org.apache.wss4j.dom.handler.Hand
 import org.apache.wss4j.dom.handler.RequestData;
 import org.apache.wss4j.dom.handler.WSHandlerConstants;
 import org.apache.xml.security.stax.ext.XMLSecurityConstants;
-import org.apache.xml.security.utils.Base64;
 import org.apache.xml.security.utils.JavaUtils;
 import org.w3c.dom.Attr;
 import org.w3c.dom.Document;
@@ -50,6 +49,7 @@ import java.io.UnsupportedEncodingExcept
 import java.net.URLDecoder;
 import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
+import java.util.Base64;
 import java.util.Collections;
 import java.util.List;
 
@@ -385,7 +385,7 @@ public final class WSSecurityUtil {
      * @return a Text node containing the base64 encoded data
      */
     public static Text createBase64EncodedTextNode(Document doc, byte[] data) {
-        return doc.createTextNode(Base64.encode(data));
+        return doc.createTextNode(Base64.getMimeEncoder().encodeToString(data));
     }
 
     public static SOAPConstants getSOAPConstants(Element startElement) {

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/validate/UsernameTokenValidator.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/validate/UsernameTokenValidator.java?rev=1746267&r1=1746266&r2=1746267&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/validate/UsernameTokenValidator.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/validate/UsernameTokenValidator.java Tue May 31 11:33:21 2016
@@ -20,6 +20,7 @@
 package org.apache.wss4j.dom.validate;
 
 import java.io.IOException;
+import java.util.Base64;
 
 import javax.security.auth.callback.Callback;
 import javax.security.auth.callback.UnsupportedCallbackException;
@@ -29,8 +30,6 @@ import org.apache.wss4j.common.ext.WSPas
 import org.apache.wss4j.common.ext.WSSecurityException;
 import org.apache.wss4j.dom.handler.RequestData;
 import org.apache.wss4j.dom.message.token.UsernameToken;
-import org.apache.xml.security.exceptions.Base64DecodingException;
-import org.apache.xml.security.utils.Base64;
 
 /**
  * This class validates a processed UsernameToken, extracted from the Credential passed to
@@ -178,13 +177,8 @@ public class UsernameTokenValidator impl
         if (usernameToken.isHashed()) {
             String passDigest;
             if (passwordsAreEncoded) {
-                try {
-                    passDigest = UsernameToken.doPasswordDigest(nonce, createdTime, Base64.decode(origPassword));
-                } catch (Base64DecodingException e) {
-                    throw new WSSecurityException(
-                        WSSecurityException.ErrorCode.FAILURE, e, "decoding.general"
-                    );
-                }
+                passDigest = UsernameToken.doPasswordDigest(nonce, createdTime, 
+                                                            Base64.getMimeDecoder().decode(origPassword));
             } else {
                 passDigest = UsernameToken.doPasswordDigest(nonce, createdTime, origPassword);
             }

Modified: webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/common/SecretKeyCallbackHandler.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/common/SecretKeyCallbackHandler.java?rev=1746267&r1=1746266&r2=1746267&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/common/SecretKeyCallbackHandler.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/common/SecretKeyCallbackHandler.java Tue May 31 11:33:21 2016
@@ -22,13 +22,13 @@ package org.apache.wss4j.dom.common;
 import org.apache.wss4j.common.ext.WSPasswordCallback;
 import org.apache.wss4j.common.ext.WSSecurityException;
 import org.apache.wss4j.common.util.KeyUtils;
-import org.apache.xml.security.utils.Base64;
 
 import javax.security.auth.callback.Callback;
 import javax.security.auth.callback.CallbackHandler;
 import javax.security.auth.callback.UnsupportedCallbackException;
 
 import java.io.IOException;
+import java.util.Base64;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -67,7 +67,7 @@ public class SecretKeyCallbackHandler im
     public void setOutboundSecret(byte[] secret) throws WSSecurityException {
         outboundSecret = secret;
         byte[] encodedBytes = KeyUtils.generateDigest(outboundSecret);
-        String identifier = Base64.encode(encodedBytes);
+        String identifier = Base64.getMimeEncoder().encodeToString(encodedBytes);
         addSecretKey(identifier, outboundSecret);
     }
 }

Modified: webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/components/crypto/CryptoProviderTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/components/crypto/CryptoProviderTest.java?rev=1746267&r1=1746266&r2=1746267&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/components/crypto/CryptoProviderTest.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/components/crypto/CryptoProviderTest.java Tue May 31 11:33:21 2016
@@ -31,7 +31,6 @@ import org.apache.wss4j.common.util.XMLU
 import org.apache.wss4j.dom.message.WSSecEncrypt;
 import org.apache.wss4j.dom.message.WSSecHeader;
 import org.apache.wss4j.dom.message.WSSecSignature;
-import org.apache.xml.security.utils.Base64;
 import org.bouncycastle.jce.provider.BouncyCastleProvider;
 import org.junit.Test;
 import org.w3c.dom.Document;
@@ -44,6 +43,7 @@ import java.io.InputStream;
 import java.security.Security;
 import java.security.cert.CertificateFactory;
 import java.security.cert.X509Certificate;
+import java.util.Base64;
 
 /**
  * This is a test for WSS-86 - "CryptoBase.splitAndTrim does not take into account the format of a
@@ -163,7 +163,7 @@ public class CryptoProviderTest extends
         // keytool -export -rfc -keystore wss86.keystore -alias wss86 -file wss86.cer
         //
         byte[] certBytes =
-            Base64.decode(
+            Base64.getMimeDecoder().decode(
                 "MIIDqTCCApGgAwIBAgIEePiYTTANBgkqhkiG9w0BAQsFADCBhDELMAkGA1UEBhMCREUxDzANBgNV"
                 + "BAgTBkJheWVybjEPMA0GA1UEBxMGTXVuaWNoMQ8wDQYDVQQKEwZBcGFjaGUxDjAMBgNVBAsTBVdT"
                 + "UzRKMQ8wDQYDVQQDEwZXZXJuZXIxITAfBgkqhkiG9w0BCQEWEldlcm5lckBleGFtcGxlLmNvbTAe"
@@ -220,7 +220,7 @@ public class CryptoProviderTest extends
     @Test
     public void testBadInterop() throws Exception {
         byte[] certBytes =
-            Base64.decode(
+            Base64.getMimeDecoder().decode(
                 "MIIDNDCCAp2gAwIBAgIBEDANBgkqhkiG9w0BAQQFADBmMQswCQYDVQQGEwJERTEPMA0GA1UECBMG"
                 + "QmF5ZXJuMQ8wDQYDVQQHEwZNdW5pY2gxDTALBgNVBAoTBEhvbWUxFTATBgNVBAsTDEFwYWNoZSBX"
                 + "U1M0SjEPMA0GA1UEAxMGV2VybmVyMB4XDTA4MDQwNDE5MzIxOFoXDTEwMDQwNDE5MzIxOFowYTEL"

Modified: webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/handler/SecurityActionTokenTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/handler/SecurityActionTokenTest.java?rev=1746267&r1=1746266&r2=1746267&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/handler/SecurityActionTokenTest.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/handler/SecurityActionTokenTest.java Tue May 31 11:33:21 2016
@@ -20,6 +20,7 @@
 package org.apache.wss4j.dom.handler;
 
 import java.util.ArrayList;
+import java.util.Base64;
 import java.util.Collections;
 import java.util.List;
 
@@ -46,7 +47,6 @@ import org.apache.wss4j.dom.common.Secur
 import org.apache.wss4j.dom.engine.WSSConfig;
 import org.apache.wss4j.dom.engine.WSSecurityEngine;
 import org.apache.xml.security.stax.impl.util.IDGenerator;
-import org.apache.xml.security.utils.Base64;
 import org.junit.Before;
 import org.junit.Test;
 import org.w3c.dom.Document;
@@ -150,7 +150,7 @@ public class SecurityActionTokenTest ext
 
         SecretKeyCallbackHandler secretKeyCallbackHandler = new SecretKeyCallbackHandler();
         byte[] encodedBytes = KeyUtils.generateDigest(keyData);
-        String identifier = Base64.encode(encodedBytes);
+        String identifier = Base64.getMimeEncoder().encodeToString(encodedBytes);
         secretKeyCallbackHandler.addSecretKey(identifier, keyData);
 
         verify(doc, secretKeyCallbackHandler);
@@ -247,7 +247,7 @@ public class SecurityActionTokenTest ext
 
         SecretKeyCallbackHandler secretKeyCallbackHandler = new SecretKeyCallbackHandler();
         byte[] encodedBytes = KeyUtils.generateDigest(keyData);
-        String identifier = Base64.encode(encodedBytes);
+        String identifier = Base64.getMimeEncoder().encodeToString(encodedBytes);
         secretKeyCallbackHandler.addSecretKey(identifier, keyData);
 
         verify(doc, secretKeyCallbackHandler);
@@ -360,7 +360,7 @@ public class SecurityActionTokenTest ext
 
         SecretKeyCallbackHandler secretKeyCallbackHandler = new SecretKeyCallbackHandler();
         byte[] encodedBytes = KeyUtils.generateDigest(keyData);
-        String identifier = Base64.encode(encodedBytes);
+        String identifier = Base64.getMimeEncoder().encodeToString(encodedBytes);
         secretKeyCallbackHandler.addSecretKey(identifier, keyData);
 
         verify(doc, secretKeyCallbackHandler);
@@ -455,7 +455,7 @@ public class SecurityActionTokenTest ext
 
         SecretKeyCallbackHandler secretKeyCallbackHandler = new SecretKeyCallbackHandler();
         byte[] encodedBytes = KeyUtils.generateDigest(keyData);
-        String identifier = Base64.encode(encodedBytes);
+        String identifier = Base64.getMimeEncoder().encodeToString(encodedBytes);
         secretKeyCallbackHandler.addSecretKey(identifier, keyData);
 
         CombinedCallbackHandler combinedCallbackHandler =
@@ -595,7 +595,7 @@ public class SecurityActionTokenTest ext
 
         SecretKeyCallbackHandler secretKeyCallbackHandler = new SecretKeyCallbackHandler();
         byte[] encodedBytes = KeyUtils.generateDigest(keyData);
-        String identifier = Base64.encode(encodedBytes);
+        String identifier = Base64.getMimeEncoder().encodeToString(encodedBytes);
         secretKeyCallbackHandler.addSecretKey(identifier, keyData);
 
         verify(doc, secretKeyCallbackHandler);

Modified: webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/EncryptionAlgorithmSuiteTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/EncryptionAlgorithmSuiteTest.java?rev=1746267&r1=1746266&r2=1746267&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/EncryptionAlgorithmSuiteTest.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/EncryptionAlgorithmSuiteTest.java Tue May 31 11:33:21 2016
@@ -19,6 +19,8 @@
 
 package org.apache.wss4j.dom.message;
 
+import java.util.Base64;
+
 import javax.crypto.KeyGenerator;
 import javax.crypto.SecretKey;
 
@@ -38,7 +40,6 @@ import org.apache.wss4j.dom.engine.WSSec
 import org.apache.wss4j.dom.handler.RequestData;
 import org.apache.wss4j.dom.handler.WSHandlerResult;
 import org.apache.wss4j.dom.util.WSSecurityUtil;
-import org.apache.xml.security.utils.Base64;
 import org.junit.Test;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
@@ -239,7 +240,7 @@ public class EncryptionAlgorithmSuiteTes
         }
 
         byte[] encodedBytes = KeyUtils.generateDigest(keyData);
-        String identifier = Base64.encode(encodedBytes);
+        String identifier = Base64.getMimeEncoder().encodeToString(encodedBytes);
         SecretKeyCallbackHandler secretKeyCallbackHandler = new SecretKeyCallbackHandler();
         secretKeyCallbackHandler.addSecretKey(identifier, keyData);
 

Modified: webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/EncryptionTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/EncryptionTest.java?rev=1746267&r1=1746266&r2=1746267&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/EncryptionTest.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/EncryptionTest.java Tue May 31 11:33:21 2016
@@ -21,6 +21,7 @@ package org.apache.wss4j.dom.message;
 
 import java.security.cert.X509Certificate;
 import java.util.ArrayList;
+import java.util.Base64;
 import java.util.Collections;
 
 import javax.crypto.KeyGenerator;
@@ -53,7 +54,6 @@ import org.apache.wss4j.dom.handler.WSHa
 import org.apache.wss4j.dom.handler.WSHandlerResult;
 import org.apache.wss4j.dom.str.STRParser.REFERENCE_TYPE;
 import org.apache.wss4j.dom.util.WSSecurityUtil;
-import org.apache.xml.security.utils.Base64;
 import org.junit.Before;
 import org.junit.Test;
 import org.w3c.dom.Document;
@@ -386,7 +386,7 @@ public class EncryptionTest extends org.
         Document encryptedDoc = builder.build(doc, crypto, secHeader);
 
         byte[] encodedBytes = KeyUtils.generateDigest(keyData);
-        String identifier = Base64.encode(encodedBytes);
+        String identifier = Base64.getMimeEncoder().encodeToString(encodedBytes);
         secretKeyCallbackHandler.addSecretKey(identifier, keyData);
 
         String outputString =
@@ -421,7 +421,7 @@ public class EncryptionTest extends org.
         Document encryptedDoc = builder.build(doc, crypto, secHeader);
 
         byte[] encodedBytes = KeyUtils.generateDigest(keyData);
-        String identifier = Base64.encode(encodedBytes);
+        String identifier = Base64.getMimeEncoder().encodeToString(encodedBytes);
         secretKeyCallbackHandler.addSecretKey(identifier, keyData);
 
         String outputString =

Modified: webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureAlgorithmSuiteTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureAlgorithmSuiteTest.java?rev=1746267&r1=1746266&r2=1746267&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureAlgorithmSuiteTest.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SignatureAlgorithmSuiteTest.java Tue May 31 11:33:21 2016
@@ -20,6 +20,7 @@
 package org.apache.wss4j.dom.message;
 
 import java.util.ArrayList;
+import java.util.Base64;
 import java.util.List;
 
 import javax.crypto.KeyGenerator;
@@ -43,7 +44,6 @@ import org.apache.wss4j.dom.engine.WSSec
 import org.apache.wss4j.dom.handler.RequestData;
 import org.apache.wss4j.dom.handler.WSHandlerResult;
 import org.apache.wss4j.dom.util.WSSecurityUtil;
-import org.apache.xml.security.utils.Base64;
 import org.junit.Test;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
@@ -160,7 +160,7 @@ public class SignatureAlgorithmSuiteTest
         }
 
         byte[] encodedBytes = KeyUtils.generateDigest(keyData);
-        String identifier = Base64.encode(encodedBytes);
+        String identifier = Base64.getMimeEncoder().encodeToString(encodedBytes);
         SecretKeyCallbackHandler secretKeyCallbackHandler = new SecretKeyCallbackHandler();
         secretKeyCallbackHandler.addSecretKey(identifier, keyData);
 

Modified: webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SymmetricSignatureTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SymmetricSignatureTest.java?rev=1746267&r1=1746266&r2=1746267&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SymmetricSignatureTest.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/SymmetricSignatureTest.java Tue May 31 11:33:21 2016
@@ -20,6 +20,7 @@
 package org.apache.wss4j.dom.message;
 
 import java.io.IOException;
+import java.util.Base64;
 import java.util.Collections;
 
 import javax.crypto.KeyGenerator;
@@ -45,7 +46,6 @@ import org.apache.wss4j.common.util.XMLU
 import org.apache.wss4j.dom.handler.HandlerAction;
 import org.apache.wss4j.dom.handler.RequestData;
 import org.apache.wss4j.dom.handler.WSHandlerConstants;
-import org.apache.xml.security.utils.Base64;
 import org.junit.Before;
 import org.junit.Test;
 import org.w3c.dom.Document;
@@ -107,7 +107,7 @@ public class SymmetricSignatureTest exte
         Document signedDoc = sign.build(doc, crypto, secHeader);
 
         byte[] encodedBytes = KeyUtils.generateDigest(keyData);
-        String identifier = Base64.encode(encodedBytes);
+        String identifier = Base64.getMimeEncoder().encodeToString(encodedBytes);
         secretKeyCallbackHandler.addSecretKey(identifier, keyData);
 
         if (LOG.isDebugEnabled()) {

Modified: webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/UTDerivedKeyTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/UTDerivedKeyTest.java?rev=1746267&r1=1746266&r2=1746267&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/UTDerivedKeyTest.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/UTDerivedKeyTest.java Tue May 31 11:33:21 2016
@@ -22,6 +22,7 @@ package org.apache.wss4j.dom.message;
 import java.nio.charset.StandardCharsets;
 import java.security.MessageDigest;
 import java.util.Arrays;
+import java.util.Base64;
 import java.util.Collections;
 
 import javax.security.auth.callback.CallbackHandler;
@@ -45,7 +46,6 @@ import org.apache.wss4j.dom.handler.Requ
 import org.apache.wss4j.dom.handler.WSHandlerResult;
 import org.apache.wss4j.dom.message.token.UsernameToken;
 import org.apache.wss4j.dom.util.WSSecurityUtil;
-import org.apache.xml.security.utils.Base64;
 import org.junit.Test;
 import org.w3c.dom.Document;
 
@@ -108,7 +108,7 @@ public class UTDerivedKeyTest extends or
         assertTrue(derivedKey.length == 20);
 
         // "c2VjdXJpdHk=" is the Base64 encoding of "security"
-        derivedKey = UsernameTokenUtil.generateDerivedKey(Base64.decode("c2VjdXJpdHk="), salt, 500);
+        derivedKey = UsernameTokenUtil.generateDerivedKey(Base64.getMimeDecoder().decode("c2VjdXJpdHk="), salt, 500);
         assertTrue(derivedKey.length == 20);
     }
 
@@ -121,9 +121,9 @@ public class UTDerivedKeyTest extends or
         // The SHA-1 of the password is known as a password equivalent in the UsernameToken specification.
         byte[] passwordHash = MessageDigest.getInstance("SHA-1").digest(password.getBytes(StandardCharsets.UTF_8));
 
-        byte[] salt = Base64.decode("LKpycbfgRzwDnBz6kkhAAQ==");
+        byte[] salt = Base64.getMimeDecoder().decode("LKpycbfgRzwDnBz6kkhAAQ==");
         int iteration = 1049;
-        byte[] expectedDerivedKey = Base64.decode("C7Ll/OY4TECb6hZuMMiX/5hzszo=");
+        byte[] expectedDerivedKey = Base64.getMimeDecoder().decode("C7Ll/OY4TECb6hZuMMiX/5hzszo=");
         byte[] derivedKey = UsernameTokenUtil.generateDerivedKey(passwordHash, salt, iteration);
         assertTrue("the derived key is not as expected", Arrays.equals(expectedDerivedKey, derivedKey));
     }
@@ -190,7 +190,8 @@ public class UTDerivedKeyTest extends or
 
         WSSecUsernameToken builder = new WSSecUsernameToken();
         builder.setPasswordsAreEncoded(true);
-        builder.setUserInfo("bob", Base64.encode(MessageDigest.getInstance("SHA-1").digest("security".getBytes(StandardCharsets.UTF_8))));
+        builder.setUserInfo("bob", 
+                            Base64.getMimeEncoder().encodeToString(MessageDigest.getInstance("SHA-1").digest("security".getBytes(StandardCharsets.UTF_8))));
         builder.addDerivedKey(false, null, 1000);
         builder.prepare(doc);
 
@@ -391,7 +392,8 @@ public class UTDerivedKeyTest extends or
 
         WSSecUsernameToken builder = new WSSecUsernameToken();
         builder.setPasswordsAreEncoded(true);
-        builder.setUserInfo("bob", Base64.encode(MessageDigest.getInstance("SHA-1").digest("security".getBytes(StandardCharsets.UTF_8))));
+        builder.setUserInfo("bob", 
+                            Base64.getMimeEncoder().encodeToString(MessageDigest.getInstance("SHA-1").digest("security".getBytes(StandardCharsets.UTF_8))));
         builder.addDerivedKey(true, null, 1000);
         builder.prepare(doc);
 

Modified: webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/UsernameTokenTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/UsernameTokenTest.java?rev=1746267&r1=1746266&r2=1746267&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/UsernameTokenTest.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/UsernameTokenTest.java Tue May 31 11:33:21 2016
@@ -23,6 +23,7 @@ import java.io.IOException;
 import java.nio.charset.StandardCharsets;
 import java.security.MessageDigest;
 import java.text.DateFormat;
+import java.util.Base64;
 import java.util.Collections;
 import java.util.Date;
 
@@ -50,7 +51,6 @@ import org.apache.wss4j.dom.handler.WSHa
 import org.apache.wss4j.dom.handler.WSHandlerResult;
 import org.apache.wss4j.dom.message.token.UsernameToken;
 import org.apache.wss4j.dom.util.XmlSchemaDateFormat;
-import org.apache.xml.security.utils.Base64;
 import org.junit.Test;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
@@ -178,7 +178,8 @@ public class UsernameTokenTest extends o
     public void testUsernameTokenWithEncodedPassword() throws Exception {
         WSSecUsernameToken builder = new WSSecUsernameToken();
         builder.setPasswordsAreEncoded(true);
-        builder.setUserInfo("wernerd", Base64.encode(MessageDigest.getInstance("SHA-1").digest("verySecret".getBytes(StandardCharsets.UTF_8))));
+        builder.setUserInfo("wernerd", 
+                            Base64.getMimeEncoder().encodeToString(MessageDigest.getInstance("SHA-1").digest("verySecret".getBytes(StandardCharsets.UTF_8))));
         LOG.info("Before adding UsernameToken PW Digest....");
         Document doc = SOAPUtil.toSOAPPart(SOAPUtil.SAMPLE_SOAP_MSG);
         WSSecHeader secHeader = new WSSecHeader(doc);
@@ -462,7 +463,7 @@ public class UsernameTokenTest extends o
         MessageDigest sha = MessageDigest.getInstance("MD5");
         sha.reset();
         sha.update(password);
-        String passwdDigest = Base64.encode(sha.digest());
+        String passwdDigest = Base64.getMimeEncoder().encodeToString(sha.digest());
 
         builder.setUserInfo("wernerd", passwdDigest);
         LOG.info("Before adding UsernameToken PW Text....");

Modified: webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/token/BSTKerberosTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/token/BSTKerberosTest.java?rev=1746267&r1=1746266&r2=1746267&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/token/BSTKerberosTest.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/message/token/BSTKerberosTest.java Tue May 31 11:33:21 2016
@@ -42,7 +42,6 @@ import org.apache.wss4j.dom.message.WSSe
 import org.apache.wss4j.dom.util.WSSecurityUtil;
 import org.apache.wss4j.dom.validate.Credential;
 import org.apache.wss4j.dom.validate.Validator;
-import org.apache.xml.security.utils.Base64;
 import org.junit.Test;
 import org.w3c.dom.Document;
 
@@ -52,6 +51,7 @@ import javax.security.auth.callback.Call
 import javax.xml.crypto.dsig.SignatureMethod;
 
 import java.util.Arrays;
+import java.util.Base64;
 
 /**
  * This is a test for the Kerberos Token Profile 1.1
@@ -318,7 +318,7 @@ public class BSTKerberosTest extends org
         sign.setCustomTokenValueType(WSConstants.WSS_KRB_KI_VALUE_TYPE);
 
         byte[] digestBytes = KeyUtils.generateDigest(keyData);
-        sign.setCustomTokenId(Base64.encode(digestBytes));
+        sign.setCustomTokenId(Base64.getMimeEncoder().encodeToString(digestBytes));
         sign.setSecretKey(keyData);
 
         Document signedDoc = sign.build(doc, crypto, secHeader);
@@ -398,7 +398,7 @@ public class BSTKerberosTest extends org
         builder.setCustomReferenceValue(WSConstants.WSS_KRB_KI_VALUE_TYPE);
 
         byte[] digestBytes = KeyUtils.generateDigest(keyData);
-        builder.setEncKeyId(Base64.encode(digestBytes));
+        builder.setEncKeyId(Base64.getMimeEncoder().encodeToString(digestBytes));
 
         Document encryptedDoc = builder.build(doc, crypto, secHeader);
 

Modified: webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/ext/WSSSecurityProperties.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/ext/WSSSecurityProperties.java?rev=1746267&r1=1746266&r2=1746267&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/ext/WSSSecurityProperties.java (original)
+++ webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/ext/WSSSecurityProperties.java Tue May 31 11:33:21 2016
@@ -25,6 +25,7 @@ import java.security.cert.CertificateFac
 import java.security.cert.CollectionCertStoreParameters;
 import java.security.cert.X509CRL;
 import java.util.ArrayList;
+import java.util.Base64;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
@@ -48,7 +49,6 @@ import org.apache.wss4j.stax.securityTok
 import org.apache.wss4j.stax.validate.Validator;
 import org.apache.xml.security.exceptions.XMLSecurityException;
 import org.apache.xml.security.stax.ext.XMLSecurityProperties;
-import org.apache.xml.security.utils.Base64;
 
 /**
  * Main configuration class to supply keys etc.
@@ -746,7 +746,7 @@ public class WSSSecurityProperties exten
         byte[] nonceValue;
         try {
             nonceValue = WSSConstants.generateBytes(10);
-            String cacheKey = key + Base64.encode(nonceValue);
+            String cacheKey = key + Base64.getEncoder().encodeToString(nonceValue);
             return replayCacheFactory.newReplayCache(cacheKey, null);
         } catch (XMLSecurityException e) {
             throw new WSSecurityException(WSSecurityException.ErrorCode.FAILURE, e);

Modified: webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/WSSSignatureOutputProcessor.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/WSSSignatureOutputProcessor.java?rev=1746267&r1=1746266&r2=1746267&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/WSSSignatureOutputProcessor.java (original)
+++ webservices/wss4j/trunk/ws-security-stax/src/main/java/org/apache/wss4j/stax/impl/processor/output/WSSSignatureOutputProcessor.java Tue May 31 11:33:21 2016
@@ -22,6 +22,7 @@ import java.io.BufferedInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.ArrayList;
+import java.util.Base64;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -52,7 +53,6 @@ import org.apache.xml.security.stax.impl
 import org.apache.xml.security.stax.impl.processor.output.AbstractSignatureOutputProcessor;
 import org.apache.xml.security.stax.impl.util.DigestOutputStream;
 import org.apache.xml.security.stax.impl.util.IDGenerator;
-import org.apache.xml.security.utils.Base64;
 
 public class WSSSignatureOutputProcessor extends AbstractSignatureOutputProcessor {
 
@@ -219,7 +219,7 @@ public class WSSSignatureOutputProcessor
                         throw new WSSecurityException(WSSecurityException.ErrorCode.FAILED_SIGNATURE, e);
                     }
 
-                    String calculatedDigest = Base64.encode(digestOutputStream.getDigestValue());
+                    String calculatedDigest = Base64.getMimeEncoder().encodeToString(digestOutputStream.getDigestValue());
                     if (LOG.isDebugEnabled()) {
                         LOG.debug("Calculated Digest: " + calculatedDigest);
                     }

Modified: webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/EncDecryptionTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/EncDecryptionTest.java?rev=1746267&r1=1746266&r2=1746267&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/EncDecryptionTest.java (original)
+++ webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/EncDecryptionTest.java Tue May 31 11:33:21 2016
@@ -27,6 +27,7 @@ import java.security.KeyStore;
 import java.security.Security;
 import java.security.cert.X509Certificate;
 import java.util.ArrayList;
+import java.util.Base64;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -78,7 +79,6 @@ import org.apache.xml.security.stax.secu
 import org.apache.xml.security.stax.securityEvent.EncryptedElementSecurityEvent;
 import org.apache.xml.security.stax.securityEvent.SecurityEvent;
 import org.apache.xml.security.stax.securityEvent.SecurityEventConstants;
-import org.apache.xml.security.utils.Base64;
 import org.bouncycastle.jce.provider.BouncyCastleProvider;
 import org.junit.Assert;
 import org.junit.Test;
@@ -2189,7 +2189,7 @@ public class EncDecryptionTest extends A
                 securityProperties.setEncryptionKeyTransportAlgorithm("http://www.w3.org/2009/xmlenc11#rsa-oaep");
                 securityProperties.setEncryptionKeyTransportDigestAlgorithm("http://www.w3.org/2001/04/xmldsig-more#sha384");
                 securityProperties.setEncryptionKeyTransportMGFAlgorithm("http://www.w3.org/2009/xmlenc11#mgf1sha384");
-                securityProperties.setEncryptionKeyTransportOAEPParams(Base64.decode("ZHVtbXkxMjM=".getBytes(StandardCharsets.UTF_8)));
+                securityProperties.setEncryptionKeyTransportOAEPParams(Base64.getMimeDecoder().decode("ZHVtbXkxMjM=".getBytes(StandardCharsets.UTF_8)));
 
                 InputStream sourceDocument = this.getClass().getClassLoader().getResourceAsStream("testdata/plain-soap-1.1.xml");
                 baos = doOutboundSecurity(securityProperties, sourceDocument);

Modified: webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/utils/SecretKeyCallbackHandler.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/utils/SecretKeyCallbackHandler.java?rev=1746267&r1=1746266&r2=1746267&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/utils/SecretKeyCallbackHandler.java (original)
+++ webservices/wss4j/trunk/ws-security-stax/src/test/java/org/apache/wss4j/stax/test/utils/SecretKeyCallbackHandler.java Tue May 31 11:33:21 2016
@@ -22,13 +22,13 @@ package org.apache.wss4j.stax.test.utils
 import org.apache.wss4j.common.ext.WSPasswordCallback;
 import org.apache.wss4j.common.ext.WSSecurityException;
 import org.apache.wss4j.common.util.KeyUtils;
-import org.apache.xml.security.utils.Base64;
 
 import javax.security.auth.callback.Callback;
 import javax.security.auth.callback.CallbackHandler;
 import javax.security.auth.callback.UnsupportedCallbackException;
 
 import java.io.IOException;
+import java.util.Base64;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -68,7 +68,7 @@ public class SecretKeyCallbackHandler im
     public void setOutboundSecret(byte[] secret) throws WSSecurityException {
         outboundSecret = secret;
         byte[] encodedBytes = KeyUtils.generateDigest(outboundSecret);
-        String identifier = Base64.encode(encodedBytes);
+        String identifier = Base64.getMimeEncoder().encodeToString(encodedBytes);
         addSecretKey(identifier, outboundSecret);
     }
 }