diff options
| author | Bhupendra Bhusman Bhardwaj <bhupendrab@apache.org> | 2007-04-20 10:42:52 +0000 |
|---|---|---|
| committer | Bhupendra Bhusman Bhardwaj <bhupendrab@apache.org> | 2007-04-20 10:42:52 +0000 |
| commit | 6cfd8a3db4ff30fe28d7f4909e7f1ff236ef1b8a (patch) | |
| tree | a501352af36f5ef2b66e440c37ea8c90bf1e02f7 /java/management/eclipse-plugin | |
| parent | 0301b999ca82f6f66e2159d2aad4bad376cb2cab (diff) | |
| download | qpid-python-6cfd8a3db4ff30fe28d7f4909e7f1ff236ef1b8a.tar.gz | |
QPID-445 : md5 hashed password will be sent from management console to Qpid
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/M2@530734 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/management/eclipse-plugin')
2 files changed, 45 insertions, 23 deletions
diff --git a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/OperationTabControl.java b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/OperationTabControl.java index 2ac037e4f0..60d8f7920d 100644 --- a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/OperationTabControl.java +++ b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/OperationTabControl.java @@ -31,6 +31,7 @@ import javax.management.openmbean.CompositeData; import javax.management.openmbean.TabularDataSupport; import static org.apache.qpid.management.ui.Constants.*; + import org.apache.qpid.management.ui.ApplicationRegistry; import org.apache.qpid.management.ui.ManagedBean; import org.apache.qpid.management.ui.jmx.MBeanUtility; @@ -337,10 +338,17 @@ public class OperationTabControl extends TabControl // display the parameter data type next to the text field if (valueInCombo) + { label = _toolkit.createLabel(_paramsComposite, ""); + } + else if (PASSWORD.equalsIgnoreCase(param.getName())) + { + label = _toolkit.createLabel(_paramsComposite, "(String)"); + } else { - String str = param.getType() ; + String str = param.getType(); + if (param.getType().lastIndexOf(".") != -1) str = param.getType().substring(1 + param.getType().lastIndexOf(".")); @@ -581,34 +589,32 @@ public class OperationTabControl extends TabControl } // End of custom code - - // customized for passwords - if (PASSWORD.equalsIgnoreCase(param.getName())) + ViewUtility.popupInfoMessage(_form.getText(), "Please select the " + ViewUtility.getDisplayText(param.getName())); + return; + } + + // customized for passwords + String securityMechanism = ApplicationRegistry.getSecurityMechanism(); + if ((MECH_CRAMMD5.equals(securityMechanism)) && PASSWORD.equalsIgnoreCase(param.getName())) + { + try { - try - { - param.setValueFromString(ViewUtility.getHashedString(param.getValue())); - } - catch (Exception ex) - { - MBeanUtility.handleException(_mbean, ex); - return; - } + param.setValue(ViewUtility.getMD5HashedCharArray(param.getValue())); + } + catch (Exception ex) + { + MBeanUtility.handleException(_mbean, ex); + return; } - // end of customization - ViewUtility.popupInfoMessage(_form.getText(), - "Please select the " + ViewUtility.getDisplayText(param.getName())); - - return; } + // end of customization } } if (_opData.getImpact() == OPERATION_IMPACT_ACTION) { String bean = _mbean.getName() == null ? _mbean.getType() : _mbean.getName(); - int response = ViewUtility.popupConfirmationMessage(bean, - "Do you want to " + _form.getText()+ " ?"); + int response = ViewUtility.popupConfirmationMessage(bean, "Do you want to " + _form.getText()+ " ?"); if (response == SWT.YES) { executeAndShowResults(); diff --git a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java index 9b5cddd342..89ab360937 100644 --- a/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java +++ b/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/ViewUtility.java @@ -560,10 +560,26 @@ public class ViewUtility } } - public static String getHashedString(Object text) throws NoSuchAlgorithmException, UnsupportedEncodingException + public static char[] getMD5HashedCharArray(Object text) throws NoSuchAlgorithmException, UnsupportedEncodingException { - char[] chars = getHash((String)text); - return new String(chars); + byte[] data = ((String)text).getBytes("utf-8"); + + MessageDigest md = MessageDigest.getInstance("MD5"); + + for (byte b : data) + { + md.update(b); + } + + byte[] digest = md.digest(); + + char[] byteArray = new char[digest.length]; + int index = 0; + for (byte b : digest) + { + byteArray[index++] = (char)b; + } + return byteArray; } public static char[] getHash(String text) throws NoSuchAlgorithmException, UnsupportedEncodingException |
