X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.enterprise%2Fsrc%2Forg%2Fargeo%2Fosgi%2Fuseradmin%2FAuthenticatingUser.java;h=6bf1441b504fa5c9671d84818beeb42379601783;hb=5f9c452b6e14d827280eafaa9f9f9bc789b02fa1;hp=2689d34fcae39c4d6b55738955aeab59d6d5697b;hpb=bccc0c30378146a2ad4f6d8acd179697578d5dc2;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.enterprise/src/org/argeo/osgi/useradmin/AuthenticatingUser.java b/org.argeo.enterprise/src/org/argeo/osgi/useradmin/AuthenticatingUser.java index 2689d34fc..6bf1441b5 100644 --- a/org.argeo.enterprise/src/org/argeo/osgi/useradmin/AuthenticatingUser.java +++ b/org.argeo.enterprise/src/org/argeo/osgi/useradmin/AuthenticatingUser.java @@ -1,9 +1,5 @@ package org.argeo.osgi.useradmin; -import java.nio.ByteBuffer; -import java.nio.CharBuffer; -import java.nio.charset.Charset; -import java.util.Arrays; import java.util.Dictionary; import java.util.Hashtable; @@ -38,7 +34,7 @@ public class AuthenticatingUser implements User { this.name = name; credentials = new Hashtable<>(); credentials.put(SHARED_STATE_NAME, name); - byte[] pwd = charsToBytes(password); + byte[] pwd = DigestUtils.charsToBytes(password); credentials.put(SHARED_STATE_PWD, pwd); } @@ -69,22 +65,4 @@ public class AuthenticatingUser implements User { throw new UnsupportedOperationException(); } - static byte[] charsToBytes(char[] chars) { - CharBuffer charBuffer = CharBuffer.wrap(chars); - ByteBuffer byteBuffer = Charset.forName("UTF-8").encode(charBuffer); - byte[] bytes = Arrays.copyOfRange(byteBuffer.array(), byteBuffer.position(), byteBuffer.limit()); - Arrays.fill(charBuffer.array(), '\u0000'); // clear sensitive data - Arrays.fill(byteBuffer.array(), (byte) 0); // clear sensitive data - return bytes; - } - - static char[] bytesToChars(byte[] bytes) { - ByteBuffer byteBuffer = ByteBuffer.wrap(bytes); - CharBuffer charBuffer = Charset.forName("UTF-8").decode(byteBuffer); - char[] chars = Arrays.copyOfRange(charBuffer.array(), charBuffer.position(), charBuffer.limit()); - Arrays.fill(charBuffer.array(), '\u0000'); // clear sensitive data - Arrays.fill(byteBuffer.array(), (byte) 0); // clear sensitive data - return chars; - } - }