Do not use javax.bind in encrypt-service
[aaa.git] / aaa-encrypt-service / impl / src / main / java / org / opendaylight / aaa / encrypt / impl / AAAEncryptionServiceImpl.java
index f7fbf81b40438d960b6626b736e38c535102403c..045a8268ee7f71ce828945f72aab4bec3ed7e55d 100644 (file)
@@ -27,7 +27,6 @@ import javax.crypto.SecretKeyFactory;
 import javax.crypto.spec.IvParameterSpec;
 import javax.crypto.spec.PBEKeySpec;
 import javax.crypto.spec.SecretKeySpec;
-import javax.xml.bind.DatatypeConverter;
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.parsers.ParserConfigurationException;
@@ -136,7 +135,7 @@ public class AAAEncryptionServiceImpl implements AAAEncryptionService {
             LOG.error("Failed to encrypt data.", e);
             return data;
         }
-        return DatatypeConverter.printBase64Binary(cryptobytes);
+        return Base64.getEncoder().encodeToString(cryptobytes);
     }
 
     @Override
@@ -163,14 +162,16 @@ public class AAAEncryptionServiceImpl implements AAAEncryptionService {
             LOG.warn("String {} was not decrypted.", encryptedData);
             return encryptedData;
         }
+
+        final byte[] cryptobytes = Base64.getDecoder().decode(encryptedData);
+        final byte[] clearbytes;
         try {
-            byte[] cryptobytes = DatatypeConverter.parseBase64Binary(encryptedData);
-            byte[] clearbytes = decryptCipher.doFinal(cryptobytes);
-            return new String(clearbytes, Charset.defaultCharset());
+            clearbytes = decryptCipher.doFinal(cryptobytes);
         } catch (IllegalBlockSizeException | BadPaddingException e) {
             LOG.error("Failed to decrypt encoded data", e);
+            return encryptedData;
         }
-        return encryptedData;
+        return new String(clearbytes, Charset.defaultCharset());
     }
 
     @Override