diff options
Diffstat (limited to 'pki/base/console/src/com/netscape/admin/certsrv/connection/AdminConnection.java')
-rw-r--r-- | pki/base/console/src/com/netscape/admin/certsrv/connection/AdminConnection.java | 42 |
1 files changed, 39 insertions, 3 deletions
diff --git a/pki/base/console/src/com/netscape/admin/certsrv/connection/AdminConnection.java b/pki/base/console/src/com/netscape/admin/certsrv/connection/AdminConnection.java index fac27f31d..db31aa09e 100644 --- a/pki/base/console/src/com/netscape/admin/certsrv/connection/AdminConnection.java +++ b/pki/base/console/src/com/netscape/admin/certsrv/connection/AdminConnection.java @@ -27,8 +27,6 @@ import com.netscape.management.client.util.*; import com.netscape.management.client.*; import com.netscape.management.client.preferences.*; -import com.netscape.osutil.OSUtil; - /** * This class represents an administration connection shell * to the certificate server. The user need to specify the @@ -139,6 +137,44 @@ public class AdminConnection { } /*========================================================== + * private methods + *==========================================================*/ + + private String b64encode (byte[] data) { + int i, k, n; + int len = data.length; + byte b; + StringBuffer b64 = new StringBuffer(); + String base64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + + for (i = 0; i < len; i += 3) { + byte d0 = data[i]; + byte d1 = (i+1<len)? data[i+1]: (byte)0; + byte d2 = (i+2<len)? data[i+2]: (byte)0; + b = (byte)((d0 & (byte)0xFC) >>> 2); + b64.append(base64.charAt((int)b)); + b = (byte)(((d0 & 0x03) << 4) | ((d1 & 0xF0) >>> 4)); + b64.append(base64.charAt((int)b)); + b = (byte)(((d1 & 0x0F) << 2) | ((d2 & 0xC0) >>> 6)); + if (i+1 < len) { + b64.append(base64.charAt((int)b)); + } else { + b64.append('='); + } + b = (byte)(d2 & 0x3F); + if (i+2 < len) { + b64.append(base64.charAt((int)b)); + } else { + b64.append('='); + } + } + + b64.append('\n'); + + return b64.toString(); + } + + /*========================================================== * public methods *==========================================================*/ @@ -713,7 +749,7 @@ public class AdminConnection { // encoder.encodeBuffer((auth.getUserid() + // ":" + auth.getPassword()).getBytes()) + "\n"); sb.append("Authorization: Basic " + - OSUtil.BtoA((auth.getUserid() + + b64encode((auth.getUserid() + ":" + auth.getPassword()).getBytes()) + "\n"); } else if (mAuthType.equals("sslclientauth")) { sb.append("\n"); |