From 7b195ff84825ea09d70c6e05704cff02f3e0be28 Mon Sep 17 00:00:00 2001 From: Sanjay Dalal Date: Tue, 6 Apr 2010 19:32:11 +0000 Subject: [PATCH] CSPACE-1402 removed double b64 encoding in test and double b64 decoding from the service test: account tests M account/service/src/main/java/org/collectionspace/services/account/storage/AccountStorageClient.java M account/client/src/test/java/org/collectionspace/services/account/client/test/AccountServiceTest.java --- .../account/client/test/AccountServiceTest.java | 14 ++++++++++++-- .../account/storage/AccountStorageClient.java | 7 ++++--- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/services/account/client/src/test/java/org/collectionspace/services/account/client/test/AccountServiceTest.java b/services/account/client/src/test/java/org/collectionspace/services/account/client/test/AccountServiceTest.java index c5b510e2f..3c5f92d97 100644 --- a/services/account/client/src/test/java/org/collectionspace/services/account/client/test/AccountServiceTest.java +++ b/services/account/client/src/test/java/org/collectionspace/services/account/client/test/AccountServiceTest.java @@ -874,7 +874,6 @@ public class AccountServiceTest extends AbstractServiceTestImpl { } - // --------------------------------------------------------------- // Utility methods used by tests above // --------------------------------------------------------------- @@ -902,8 +901,19 @@ public class AccountServiceTest extends AbstractServiceTestImpl { account.setUserId(userName); } if (usePassword) { - account.setPassword(Base64.encodeBase64(passwd.getBytes())); + //jaxb marshaller already b64 encodes the xs:base64Binary types + //no need to double encode +// byte[] b64pass = Base64.encodeBase64(passwd.getBytes()); +// account.setPassword(b64pass); + if (logger.isDebugEnabled()) { + logger.debug("user=" + userName + " password=" + passwd + + " password length=" + passwd.getBytes().length); +// + } + //jaxb encodes password too + account.setPassword(passwd.getBytes()); } + account.setPersonRefName(screenName); account.setEmail(email); account.setPhone("1234567890"); diff --git a/services/account/service/src/main/java/org/collectionspace/services/account/storage/AccountStorageClient.java b/services/account/service/src/main/java/org/collectionspace/services/account/storage/AccountStorageClient.java index 68b9545f7..db960b1a4 100644 --- a/services/account/service/src/main/java/org/collectionspace/services/account/storage/AccountStorageClient.java +++ b/services/account/service/src/main/java/org/collectionspace/services/account/storage/AccountStorageClient.java @@ -320,10 +320,11 @@ public class AccountStorageClient extends JpaStorageClientImpl { } private String getEncPassword(AccountsCommon account) { - byte[] bpass = Base64.decodeBase64(account.getPassword()); - SecurityUtils.validatePassword(new String(bpass)); + //jaxb unmarshaller already unmarshal xs:base64Binary, no need to b64 decode + //byte[] bpass = Base64.decodeBase64(account.getPassword()); + SecurityUtils.validatePassword(new String(account.getPassword())); String secEncPasswd = SecurityUtils.createPasswordHash( - account.getUserId(), new String(bpass)); + account.getUserId(), new String(account.getPassword())); return secEncPasswd; } -- 2.47.3