Repository: syncope
Updated Branches:
  refs/heads/master 871acf07e -> 3f9c71c2a


[SYNCOPE-938] Base64 encoder preferred over MIME encoder, where applicable


Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/3f9c71c2
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/3f9c71c2
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/3f9c71c2

Branch: refs/heads/master
Commit: 3f9c71c2aa0f4d3b34a90b903d6c00d612e87ed5
Parents: 871acf0
Author: Francesco Chicchiriccò <ilgro...@apache.org>
Authored: Thu Aug 24 17:38:30 2017 +0200
Committer: Francesco Chicchiriccò <ilgro...@apache.org>
Committed: Thu Aug 24 17:38:30 2017 +0200

----------------------------------------------------------------------
 .../core/persistence/jpa/entity/AbstractPlainAttrValue.java   | 4 ++--
 .../syncope/core/persistence/jpa/inner/PlainAttrTest.java     | 2 +-
 .../provisioning/api/serialization/AttributeDeserializer.java | 2 +-
 .../provisioning/api/serialization/AttributeSerializer.java   | 2 +-
 .../api/serialization/GuardedStringDeserializer.java          | 2 +-
 .../api/serialization/GuardedStringSerializer.java            | 2 +-
 .../provisioning/api/serialization/SyncTokenDeserializer.java | 2 +-
 .../provisioning/api/serialization/SyncTokenSerializer.java   | 2 +-
 .../provisioning/java/job/report/ReconciliationReportlet.java | 2 +-
 .../java/propagation/LDAPPasswordPropagationActions.java      | 2 +-
 .../provisioning/java/pushpull/LDAPPasswordPullActions.java   | 2 +-
 .../org/apache/syncope/core/spring/security/Encryptor.java    | 4 ++--
 .../core/workflow/java/AbstractUserWorkflowAdapter.java       | 4 ++--
 .../java/org/apache/syncope/fit/core/UserIssuesITCase.java    | 7 ++-----
 14 files changed, 18 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/3f9c71c2/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractPlainAttrValue.java
----------------------------------------------------------------------
diff --git 
a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractPlainAttrValue.java
 
b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractPlainAttrValue.java
index ae81e6e..b471690 100644
--- 
a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractPlainAttrValue.java
+++ 
b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/AbstractPlainAttrValue.java
@@ -188,7 +188,7 @@ public abstract class AbstractPlainAttrValue extends 
AbstractGeneratedKeyEntity
                 break;
 
             case Binary:
-                this.setBinaryValue(Base64.getMimeDecoder().decode(value));
+                this.setBinaryValue(Base64.getDecoder().decode(value));
                 break;
 
             case String:
@@ -261,7 +261,7 @@ public abstract class AbstractPlainAttrValue extends 
AbstractGeneratedKeyEntity
                 break;
 
             case Binary:
-                result = 
Base64.getMimeEncoder().encodeToString(getBinaryValue());
+                result = Base64.getEncoder().encodeToString(getBinaryValue());
                 break;
 
             case String:

http://git-wip-us.apache.org/repos/asf/syncope/blob/3f9c71c2/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/PlainAttrTest.java
----------------------------------------------------------------------
diff --git 
a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/PlainAttrTest.java
 
b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/PlainAttrTest.java
index f4a6ebd..0844c7a 100644
--- 
a/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/PlainAttrTest.java
+++ 
b/core/persistence-jpa/src/test/java/org/apache/syncope/core/persistence/jpa/inner/PlainAttrTest.java
@@ -206,7 +206,7 @@ public class PlainAttrTest extends AbstractTest {
 
         byte[] bytes = new byte[20];
         new Random().nextBytes(bytes);
-        String photoB64Value = Base64.getMimeEncoder().encodeToString(bytes);
+        String photoB64Value = Base64.getEncoder().encodeToString(bytes);
 
         UPlainAttr attr = entityFactory.newEntity(UPlainAttr.class);
         attr.setOwner(user);

http://git-wip-us.apache.org/repos/asf/syncope/blob/3f9c71c2/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/serialization/AttributeDeserializer.java
----------------------------------------------------------------------
diff --git 
a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/serialization/AttributeDeserializer.java
 
b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/serialization/AttributeDeserializer.java
index a6885d7..2144080 100644
--- 
a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/serialization/AttributeDeserializer.java
+++ 
b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/serialization/AttributeDeserializer.java
@@ -63,7 +63,7 @@ class AttributeDeserializer extends 
JsonDeserializer<Attribute> {
                 if (text.startsWith(AttributeSerializer.BYTE_ARRAY_PREFIX)
                         && 
text.endsWith(AttributeSerializer.BYTE_ARRAY_SUFFIX)) {
 
-                    
values.add(Base64.getMimeDecoder().decode(StringUtils.substringBetween(
+                    
values.add(Base64.getDecoder().decode(StringUtils.substringBetween(
                             text, AttributeSerializer.BYTE_ARRAY_PREFIX, 
AttributeSerializer.BYTE_ARRAY_SUFFIX)));
                 } else {
                     values.add(text);

http://git-wip-us.apache.org/repos/asf/syncope/blob/3f9c71c2/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/serialization/AttributeSerializer.java
----------------------------------------------------------------------
diff --git 
a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/serialization/AttributeSerializer.java
 
b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/serialization/AttributeSerializer.java
index 5ca1b73..10d0d2d 100644
--- 
a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/serialization/AttributeSerializer.java
+++ 
b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/serialization/AttributeSerializer.java
@@ -61,7 +61,7 @@ class AttributeSerializer extends JsonSerializer<Attribute> {
                 } else if (value instanceof byte[]) {
                     jgen.writeString(
                             BYTE_ARRAY_PREFIX
-                            + Base64.getMimeEncoder().encodeToString((byte[]) 
value)
+                            + Base64.getEncoder().encodeToString((byte[]) 
value)
                             + BYTE_ARRAY_SUFFIX);
                 } else {
                     jgen.writeString(value.toString());

http://git-wip-us.apache.org/repos/asf/syncope/blob/3f9c71c2/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/serialization/GuardedStringDeserializer.java
----------------------------------------------------------------------
diff --git 
a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/serialization/GuardedStringDeserializer.java
 
b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/serialization/GuardedStringDeserializer.java
index c6251b1..af4378a 100644
--- 
a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/serialization/GuardedStringDeserializer.java
+++ 
b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/serialization/GuardedStringDeserializer.java
@@ -50,7 +50,7 @@ class GuardedStringDeserializer extends 
JsonDeserializer<GuardedString> {
         }
         byte[] encryptedBytes = null;
         if (tree.has("encryptedBytes")) {
-            encryptedBytes = 
Base64.getMimeDecoder().decode(tree.get("encryptedBytes").asText());
+            encryptedBytes = 
Base64.getDecoder().decode(tree.get("encryptedBytes").asText());
         }
         String base64SHA1Hash = null;
         if (tree.has("base64SHA1Hash")) {

http://git-wip-us.apache.org/repos/asf/syncope/blob/3f9c71c2/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/serialization/GuardedStringSerializer.java
----------------------------------------------------------------------
diff --git 
a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/serialization/GuardedStringSerializer.java
 
b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/serialization/GuardedStringSerializer.java
index d55ca9f..26eec0a 100644
--- 
a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/serialization/GuardedStringSerializer.java
+++ 
b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/serialization/GuardedStringSerializer.java
@@ -62,7 +62,7 @@ class GuardedStringSerializer extends 
JsonSerializer<GuardedString> {
 
         byte[] encryptedBytes =
                 
EncryptorFactory.getInstance().getDefaultEncryptor().encrypt(SecurityUtil.decrypt(source).getBytes());
-        jgen.writeStringField("encryptedBytes", 
Base64.getMimeEncoder().encodeToString(encryptedBytes));
+        jgen.writeStringField("encryptedBytes", 
Base64.getEncoder().encodeToString(encryptedBytes));
 
         String base64SHA1Hash = null;
         try {

http://git-wip-us.apache.org/repos/asf/syncope/blob/3f9c71c2/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/serialization/SyncTokenDeserializer.java
----------------------------------------------------------------------
diff --git 
a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/serialization/SyncTokenDeserializer.java
 
b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/serialization/SyncTokenDeserializer.java
index e6ee79d..e2a2e2d 100644
--- 
a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/serialization/SyncTokenDeserializer.java
+++ 
b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/serialization/SyncTokenDeserializer.java
@@ -53,7 +53,7 @@ class SyncTokenDeserializer extends 
JsonDeserializer<SyncToken> {
             if (value instanceof String) {
                 String base64 = (String) value;
                 try {
-                    value = Base64.getMimeDecoder().decode(base64);
+                    value = Base64.getDecoder().decode(base64);
                 } catch (RuntimeException e) {
                     value = base64;
                 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/3f9c71c2/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/serialization/SyncTokenSerializer.java
----------------------------------------------------------------------
diff --git 
a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/serialization/SyncTokenSerializer.java
 
b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/serialization/SyncTokenSerializer.java
index 0644d8f..b96c6d2 100644
--- 
a/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/serialization/SyncTokenSerializer.java
+++ 
b/core/provisioning-api/src/main/java/org/apache/syncope/core/provisioning/api/serialization/SyncTokenSerializer.java
@@ -46,7 +46,7 @@ class SyncTokenSerializer extends JsonSerializer<SyncToken> {
         } else if (source.getValue() instanceof Integer) {
             jgen.writeNumber((Integer) source.getValue());
         } else if (source.getValue() instanceof byte[]) {
-            jgen.writeString(Base64.getMimeEncoder().encodeToString((byte[]) 
source.getValue()));
+            jgen.writeString(Base64.getEncoder().encodeToString((byte[]) 
source.getValue()));
         } else {
             jgen.writeString(source.getValue().toString());
         }

http://git-wip-us.apache.org/repos/asf/syncope/blob/3f9c71c2/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/report/ReconciliationReportlet.java
----------------------------------------------------------------------
diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/report/ReconciliationReportlet.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/report/ReconciliationReportlet.java
index 2e973b0..9b5f6eb 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/report/ReconciliationReportlet.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/report/ReconciliationReportlet.java
@@ -264,7 +264,7 @@ public class ReconciliationReportlet extends 
AbstractReportlet {
         } else if (attr.getValue().get(0) instanceof byte[]) {
             values = new HashSet<>(attr.getValue().size());
             attr.getValue().forEach(single -> {
-                values.add(Base64.getMimeEncoder().encode((byte[]) single));
+                values.add(Base64.getEncoder().encode((byte[]) single));
             });
         } else {
             values = new HashSet<>(attr.getValue());

http://git-wip-us.apache.org/repos/asf/syncope/blob/3f9c71c2/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/LDAPPasswordPropagationActions.java
----------------------------------------------------------------------
diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/LDAPPasswordPropagationActions.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/LDAPPasswordPropagationActions.java
index 0828bb6..08d4c7a 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/LDAPPasswordPropagationActions.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/LDAPPasswordPropagationActions.java
@@ -72,7 +72,7 @@ public class LDAPPasswordPropagationActions implements 
PropagationActions {
 
                     String password = user.getPassword().toLowerCase();
                     byte[] decodedPassword = 
DatatypeConverter.parseHexBinary(password);
-                    String base64EncodedPassword = 
Base64.getMimeEncoder().encodeToString(decodedPassword);
+                    String base64EncodedPassword = 
Base64.getEncoder().encodeToString(decodedPassword);
 
                     String cipherPlusPassword = ("{" + 
cipherAlgorithm.toLowerCase() + "}" + base64EncodedPassword);
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/3f9c71c2/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/LDAPPasswordPullActions.java
----------------------------------------------------------------------
diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/LDAPPasswordPullActions.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/LDAPPasswordPullActions.java
index ac3ddfa..0761e09 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/LDAPPasswordPullActions.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/pushpull/LDAPPasswordPullActions.java
@@ -112,7 +112,7 @@ public class LDAPPasswordPullActions implements PullActions 
{
         if (entity instanceof UserTO && encodedPassword != null && cipher != 
null) {
             User user = userDAO.find(entity.getKey());
             if (user != null) {
-                byte[] encodedPasswordBytes = 
Base64.getMimeDecoder().decode(encodedPassword.getBytes());
+                byte[] encodedPasswordBytes = 
Base64.getDecoder().decode(encodedPassword.getBytes());
                 String encodedHexStr = 
DatatypeConverter.printHexBinary(encodedPasswordBytes).toUpperCase();
 
                 user.setEncodedPassword(encodedHexStr, cipher);

http://git-wip-us.apache.org/repos/asf/syncope/blob/3f9c71c2/core/spring/src/main/java/org/apache/syncope/core/spring/security/Encryptor.java
----------------------------------------------------------------------
diff --git 
a/core/spring/src/main/java/org/apache/syncope/core/spring/security/Encryptor.java
 
b/core/spring/src/main/java/org/apache/syncope/core/spring/security/Encryptor.java
index ee802b0..e47d62e 100644
--- 
a/core/spring/src/main/java/org/apache/syncope/core/spring/security/Encryptor.java
+++ 
b/core/spring/src/main/java/org/apache/syncope/core/spring/security/Encryptor.java
@@ -180,7 +180,7 @@ public final class Encryptor {
                 final Cipher cipher = 
Cipher.getInstance(CipherAlgorithm.AES.getAlgorithm());
                 cipher.init(Cipher.ENCRYPT_MODE, keySpec);
 
-                encodedValue = new 
String(Base64.getMimeEncoder().encode(cipher.doFinal(cleartext)));
+                encodedValue = new 
String(Base64.getEncoder().encode(cipher.doFinal(cleartext)));
             } else if (cipherAlgorithm == CipherAlgorithm.BCRYPT) {
                 encodedValue = BCrypt.hashpw(value, BCrypt.gensalt());
             } else {
@@ -223,7 +223,7 @@ public final class Encryptor {
             final Cipher cipher = 
Cipher.getInstance(CipherAlgorithm.AES.getAlgorithm());
             cipher.init(Cipher.DECRYPT_MODE, keySpec);
 
-            value = new 
String(cipher.doFinal(Base64.getMimeDecoder().decode(encoded)), 
StandardCharsets.UTF_8);
+            value = new 
String(cipher.doFinal(Base64.getDecoder().decode(encoded)), 
StandardCharsets.UTF_8);
         }
 
         return value;

http://git-wip-us.apache.org/repos/asf/syncope/blob/3f9c71c2/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/AbstractUserWorkflowAdapter.java
----------------------------------------------------------------------
diff --git 
a/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/AbstractUserWorkflowAdapter.java
 
b/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/AbstractUserWorkflowAdapter.java
index c5a9c3a..4188ea7 100644
--- 
a/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/AbstractUserWorkflowAdapter.java
+++ 
b/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/AbstractUserWorkflowAdapter.java
@@ -53,12 +53,12 @@ public abstract class AbstractUserWorkflowAdapter 
implements UserWorkflowAdapter
 
     protected String encrypt(final String clear) {
         byte[] encrypted = 
EncryptorFactory.getInstance().getDefaultEncryptor().encrypt(clear.getBytes());
-        return Base64.getMimeEncoder().encodeToString(encrypted);
+        return Base64.getEncoder().encodeToString(encrypted);
     }
 
     protected String decrypt(final String crypted) {
         byte[] decrypted = 
EncryptorFactory.getInstance().getDefaultEncryptor().
-                decrypt(Base64.getMimeDecoder().decode(crypted));
+                decrypt(Base64.getDecoder().decode(crypted));
         return new String(decrypted);
     }
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/3f9c71c2/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java
----------------------------------------------------------------------
diff --git 
a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java
 
b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java
index 5d679f7..e89d410 100644
--- 
a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java
+++ 
b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/UserIssuesITCase.java
@@ -681,7 +681,7 @@ public class UserIssuesITCase extends AbstractITCase {
         // 2. create user with membership of the above group
         UserTO userTO = 
UserITCase.getUniqueSampleTO("syncope...@syncope.apache.org");
         userTO.getPlainAttrs().add(attrTO("obscure", "valueToBeObscured"));
-        userTO.getPlainAttrs().add(attrTO("photo", 
Base64.getMimeEncoder().encodeToString(
+        userTO.getPlainAttrs().add(attrTO("photo", 
Base64.getEncoder().encodeToString(
                 
IOUtils.readBytesFromStream(getClass().getResourceAsStream("/favicon.jpg")))));
         userTO.getMemberships().add(new 
MembershipTO.Builder().group(groupTO.getKey()).build());
 
@@ -699,10 +699,7 @@ public class UserIssuesITCase extends AbstractITCase {
         assertEquals(userTO.getPlainAttr("obscure").get().getValues(), 
registeredAddress.getValues());
         Optional<AttrTO> jpegPhoto = connObj.getAttr("jpegPhoto");
         assertTrue(jpegPhoto.isPresent());
-        // difference between java.util.Base64 encoding and ConnId's
-        assertEquals(
-                
userTO.getPlainAttr("photo").get().getValues().get(0).replace("\n", 
"").replace("\r", ""),
-                jpegPhoto.get().getValues().get(0));
+        assertEquals(userTO.getPlainAttr("photo").get().getValues().get(0), 
jpegPhoto.get().getValues().get(0));
 
         // 4. remove group
         groupService.delete(groupTO.getKey());

Reply via email to