You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wss4j-dev@ws.apache.org by we...@apache.org on 2006/03/10 17:24:35 UTC

svn commit: r384841 - /webservices/wss4j/trunk/src/org/apache/ws/security/message/token/UsernameToken.java

Author: werner
Date: Fri Mar 10 08:24:33 2006
New Revision: 384841

URL: http://svn.apache.org/viewcvs?rev=384841&view=rev
Log:
Code cleanup only.

Modified:
    webservices/wss4j/trunk/src/org/apache/ws/security/message/token/UsernameToken.java

Modified: webservices/wss4j/trunk/src/org/apache/ws/security/message/token/UsernameToken.java
URL: http://svn.apache.org/viewcvs/webservices/wss4j/trunk/src/org/apache/ws/security/message/token/UsernameToken.java?rev=384841&r1=384840&r2=384841&view=diff
==============================================================================
--- webservices/wss4j/trunk/src/org/apache/ws/security/message/token/UsernameToken.java (original)
+++ webservices/wss4j/trunk/src/org/apache/ws/security/message/token/UsernameToken.java Fri Mar 10 08:24:33 2006
@@ -404,25 +404,7 @@
                 this.elementPassword.setAttribute("Type",
                         WSConstants.PASSWORD_TEXT);
             } else {
-                byte[] b1 = Base64.decode(getNonce());
-                byte[] b2 = getCreated().getBytes("UTF-8");
-                byte[] b3 = pwd.getBytes("UTF-8");
-                byte[] b4 = new byte[b1.length + b2.length + b3.length];
-                int i = 0;
-                int count = 0;
-                for (i = 0; i < b1.length; i++) {
-                    b4[count++] = b1[i];
-                }
-                for (i = 0; i < b2.length; i++) {
-                    b4[count++] = b2[i];
-                }
-                for (i = 0; i < b3.length; i++) {
-                    b4[count++] = b3[i];
-                }
-                MessageDigest sha = MessageDigest.getInstance("SHA-1");
-                sha.reset();
-                sha.update(b4);
-                node.setData(Base64.encode(sha.digest()));
+                node.setData(doPasswordDigest(getNonce(), getCreated(), pwd));
                 this.elementPassword.setAttribute("Type",
                         WSConstants.PASSWORD_DIGEST);
             }
@@ -440,16 +422,15 @@
             byte[] b3 = password.getBytes("UTF-8");
             byte[] b4 = new byte[b1.length + b2.length + b3.length];
             int i = 0;
-            int count = 0;
-            for (i = 0; i < b1.length; i++) {
-                b4[count++] = b1[i];
-            }
-            for (i = 0; i < b2.length; i++) {
-                b4[count++] = b2[i];
-            }
-            for (i = 0; i < b3.length; i++) {
-                b4[count++] = b3[i];
-            }
+            int offset = 0;
+            System.arraycopy(b1, 0, b4, offset, b1.length);
+            offset += b1.length;
+            
+            System.arraycopy(b2, 0, b4, offset, b2.length);
+            offset += b2.length;
+
+            System.arraycopy(b3, 0, b4, offset, b3.length);
+            
             MessageDigest sha = MessageDigest.getInstance("SHA-1");
             sha.reset();
             sha.update(b4);
@@ -534,7 +515,7 @@
     }
 
     /**
-     * Gets the secret key as per WS-Trust spec. This mthod uses default setting
+     * Gets the secret key as per WS-Trust spec. This method uses default setting
      * to generate the secret key. These default values are suitable for .NET
      * WSE.
      * 
@@ -565,17 +546,16 @@
             byte[] nonce = Base64.decode(getNonce());
             byte[] created = getCreated().getBytes("UTF-8");
             byte[] seed = new byte[label.length + nonce.length + created.length];
-            int i = 0;
-            int count = 0;
-            for (i = 0; i < label.length; i++) {
-                seed[count++] = label[i];
-            }
-            for (i = 0; i < nonce.length; i++) {
-                seed[count++] = nonce[i];
-            }
-            for (i = 0; i < created.length; i++) {
-                seed[count++] = created[i];
-            }
+
+            int offset = 0;
+            System.arraycopy(label, 0, seed, offset, label.length);
+            offset += label.length;
+            
+            System.arraycopy(nonce, 0, seed, offset, nonce.length);
+            offset += nonce.length;
+
+            System.arraycopy(created, 0, seed, offset, created.length);
+            
             key = P_hash(password, seed, mac, keylen);
 
             if (log.isDebugEnabled()) {



---------------------------------------------------------------------
To unsubscribe, e-mail: wss4j-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: wss4j-dev-help@ws.apache.org