Author: alexoree
Date: Sun Aug 18 22:28:07 2013
New Revision: 1515236

URL: http://svn.apache.org/r1515236
Log:
JUDDI-635 Added encryptable credentials for juddi-client (java) config files, 
unit tests. updated schema file that identifies which attributes to add to 
identify a particular password as encrypted.

Added:
    
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/AES128Cryptor.java
      - copied, changed from r1508197, 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/cryptor/AES128Cryptor.java
    
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/AES256Cryptor.java
      - copied, changed from r1505003, 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/cryptor/AES256Cryptor.java
    
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/AESCryptorAbstract.java
      - copied, changed from r1508205, 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/cryptor/AESCryptorAbstract.java
    
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/Cryptor.java
      - copied, changed from r1505003, 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/cryptor/Cryptor.java
    
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/CryptorFactory.java
      - copied, changed from r1502981, 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/cryptor/CryptorFactory.java
    
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/CrytorUtil.java
      - copied, changed from r1502981, 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/v3/auth/CrytorUtil.java
    
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/DefaultCryptor.java
      - copied, changed from r1505003, 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/cryptor/DefaultCryptor.java
    
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/TripleDESCrytor.java
      - copied, changed from r1505003, 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/cryptor/TripleDESCrytor.java
    juddi/trunk/juddi-client/src/test/java/org/apache/juddi/v3/client/config/
    
juddi/trunk/juddi-client/src/test/java/org/apache/juddi/v3/client/config/CryptoConfigTest.java
    juddi/trunk/juddi-client/src/test/resources/META-INF/uddi3-enc-aes128.xml
      - copied, changed from r1492918, 
juddi/trunk/juddi-client/src/test/resources/META-INF/uddi2.xml
Modified:
    juddi/trunk/bin/cryptor-dev.bat
    juddi/trunk/bin/md5cryptdev.bat
    
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/ClientConfig.java
    
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/Property.java
    
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java
    juddi/trunk/juddi-client/src/main/resources/xsd/uddi-client.xsd
    juddi/trunk/juddi-client/src/test/resources/META-INF/uddi2.xml

Modified: juddi/trunk/bin/cryptor-dev.bat
URL: 
http://svn.apache.org/viewvc/juddi/trunk/bin/cryptor-dev.bat?rev=1515236&r1=1515235&r2=1515236&view=diff
==============================================================================
--- juddi/trunk/bin/cryptor-dev.bat (original)
+++ juddi/trunk/bin/cryptor-dev.bat Sun Aug 18 22:28:07 2013
@@ -3,5 +3,5 @@ rem java -cp ../juddi-tomcat/target/tomc
 
 rem java -cp 
../juddi-tomcat/target/tomcat/apache-tomcat-6.0.26/webapps/juddi-gui/WEB-INF/lib;../juddi-tomcat/target/tomcat/apache-tomcat-6.0.26/webapps/juddi-gui/WEB-INF/lib/*;../juddi-tomcat/target/tomcat/apache-tomcat-6.0.26/lib/*
 org.apache.juddi.v3.auth.CrytorUtil org.apache.juddi.cryptor.DefaultCryptor
 
-cd 
../juddi-tomcat/target/tomcat/apache-tomcat-6.0.26/webapps/juddiv3/WEB-INF/lib
-java -cp .;./* org.apache.juddi.v3.auth.CrytorUtil
\ No newline at end of file
+rem cd 
../juddi-tomcat/target/tomcat/apache-tomcat-6.0.26/webapps/juddiv3/WEB-INF/lib
+java -cp 
../juddi-tomcat/target/tomcat/apache-tomcat-6.0.26/webapps/juddiv3/WEB-INF/lib;../juddi-tomcat/target/tomcat/apache-tomcat-6.0.26/webapps/juddiv3/WEB-INF/lib/*
 org.apache.juddi.v3.auth.CrytorUtil %*
\ No newline at end of file

Modified: juddi/trunk/bin/md5cryptdev.bat
URL: 
http://svn.apache.org/viewvc/juddi/trunk/bin/md5cryptdev.bat?rev=1515236&r1=1515235&r2=1515236&view=diff
==============================================================================
--- juddi/trunk/bin/md5cryptdev.bat (original)
+++ juddi/trunk/bin/md5cryptdev.bat Sun Aug 18 22:28:07 2013
@@ -1 +1 @@
-java -cp 
../juddi-tomcat/target/tomcat/apache-tomcat-6.0.26/webapps/juddiv3/WEB-INF/lib/*;
 org.apache.juddi.v3.auth.MD5XMLDocAuthenticator
\ No newline at end of file
+java -cp 
../juddi-tomcat/target/tomcat/apache-tomcat-6.0.26/webapps/juddiv3/WEB-INF/lib/juddi-core-3.2.0-SNAPSHOT.jar;../juddi-tomcat/target/tomcat/apache-tomcat-6.0.26/webapps/juddiv3/WEB-INF/lib/uddi-ws-3.2.0-SNAPSHOT.jar;../juddi-tomcat/target/tomcat/apache-tomcat-6.0.26/webapps/juddiv3/WEB-INF/lib/commons-logging-api-1.1.jar;../juddi-tomcat/target/tomcat/apache-tomcat-6.0.26/webapps/juddiv3/WEB-INF/lib/commons-configuration-1.6.jar;../juddi-tomcat/target/tomcat/apache-tomcat-6.0.26/webapps/juddiv3/WEB-INF/lib/commons-lang-2.4.jar;../juddi-tomcat/target/tomcat/apache-tomcat-6.0.26/webapps/juddiv3/WEB-INF/lib/commons-collections-3.2.1.jar;../juddi-tomcat/target/tomcat/apache-tomcat-6.0.26/webapps/juddiv3/WEB-INF/lib/commons-codec-1.3.jar;
 org.apache.juddi.v3.auth.MD5XMLDocAuthenticator
\ No newline at end of file

Modified: 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/ClientConfig.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/ClientConfig.java?rev=1515236&r1=1515235&r2=1515236&view=diff
==============================================================================
--- 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/ClientConfig.java
 (original)
+++ 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/ClientConfig.java
 Sun Aug 18 22:28:07 2013
@@ -125,6 +125,8 @@ public class ClientConfig 
                                uddiClerk.setUDDINode(uddiNode);
                                
uddiClerk.setPublisher(config.getString("client.clerks.clerk(" + i + 
")[@publisher]"));
                                uddiClerk.setPassword( 
config.getString("client.clerks.clerk(" + i + ")[@password]"));
+                                
uddiClerk.setIsPasswordEncrypted(config.getBoolean("client.clerks.clerk(" + i + 
")[@isPasswordEncrypted]",false) );
+                                
uddiClerk.setCryptoProvider(config.getString("client.clerks.clerk(" + i + 
")[@cryptoProvider]"));
                                
                                String clerkBusinessKey = 
config.getString("client.clerks.clerk(" + i + ")[@businessKey]");
                                String clerkBusinessName = 
config.getString("client.clerks.clerk(" + i + ")[@businessName]");
@@ -207,6 +209,7 @@ public class ClientConfig 
                                }
                                uddiNode.setProperties(properties);
                        }
+
                        uddiNode.setHomeJUDDI(              
config.getBoolean("client.nodes.node(" + i +")[@isHomeJUDDI]",false));
                        uddiNode.setName(                   
TokenResolver.replaceTokens(config.getString("client.nodes.node(" + i 
+").name"),properties));
                        uddiNode.setClientName(             
TokenResolver.replaceTokens(config.getString("client[@name]"),properties));

Modified: 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/Property.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/Property.java?rev=1515236&r1=1515235&r2=1515236&view=diff
==============================================================================
--- 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/Property.java
 (original)
+++ 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/Property.java
 Sun Aug 18 22:28:07 2013
@@ -56,5 +56,10 @@ public class Property 
                }
                return tmpDir;
        }
+        
+        
+        public final static String DEFAULT_CRYPTOR = 
"org.apache.juddi.v3.client.crypto.DefaultCryptor";
+        public final static String JUDDI_CRYPTOR_PREFIX = 
"client.clerks.clerk.";
+        public final static String JUDDI_CRYPTOR_POSTFIX = 
".[@isPasswordEncrypted]";
 
 }

Modified: 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java?rev=1515236&r1=1515235&r2=1515236&view=diff
==============================================================================
--- 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java
 (original)
+++ 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java
 Sun Aug 18 22:28:07 2013
@@ -26,6 +26,8 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Properties;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 import javax.wsdl.Definition;
 import javax.xml.ws.Holder;
@@ -41,6 +43,7 @@ import org.apache.juddi.api_v3.NodeDetai
 import org.apache.juddi.api_v3.SaveClerk;
 import org.apache.juddi.api_v3.SaveNode;
 import org.apache.juddi.v3.client.UDDIConstants;
+import org.apache.juddi.v3.client.crypto.CryptorFactory;
 import org.apache.juddi.v3.client.mapping.ReadWSDL;
 import org.apache.juddi.v3.client.mapping.URLLocalizerDefaultImpl;
 import org.apache.juddi.v3.client.mapping.WSDL2UDDI;
@@ -92,6 +95,8 @@ public class UDDIClerk implements Serial
     protected String password;
     private Date tokenBirthDate;
     private String authToken;
+    private String cryptoProvider;
+    private boolean isencrypted=false;
     private String[] classWithAnnotations;
     private WSDL[] wsdls;
     private String managerName;
@@ -706,7 +711,25 @@ public class UDDIClerk implements Serial
             tokenBirthDate = new Date();
             GetAuthToken getAuthToken = new GetAuthToken();
             getAuthToken.setUserID(getPublisher());
-            getAuthToken.setCred(getPassword());
+            if (isencrypted )
+            {
+                if (cryptoProvider==null)
+                    log.fatal("Credentials are encrypted but no cryptoProvider 
was defined in the config file!");
+                else
+                {
+                    try {
+                        
getAuthToken.setCred(CryptorFactory.getCryptor(this.cryptoProvider).decrypt(getPassword()));
+                    } catch (Exception ex) {
+                        log.fatal("Unable to decrypt credentials! sending it 
as is", ex);
+                        getAuthToken.setCred(getPassword());
+                    }
+                }
+            }
+            else
+            {
+                log.warn("Hey, I couldn't help but notice that your 
credentials aren't encrypted. Please consider doing so");
+                getAuthToken.setCred(getPassword());
+            }
             authToken = 
getUDDINode().getTransport().getUDDISecurityService(endpointURL).getAuthToken(getAuthToken).getAuthInfo();
         }
         return authToken;
@@ -797,6 +820,23 @@ public class UDDIClerk implements Serial
         this.wsdls = wsdls;
     }
 
+   public void setCryptoProvider(String clazz) {
+        this.cryptoProvider = clazz;
+    }
+
+   public void setIsPasswordEncrypted(boolean option) {
+        this.isencrypted = option;
+    }
+
+   public String getCryptoProvider() {
+       return  this.cryptoProvider ;
+    }
+
+   public boolean setIsPasswordEncrypted() {
+        return this.isencrypted ;
+    }
+
+   
     public class WSDL {
 
         private String businessKey;

Copied: 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/AES128Cryptor.java
 (from r1508197, 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/cryptor/AES128Cryptor.java)
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/AES128Cryptor.java?p2=juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/AES128Cryptor.java&p1=juddi/trunk/juddi-core/src/main/java/org/apache/juddi/cryptor/AES128Cryptor.java&r1=1508197&r2=1515236&rev=1515236&view=diff
==============================================================================
--- 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/cryptor/AES128Cryptor.java
 (original)
+++ 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/AES128Cryptor.java
 Sun Aug 18 22:28:07 2013
@@ -14,7 +14,7 @@
  * limitations under the License.
  *
  */
-package org.apache.juddi.cryptor;
+package org.apache.juddi.v3.client.crypto;
 
 import java.security.InvalidAlgorithmParameterException;
 import java.security.InvalidKeyException;

Copied: 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/AES256Cryptor.java
 (from r1505003, 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/cryptor/AES256Cryptor.java)
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/AES256Cryptor.java?p2=juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/AES256Cryptor.java&p1=juddi/trunk/juddi-core/src/main/java/org/apache/juddi/cryptor/AES256Cryptor.java&r1=1505003&r2=1515236&rev=1515236&view=diff
==============================================================================
--- 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/cryptor/AES256Cryptor.java
 (original)
+++ 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/AES256Cryptor.java
 Sun Aug 18 22:28:07 2013
@@ -14,7 +14,7 @@
  * limitations under the License.
  *
  */
-package org.apache.juddi.cryptor;
+package org.apache.juddi.v3.client.crypto;
 
 import java.security.InvalidAlgorithmParameterException;
 import java.security.InvalidKeyException;

Copied: 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/AESCryptorAbstract.java
 (from r1508205, 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/cryptor/AESCryptorAbstract.java)
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/AESCryptorAbstract.java?p2=juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/AESCryptorAbstract.java&p1=juddi/trunk/juddi-core/src/main/java/org/apache/juddi/cryptor/AESCryptorAbstract.java&r1=1508205&r2=1515236&rev=1515236&view=diff
==============================================================================
--- 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/cryptor/AESCryptorAbstract.java
 (original)
+++ 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/AESCryptorAbstract.java
 Sun Aug 18 22:28:07 2013
@@ -14,7 +14,7 @@
  * limitations under the License.
  *
  */
-package org.apache.juddi.cryptor;
+package org.apache.juddi.v3.client.crypto;
 
 import java.security.InvalidAlgorithmParameterException;
 import java.security.InvalidKeyException;

Copied: 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/Cryptor.java
 (from r1505003, 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/cryptor/Cryptor.java)
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/Cryptor.java?p2=juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/Cryptor.java&p1=juddi/trunk/juddi-core/src/main/java/org/apache/juddi/cryptor/Cryptor.java&r1=1505003&r2=1515236&rev=1515236&view=diff
==============================================================================
--- juddi/trunk/juddi-core/src/main/java/org/apache/juddi/cryptor/Cryptor.java 
(original)
+++ 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/Cryptor.java
 Sun Aug 18 22:28:07 2013
@@ -15,7 +15,7 @@
  *
  */
 
-package org.apache.juddi.cryptor;
+package org.apache.juddi.v3.client.crypto;
 
 import java.security.InvalidAlgorithmParameterException;
 import java.security.InvalidKeyException;
@@ -24,6 +24,7 @@ import java.security.NoSuchAlgorithmExce
 import javax.crypto.BadPaddingException;
 import javax.crypto.IllegalBlockSizeException;
 import javax.crypto.NoSuchPaddingException;
+import org.apache.juddi.v3.client.config.UDDIClerk;
 
 /**
  * @author Anou Manavalan
@@ -59,5 +60,7 @@ public interface Cryptor
             IllegalBlockSizeException,
             BadPaddingException;
 
+    
+
   
 }
\ No newline at end of file

Copied: 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/CryptorFactory.java
 (from r1502981, 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/cryptor/CryptorFactory.java)
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/CryptorFactory.java?p2=juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/CryptorFactory.java&p1=juddi/trunk/juddi-core/src/main/java/org/apache/juddi/cryptor/CryptorFactory.java&r1=1502981&r2=1515236&rev=1515236&view=diff
==============================================================================
--- 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/cryptor/CryptorFactory.java
 (original)
+++ 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/CryptorFactory.java
 Sun Aug 18 22:28:07 2013
@@ -15,14 +15,15 @@
  *
  */
 
-package org.apache.juddi.cryptor;
+package org.apache.juddi.v3.client.crypto;
 
-import org.apache.commons.configuration.ConfigurationException;
+import java.util.HashMap;
+import java.util.Map;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.juddi.ClassUtil;
-import org.apache.juddi.config.AppConfig;
-import org.apache.juddi.config.Property;
+import org.apache.juddi.v3.client.ClassUtil;
+import org.apache.juddi.v3.client.config.Property;
+import org.apache.juddi.v3.client.config.UDDIClerk;
 
 /**
  * Used to create the org.apache.juddi.cryptor.Cryptor implementation
@@ -39,19 +40,13 @@ public abstract class CryptorFactory {
        // the shared Cryptor instance
        private static Cryptor cryptor = null;
 
-       /*
-        * Returns a new instance of a CryptorFactory.
-        * 
-        * @return Cryptor
-        */
-       public static Cryptor getCryptor() {
-               if (cryptor == null)
-                       cryptor = createCryptor();
-               return cryptor;
-       }
+        
+       private static Map<String, Cryptor> cache = new HashMap<String, 
Cryptor>();
         
         
         public static Cryptor getCryptor(String className) throws Exception {
+                if (cache.containsKey(className))
+                    return cache.get(className);
                Class<?> cryptorClass = null;
                try {
                        // Use Loader to locate & load the Cryptor 
implementation
@@ -66,6 +61,7 @@ public abstract class CryptorFactory {
                try {
                        // try to instantiate the Cryptor implementation
                        cryptor = (Cryptor)cryptorClass.newInstance();
+                        cache.put(className, cryptor);
                }
                catch(Exception e) {
                        log.error("Exception while attempting to instantiate 
the implementation of Cryptor: " + cryptorClass.getName() + "\n" + 
e.getMessage());
@@ -76,47 +72,4 @@ public abstract class CryptorFactory {
                return cryptor;
        }
 
-       /*
-        * Returns a new instance of a Cryptor.
-        * 
-        * @return Cryptor
-        */
-       private static synchronized Cryptor createCryptor() {
-               if (cryptor != null)
-                       return cryptor;
-       
-               // grab class name of the Cryptor implementation to create
-               String className = Property.DEFAULT_CRYPTOR;
-               try {
-                       // grab class name of the Authenticator implementation 
to create
-                       className = 
AppConfig.getConfiguration().getString(Property.JUDDI_CRYPTOR, 
Property.DEFAULT_CRYPTOR);
-               }
-               catch(ConfigurationException ce) {
-                       log.error("Configuration exception occurred retrieving: 
" + Property.JUDDI_CRYPTOR, ce);
-               }
-               
-               // write the Cryptor implementation name to the log
-               log.debug("Cryptor Implementation = " + className);
-       
-               Class<?> cryptorClass = null;
-               try {
-                       // Use Loader to locate & load the Cryptor 
implementation
-                       cryptorClass = ClassUtil.forName(className, 
CryptorFactory.class);
-               }
-               catch(ClassNotFoundException e) {
-                       log.error("The specified Cryptor class '" + className + 
"' was not found in classpath.");
-                       log.error(e);
-               }
-       
-               try {
-                       // try to instantiate the Cryptor implementation
-                       cryptor = (Cryptor)cryptorClass.newInstance();
-               }
-               catch(Exception e) {
-                       log.error("Exception while attempting to instantiate 
the implementation of Cryptor: " + cryptorClass.getName() + "\n" + 
e.getMessage());
-                       log.error(e);
-               }
-       
-               return cryptor;
-       }
 }
\ No newline at end of file

Copied: 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/CrytorUtil.java
 (from r1502981, 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/v3/auth/CrytorUtil.java)
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/CrytorUtil.java?p2=juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/CrytorUtil.java&p1=juddi/trunk/juddi-core/src/main/java/org/apache/juddi/v3/auth/CrytorUtil.java&r1=1502981&r2=1515236&rev=1515236&view=diff
==============================================================================
--- 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/v3/auth/CrytorUtil.java 
(original)
+++ 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/CrytorUtil.java
 Sun Aug 18 22:28:07 2013
@@ -13,10 +13,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.juddi.v3.auth;
+package org.apache.juddi.v3.client.crypto;
 
-import org.apache.juddi.cryptor.Cryptor;
-import org.apache.juddi.cryptor.CryptorFactory;
  
 /**
  *

Copied: 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/DefaultCryptor.java
 (from r1505003, 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/cryptor/DefaultCryptor.java)
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/DefaultCryptor.java?p2=juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/DefaultCryptor.java&p1=juddi/trunk/juddi-core/src/main/java/org/apache/juddi/cryptor/DefaultCryptor.java&r1=1505003&r2=1515236&rev=1515236&view=diff
==============================================================================
--- 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/cryptor/DefaultCryptor.java
 (original)
+++ 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/DefaultCryptor.java
 Sun Aug 18 22:28:07 2013
@@ -15,7 +15,7 @@
  *
  */
 
-package org.apache.juddi.cryptor;
+package org.apache.juddi.v3.client.crypto;
 
 import java.security.InvalidAlgorithmParameterException;
 import java.security.InvalidKeyException;

Copied: 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/TripleDESCrytor.java
 (from r1505003, 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/cryptor/TripleDESCrytor.java)
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/TripleDESCrytor.java?p2=juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/TripleDESCrytor.java&p1=juddi/trunk/juddi-core/src/main/java/org/apache/juddi/cryptor/TripleDESCrytor.java&r1=1505003&r2=1515236&rev=1515236&view=diff
==============================================================================
--- 
juddi/trunk/juddi-core/src/main/java/org/apache/juddi/cryptor/TripleDESCrytor.java
 (original)
+++ 
juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/TripleDESCrytor.java
 Sun Aug 18 22:28:07 2013
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.juddi.cryptor;
+package org.apache.juddi.v3.client.crypto;
 
 import java.security.InvalidAlgorithmParameterException;
 import java.security.InvalidKeyException;

Modified: juddi/trunk/juddi-client/src/main/resources/xsd/uddi-client.xsd
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/resources/xsd/uddi-client.xsd?rev=1515236&r1=1515235&r2=1515236&view=diff
==============================================================================
--- juddi/trunk/juddi-client/src/main/resources/xsd/uddi-client.xsd (original)
+++ juddi/trunk/juddi-client/src/main/resources/xsd/uddi-client.xsd Sun Aug 18 
22:28:07 2013
@@ -77,6 +77,11 @@
                               use="required" />
                         <xsd:attribute type="xsd:string" name="password"
                               use="required" />
+                        <xsd:attribute type="xsd:boolean" 
name="isPasswordEncrypted"
+                              use="optional" default="false"  />
+                        <xsd:attribute type="xsd:string" name="cryptoProvider"
+                             use="optional"  />
+                        
                         <xsd:attribute type="xsd:string" name="businessKey"
                               use="optional" />
                         <xsd:attribute type="xsd:string" name="businessName"

Added: 
juddi/trunk/juddi-client/src/test/java/org/apache/juddi/v3/client/config/CryptoConfigTest.java
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/test/java/org/apache/juddi/v3/client/config/CryptoConfigTest.java?rev=1515236&view=auto
==============================================================================
--- 
juddi/trunk/juddi-client/src/test/java/org/apache/juddi/v3/client/config/CryptoConfigTest.java
 (added)
+++ 
juddi/trunk/juddi-client/src/test/java/org/apache/juddi/v3/client/config/CryptoConfigTest.java
 Sun Aug 18 22:28:07 2013
@@ -0,0 +1,50 @@
+/*
+ * Copyright 2013 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.juddi.v3.client.config;
+
+import org.apache.juddi.v3.client.crypto.CryptorFactory;
+import org.apache.juddi.v3.client.transport.Transport;
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ *
+ * @author Alex O'Ree
+ */
+public class CryptoConfigTest {
+
+    @Test()
+    public void EncryptedCredentialsAES128Test() throws Exception {
+        UDDIClient clerkManager = new 
UDDIClient("META-INF/uddi3-enc-aes128.xml");
+        // register the clerkManager with the client side container
+        UDDIClientContainer.addClient(clerkManager);
+        // a ClerkManager can be a client to multiple UDDI nodes, so 
+        // supply the nodeName (defined in your uddi.xml.
+        // The transport can be WS, inVM, RMI etc which is defined in the 
uddi.xml
+        Transport transport = clerkManager.getTransport("default");
+        // Now you create a reference to the UDDI API
+        UDDIClerk c = clerkManager.getClerk("default");
+        UDDIClerk c2 = clerkManager.getClerk("medroot");
+        Assert.assertNotSame(c.getPassword(), c2.getPassword());
+        Assert.assertEquals("7d3e79ca453f4ebfd36e22afe029c3a2", 
c.getPassword());
+        Assert.assertEquals("root", 
CryptorFactory.getCryptor(c.getCryptoProvider()).decrypt(c.getPassword()));
+
+        Assert.assertEquals("18604180541d172f9827e08c998db568", 
c2.getPassword());
+        Assert.assertEquals("password", 
CryptorFactory.getCryptor(c2.getCryptoProvider()).decrypt(c2.getPassword()));
+
+
+    }
+}

Modified: juddi/trunk/juddi-client/src/test/resources/META-INF/uddi2.xml
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/test/resources/META-INF/uddi2.xml?rev=1515236&r1=1515235&r2=1515236&view=diff
==============================================================================
--- juddi/trunk/juddi-client/src/test/resources/META-INF/uddi2.xml (original)
+++ juddi/trunk/juddi-client/src/test/resources/META-INF/uddi2.xml Sun Aug 18 
22:28:07 2013
@@ -35,9 +35,11 @@
                </nodes>
                
                <clerks registerOnStartup="false">
-                  <clerk name="default" node="default" publisher="root" 
password="root"/>
-              <clerk name="medroot" node="med"     publisher="root" 
password="root"/> 
-              <xregister>
+                    <!-- password is password -->
+                  <clerk name="default" node="default" publisher="root" 
password="root"  />
+                   <!-- password is root -->
+                    <clerk name="medroot" node="med"     publisher="root" 
password="root" /> 
+                    <xregister>
                       <service 
bindingKey="uddi:juddi.apache.org:servicebindings-subscriptionlistener-ws" 
fromClerk="default" toClerk="medroot"/>
                   </xregister>
           </clerks>

Copied: 
juddi/trunk/juddi-client/src/test/resources/META-INF/uddi3-enc-aes128.xml (from 
r1492918, juddi/trunk/juddi-client/src/test/resources/META-INF/uddi2.xml)
URL: 
http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/test/resources/META-INF/uddi3-enc-aes128.xml?p2=juddi/trunk/juddi-client/src/test/resources/META-INF/uddi3-enc-aes128.xml&p1=juddi/trunk/juddi-client/src/test/resources/META-INF/uddi2.xml&r1=1492918&r2=1515236&rev=1515236&view=diff
==============================================================================
--- juddi/trunk/juddi-client/src/test/resources/META-INF/uddi2.xml (original)
+++ juddi/trunk/juddi-client/src/test/resources/META-INF/uddi3-enc-aes128.xml 
Sun Aug 18 22:28:07 2013
@@ -2,45 +2,51 @@
 <uddi xmlns="urn:juddi-apache-org:v3_client" 
xsi:schemaLocation="classpath:/xsd/uddi-client.xsd">
     <reloadDelay>5000</reloadDelay>
     <client name="second-client">
-               <nodes>
-                       <node isHomeJUDDI="true">
-                               <name>default</name> 
-                               <description>Local jUDDI node</description>
-                               <properties>
-                                       <property name="serverName" 
value="localhost" />
-                                       <property name="serverPort" 
value="8880" />
-                               </properties>
-                               <!-- JAX-WS Transport -->
-                               
<proxyTransport>org.apache.juddi.v3.client.transport.JAXWSTransport</proxyTransport>
-                               
<custodyTransferUrl>http://${serverName}:${serverPort}/juddiv3/services/custody-transfer?wsdl</custodyTransferUrl>
-                               
<inquiryUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiry?wsdl</inquiryUrl>
-                       
<publishUrl>http://${serverName}:${serverPort}/juddiv3/services/publish?wsdl</publishUrl>
-                       
<securityUrl>http://${serverName}:${serverPort}/juddiv3/services/security?wsdl</securityUrl>
-                               
<subscriptionUrl>http://${serverName}:${serverPort}/juddiv3/services/subscription?wsdl</subscriptionUrl>
-                               
<subscriptionListenerUrl>http://${serverName}:${serverPort}/juddiv3/services/subscription-listener?wsdl</subscriptionListenerUrl>
-                               
<juddiApiUrl>http://${serverName}:${serverPort}/juddiv3/services/juddi-api?wsdl</juddiApiUrl>
-                       </node>
-                       <node>
-                               <name>med</name>
-                               <description>jUDDI node in other 
Department</description>
-                               
<proxyTransport>org.apache.juddi.v3.client.transport.JAXWSTransport</proxyTransport>
-                               
<custodyTransferUrl>http://med:8080/juddiv3/services/custody-transfer?wsdl</custodyTransferUrl>
-                               
<inquiryUrl>http://med:8080/juddiv3/services/inquiry?wsdl</inquiryUrl>
-                       
<publishUrl>http://med:8080/juddiv3/services/publish?wsdl</publishUrl>
-                       
<securityUrl>http://med:8080/juddiv3/services/security?wsdl</securityUrl>
-                               
<subscriptionUrl>http://med:8080/juddiv3/services/subscription?wsdl</subscriptionUrl>
-                               
<subscriptionListenerUrl>http://med:8080/juddiv3/services/subscription-listener?wsdl</subscriptionListenerUrl>
-                               
<juddiApiUrl>http://med:8080/juddiv3/services/juddi-api?wsdl</juddiApiUrl>
-                       </node>
-               </nodes>
+        <nodes>
+            <node isHomeJUDDI="true">
+                <name>default</name> 
+                <description>Local jUDDI node</description>
+                <properties>
+                    <property name="serverName" value="localhost" />
+                    <property name="serverPort" value="8880" />
+                </properties>
+                <!-- JAX-WS Transport -->
+                
<proxyTransport>org.apache.juddi.v3.client.transport.JAXWSTransport</proxyTransport>
+                
<custodyTransferUrl>http://${serverName}:${serverPort}/juddiv3/services/custody-transfer?wsdl</custodyTransferUrl>
+                
<inquiryUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiry?wsdl</inquiryUrl>
+                
<publishUrl>http://${serverName}:${serverPort}/juddiv3/services/publish?wsdl</publishUrl>
+                
<securityUrl>http://${serverName}:${serverPort}/juddiv3/services/security?wsdl</securityUrl>
+                
<subscriptionUrl>http://${serverName}:${serverPort}/juddiv3/services/subscription?wsdl</subscriptionUrl>
+                
<subscriptionListenerUrl>http://${serverName}:${serverPort}/juddiv3/services/subscription-listener?wsdl</subscriptionListenerUrl>
+                
<juddiApiUrl>http://${serverName}:${serverPort}/juddiv3/services/juddi-api?wsdl</juddiApiUrl>
+            </node>
+            <node>
+                <name>med</name>
+                <description>jUDDI node in other Department</description>
+                
<proxyTransport>org.apache.juddi.v3.client.transport.JAXWSTransport</proxyTransport>
+                
<custodyTransferUrl>http://med:8080/juddiv3/services/custody-transfer?wsdl</custodyTransferUrl>
+                
<inquiryUrl>http://med:8080/juddiv3/services/inquiry?wsdl</inquiryUrl>
+                
<publishUrl>http://med:8080/juddiv3/services/publish?wsdl</publishUrl>
+                
<securityUrl>http://med:8080/juddiv3/services/security?wsdl</securityUrl>
+                
<subscriptionUrl>http://med:8080/juddiv3/services/subscription?wsdl</subscriptionUrl>
+                
<subscriptionListenerUrl>http://med:8080/juddiv3/services/subscription-listener?wsdl</subscriptionListenerUrl>
+                
<juddiApiUrl>http://med:8080/juddiv3/services/juddi-api?wsdl</juddiApiUrl>
+            </node>
+        </nodes>
                
-               <clerks registerOnStartup="false">
-                  <clerk name="default" node="default" publisher="root" 
password="root"/>
-              <clerk name="medroot" node="med"     publisher="root" 
password="root"/> 
-              <xregister>
-                      <service 
bindingKey="uddi:juddi.apache.org:servicebindings-subscriptionlistener-ws" 
fromClerk="default" toClerk="medroot"/>
-                  </xregister>
-          </clerks>
+        <clerks registerOnStartup="false">
+            <!-- root -->
+            <clerk name="default" node="default" publisher="root" 
password="7d3e79ca453f4ebfd36e22afe029c3a2"
+                          isPasswordEncrypted="true" 
cryptoProvider="org.apache.juddi.v3.client.crypto.AES128Cryptor"
+            />
+            <!-- password -->
+            <clerk name="medroot" node="med"     publisher="root" 
password="18604180541d172f9827e08c998db568"
+                      isPasswordEncrypted="true" 
cryptoProvider="org.apache.juddi.v3.client.crypto.AES128Cryptor"
+            /> 
+            <xregister>
+                <service 
bindingKey="uddi:juddi.apache.org:servicebindings-subscriptionlistener-ws" 
fromClerk="default" toClerk="medroot"/>
+            </xregister>
+        </clerks>
          
-       </client>
+    </client>
 </uddi>
\ No newline at end of file



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to