You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juddi.apache.org by al...@apache.org on 2013/11/17 01:39:37 UTC

svn commit: r1542621 [1/2] - in /juddi/trunk: juddi-client.net/juddi-client.net-integration.test/ juddi-client.net/juddi-client.net-sample/ juddi-client.net/juddi-client.net.test/ juddi-client.net/juddi-client.net.test/resources/ juddi-client.net/juddi...

Author: alexoree
Date: Sun Nov 17 00:39:36 2013
New Revision: 1542621

URL: http://svn.apache.org/r1542621
Log:
JUDDI-567 adding feature to sign from a pfx file, digital signature tests. updated namespace to match the java cryptor. converted javadoc to .net xml comments

Added:
    juddi/trunk/juddi-client.net/juddi-client.net.test/DigitalSignatureTests.cs
    juddi/trunk/juddi-client.net/juddi-client.net.test/resources/cert.pfx   (with props)
    juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.cryptor/
    juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.cryptor/AES128Cryptor.cs
    juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.cryptor/AES256Cryptor.cs
    juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.cryptor/AESCryptor.cs
    juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.cryptor/Cryptor.cs
    juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.cryptor/CryptorFactory.cs
    juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.cryptor/DigSigUtil.cs
    juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.cryptor/TripleDESCryptor.cs
Removed:
    juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.crypto/
Modified:
    juddi/trunk/juddi-client.net/juddi-client.net-integration.test/juddi-client.net-integration.test.csproj
    juddi/trunk/juddi-client.net/juddi-client.net-sample/DigitalSignaturesExample.cs
    juddi/trunk/juddi-client.net/juddi-client.net-sample/Encryption.cs
    juddi/trunk/juddi-client.net/juddi-client.net-sample/SubscriptionCallbackExample.cs
    juddi/trunk/juddi-client.net/juddi-client.net-sample/WadlImport.cs
    juddi/trunk/juddi-client.net/juddi-client.net-sample/WsdlImport.cs
    juddi/trunk/juddi-client.net/juddi-client.net.test/CryptoTests.cs
    juddi/trunk/juddi-client.net/juddi-client.net.test/WADL2UDDITests.cs
    juddi/trunk/juddi-client.net/juddi-client.net.test/WSDL2UDDITest.cs
    juddi/trunk/juddi-client.net/juddi-client.net.test/juddi-client.net.test-mono.csproj
    juddi/trunk/juddi-client.net/juddi-client.net.test/juddi-client.net.test.csproj
    juddi/trunk/juddi-client.net/juddi-client.net/bindings/JUDDIApiService.cs
    juddi/trunk/juddi-client.net/juddi-client.net/bindings/ext.cs
    juddi/trunk/juddi-client.net/juddi-client.net/juddi-client.net-mono.csproj
    juddi/trunk/juddi-client.net/juddi-client.net/juddi-client.net.csproj
    juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.annotations/UDDIServiceBinding.cs
    juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/ClientConfig.cs
    juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/UDDIClerk.cs
    juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.mapping/WADL2UDDI.cs
    juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.mapping/WSDL2UDDI.cs
    juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.subscription/SubscriptionCallbackListener.cs
    juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/UDDIConstants.cs
    juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/cryptor/DigSigUtil.java
    juddi/trunk/juddi-client/src/test/java/org/apache/juddi/v3/client/DigSigUtilTest.java

Modified: juddi/trunk/juddi-client.net/juddi-client.net-integration.test/juddi-client.net-integration.test.csproj
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net-integration.test/juddi-client.net-integration.test.csproj?rev=1542621&r1=1542620&r2=1542621&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net-integration.test/juddi-client.net-integration.test.csproj (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net-integration.test/juddi-client.net-integration.test.csproj Sun Nov 17 00:39:36 2013
@@ -43,6 +43,7 @@
     <Reference Include="System.Xml" />
   </ItemGroup>
   <ItemGroup>
+    <Compile Include="DigitalSignatureIntegrationTests.cs" />
     <Compile Include="InquiryTests.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
   </ItemGroup>

Modified: juddi/trunk/juddi-client.net/juddi-client.net-sample/DigitalSignaturesExample.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net-sample/DigitalSignaturesExample.cs?rev=1542621&r1=1542620&r2=1542621&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net-sample/DigitalSignaturesExample.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net-sample/DigitalSignaturesExample.cs Sun Nov 17 00:39:36 2013
@@ -17,7 +17,7 @@
  */
 using org.apache.juddi.v3.client;
 using org.apache.juddi.v3.client.config;
-using org.apache.juddi.v3.client.crypto;
+using org.apache.juddi.v3.client.cryptor;
 using org.apache.juddi.v3.client.transport;
 using org.uddi.apiv3;
 using System;

Modified: juddi/trunk/juddi-client.net/juddi-client.net-sample/Encryption.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net-sample/Encryption.cs?rev=1542621&r1=1542620&r2=1542621&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net-sample/Encryption.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net-sample/Encryption.cs Sun Nov 17 00:39:36 2013
@@ -15,19 +15,8 @@
  *
  */
 
-using net.java.dev.wadl;
-using org.apache.juddi.jaxb;
-using org.apache.juddi.v3.client;
-using org.apache.juddi.v3.client.config;
-using org.apache.juddi.v3.client.crypto;
-using org.apache.juddi.v3.client.mapping;
-using org.apache.juddi.v3.client.transport;
-using org.uddi.apiv3;
-using org.xmlsoap.schemas.easyWsdl;
 using System;
-using System.Collections.Generic;
 using System.Security.Cryptography;
-using System.Text;
 
 namespace org.apache.juddi.client.sample
 {

Modified: juddi/trunk/juddi-client.net/juddi-client.net-sample/SubscriptionCallbackExample.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net-sample/SubscriptionCallbackExample.cs?rev=1542621&r1=1542620&r2=1542621&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net-sample/SubscriptionCallbackExample.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net-sample/SubscriptionCallbackExample.cs Sun Nov 17 00:39:36 2013
@@ -116,12 +116,6 @@ namespace org.apache.juddi.client.sample
                 if (clerk != null)
                     clerk.Dispose();
             }
-
-
-
-
         }
-
-
     }
 }

Modified: juddi/trunk/juddi-client.net/juddi-client.net-sample/WadlImport.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net-sample/WadlImport.cs?rev=1542621&r1=1542620&r2=1542621&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net-sample/WadlImport.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net-sample/WadlImport.cs Sun Nov 17 00:39:36 2013
@@ -16,18 +16,13 @@
  */
 
 using net.java.dev.wadl;
-using org.apache.juddi.jaxb;
 using org.apache.juddi.v3.client;
 using org.apache.juddi.v3.client.config;
-using org.apache.juddi.v3.client.crypto;
 using org.apache.juddi.v3.client.mapping;
 using org.apache.juddi.v3.client.transport;
 using org.uddi.apiv3;
-using org.xmlsoap.schemas.easyWsdl;
 using System;
 using System.Collections.Generic;
-using System.Security.Cryptography;
-using System.Text;
 
 namespace org.apache.juddi.client.sample
 {

Modified: juddi/trunk/juddi-client.net/juddi-client.net-sample/WsdlImport.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net-sample/WsdlImport.cs?rev=1542621&r1=1542620&r2=1542621&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net-sample/WsdlImport.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net-sample/WsdlImport.cs Sun Nov 17 00:39:36 2013
@@ -14,19 +14,13 @@
  * limitations under the License.
  *
  */
-using net.java.dev.wadl;
 using org.apache.juddi.jaxb;
-using org.apache.juddi.v3.client;
 using org.apache.juddi.v3.client.config;
-using org.apache.juddi.v3.client.crypto;
 using org.apache.juddi.v3.client.mapping;
-using org.apache.juddi.v3.client.transport;
 using org.uddi.apiv3;
 using org.xmlsoap.schemas.easyWsdl;
 using System;
 using System.Collections.Generic;
-using System.Security.Cryptography;
-using System.Text;
 
 namespace org.apache.juddi.client.sample
 {

Modified: juddi/trunk/juddi-client.net/juddi-client.net.test/CryptoTests.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net.test/CryptoTests.cs?rev=1542621&r1=1542620&r2=1542621&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net.test/CryptoTests.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net.test/CryptoTests.cs Sun Nov 17 00:39:36 2013
@@ -1,5 +1,5 @@
 using NUnit.Framework;
-using org.apache.juddi.v3.client.crypto;
+using org.apache.juddi.v3.client.cryptor;
 using System;
 using System.Collections.Generic;
 using System.Linq;
@@ -13,7 +13,7 @@ namespace juddi_client.net.test
         [Test]
         public void AES128()
         {
-            Cryptor c = org.apache.juddi.v3.client.crypto.CryptorFactory.getCryptor(CryptorFactory.AES128);
+            Cryptor c = org.apache.juddi.v3.client.cryptor.CryptorFactory.getCryptor(CryptorFactory.AES128);
             TestCryptor(c);
         }
 
@@ -31,14 +31,14 @@ namespace juddi_client.net.test
         [Test]
         public void AES256()
         {
-            Cryptor c = org.apache.juddi.v3.client.crypto.CryptorFactory.getCryptor(CryptorFactory.AES256);
+            Cryptor c = org.apache.juddi.v3.client.cryptor.CryptorFactory.getCryptor(CryptorFactory.AES256);
             TestCryptor(c);
         }
 
         [Test]
         public void TripleDES()
         {
-            Cryptor c = org.apache.juddi.v3.client.crypto.CryptorFactory.getCryptor(CryptorFactory.TripleDES);
+            Cryptor c = org.apache.juddi.v3.client.cryptor.CryptorFactory.getCryptor(CryptorFactory.TripleDES);
             TestCryptor(c);
         }
     }

Added: juddi/trunk/juddi-client.net/juddi-client.net.test/DigitalSignatureTests.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net.test/DigitalSignatureTests.cs?rev=1542621&view=auto
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net.test/DigitalSignatureTests.cs (added)
+++ juddi/trunk/juddi-client.net/juddi-client.net.test/DigitalSignatureTests.cs Sun Nov 17 00:39:36 2013
@@ -0,0 +1,215 @@
+using NUnit.Framework;
+using org.apache.juddi.jaxb;
+using org.apache.juddi.v3.client;
+using org.apache.juddi.v3.client.config;
+using org.apache.juddi.v3.client.cryptor;
+using org.apache.juddi.v3.client.transport;
+using org.uddi.apiv3;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+
+namespace juddi_client.net.test
+{
+    [TestFixture]
+    public class DigitalSignatureTests
+    {
+        org.apache.juddi.v3.client.cryptor.DigSigUtil ds = null;
+        string path = "";
+        bool serialize = false;
+        public DigitalSignatureTests()
+        {
+            if (Environment.GetEnvironmentVariable("debug") != null
+                && Environment.GetEnvironmentVariable("debug").Equals("true", StringComparison.CurrentCultureIgnoreCase))
+            {
+                serialize = true;
+            }
+            Console.Out.WriteLine(Directory.GetCurrentDirectory());
+            path = Directory.GetCurrentDirectory() + Path.DirectorySeparatorChar + "resources";
+            if (!Directory.Exists(path))
+            {
+                path = Directory.GetCurrentDirectory() + Path.DirectorySeparatorChar + ".." + Path.DirectorySeparatorChar + ".." + Path.DirectorySeparatorChar + "resources";
+                Console.Out.WriteLine(path);
+            }
+            if (!Directory.Exists(path))
+            {
+                path = Environment.GetEnvironmentVariable("JUDDI_TEST_RES");
+                Console.Out.WriteLine(path);
+            }
+            if (path == null || !Directory.Exists(path))
+            {
+                path = null;
+                Console.Out.WriteLine("uh oh, I can't find the resources directory, override with the environment variable JUDDI_TEST_RES=<path>");
+            }
+            ds = new DigSigUtil();
+            ds.put(DigSigUtil.SIGNATURE_KEYSTORE_FILE, path +  Path.DirectorySeparatorChar+"cert.pfx");
+            ds.put(DigSigUtil.SIGNATURE_KEYSTORE_FILETYPE, "PFX");
+            ds.put(DigSigUtil.SIGNATURE_KEYSTORE_FILE_PASSWORD, "password");
+            ds.put(DigSigUtil.SIGNATURE_KEYSTORE_KEY_ALIAS, "selfsigned");      //the friendly name = alias
+            //ds.put(DigSigUtil.TRUSTSTORE_FILE, "./src/test/resources/truststore.jks");
+            //ds.put(DigSigUtil.TRUSTSTORE_FILETYPE, "JKS");
+            //ds.put(DigSigUtil.TRUSTSTORE_FILE_PASSWORD, "Test");
+            ds.put(DigSigUtil.SIGNATURE_OPTION_CERT_INCLUSION_BASE64, "true");
+            ds.put(DigSigUtil.SIGNATURE_OPTION_CERT_INCLUSION_SUBJECTDN, "true");
+            ds.put(DigSigUtil.SIGNATURE_OPTION_CERT_INCLUSION_SERIAL, "true");
+            ds.put(DigSigUtil.CHECK_TIMESTAMPS, "true");
+            
+        }
+
+        void resetDS()
+        {
+            ds = new DigSigUtil();
+            ds.put(DigSigUtil.SIGNATURE_KEYSTORE_FILE, path + Path.DirectorySeparatorChar + "cert.pfx");
+            ds.put(DigSigUtil.SIGNATURE_KEYSTORE_FILETYPE, "PFX");
+            ds.put(DigSigUtil.SIGNATURE_KEYSTORE_FILE_PASSWORD, "password");
+            ds.put(DigSigUtil.SIGNATURE_KEYSTORE_KEY_ALIAS, "selfsigned");      //the friendly name = alias
+            //ds.put(DigSigUtil.TRUSTSTORE_FILE, "./src/test/resources/truststore.jks");
+            //ds.put(DigSigUtil.TRUSTSTORE_FILETYPE, "JKS");
+            //ds.put(DigSigUtil.TRUSTSTORE_FILE_PASSWORD, "Test");
+            ds.put(DigSigUtil.SIGNATURE_OPTION_CERT_INCLUSION_BASE64, "true");
+            ds.put(DigSigUtil.SIGNATURE_OPTION_CERT_INCLUSION_SUBJECTDN, "true");
+            ds.put(DigSigUtil.SIGNATURE_OPTION_CERT_INCLUSION_SERIAL, "true");
+        }
+
+        [Test]
+        public void Business()
+        {
+
+            businessEntity be = new businessEntity();
+            be.businessKey = "uddi:business";
+            be.businessServices = new businessService[] { NewBusinessService() };
+            be.name = new name[] { new name("stuff", null) };
+            be.identifierBag = new keyedReference[] { new keyedReference("key", "name", "val") };
+            be.categoryBag = new categoryBag();
+            be.categoryBag.Items = new object[] { new keyedReference("key", "name", "val") };
+            be.contacts = new contact[] { new contact() };
+
+            be.contacts[0].useType = "admin";
+            be.contacts[0].personName = new personName[] { new personName("bob", "en") };
+            be.businessServices = new businessService[] { getService() };
+
+            SigningAndVerify(be);
+        }
+
+        private businessService NewBusinessService()
+        {
+            businessService bs = new businessService();
+            bs.bindingTemplates = new bindingTemplate[] { NewBindingTempalte() };
+            bs.businessKey = "asd";
+            bs.categoryBag = new categoryBag();
+            bs.categoryBag.Items = new object[] { new keyedReference("key", "name", "val") };
+            bs.name = new name[] { new name("stuff", null) };
+            bs.serviceKey = "asd";
+            return bs;
+        }
+
+        private bindingTemplate NewBindingTempalte()
+        {
+            bindingTemplate bt = new bindingTemplate();
+            bt.bindingKey = "asd";
+            bt.categoryBag = new categoryBag();
+            bt.categoryBag.Items = new object[] { new keyedReference("key", "name", "val") };
+            bt.description = new description[] { new description("hi", "en") };
+            bt.Item = new accessPoint("http://localhost", "wsdl");
+            bt.serviceKey = "svc";
+            bt.tModelInstanceDetails = new tModelInstanceInfo[] { new tModelInstanceInfo() };
+            return bt;
+        }
+        [Test]
+        public void Service()
+        {
+            businessService bs = NewBusinessService();
+            SigningAndVerify(bs);
+        }
+
+        [Test]
+        public void Tmodel()
+        {
+            tModel bs = UDDIClerk.createKeyGenator("part", "desc", "en");
+            
+            SigningAndVerify(bs);
+        }
+
+        private businessService getService()
+        {
+            businessService bs = new businessService();
+            bs.serviceKey = "hello";
+            bs.name = new name[] { new name("hi", "en") };
+            bs.businessKey = "asd";
+            return bs;
+
+        }
+
+        void SigningAndVerify(object uddielement)
+        {
+
+            uddielement = ds.signUddiEntity(uddielement);
+            Assert.NotNull(uddielement);
+            if (serialize)
+            {
+                if (uddielement.GetType().Equals(typeof(bindingTemplate)))
+                {
+                    PrintUDDI<bindingTemplate> p = new PrintUDDI<bindingTemplate>();
+                    Console.Out.WriteLine(p.print(uddielement));
+
+                }
+                if (uddielement.GetType().Equals(typeof(businessService)))
+                {
+                    PrintUDDI<businessService> p = new PrintUDDI<businessService>();
+                    Console.Out.WriteLine(p.print(uddielement));
+                }
+                if (uddielement.GetType().Equals(typeof(businessEntity)))
+                {
+                    PrintUDDI<businessEntity> p = new PrintUDDI<businessEntity>();
+                    Console.Out.WriteLine(p.print(uddielement));
+                }
+                if (uddielement.GetType().Equals(typeof(tModel)))
+                {
+                    PrintUDDI<tModel> p = new PrintUDDI<tModel>();
+                    Console.Out.WriteLine(p.print(uddielement));
+                }
+            }
+            String err="";
+            bool check=ds.verifySignedUddiEntity(uddielement, out err);
+            Console.Out.WriteLine("Signature status is " + check + ": " + err);
+            Assert.True(check);
+            Assert.True(String.IsNullOrEmpty(err));
+            validAllSignatureElementsArePresent(uddielement);
+        }
+
+        private void validAllSignatureElementsArePresent(object uddielement)
+        {
+            if (uddielement.GetType().Equals(typeof(bindingTemplate)))
+            {
+                validAllSignatureElementsArePresent(((bindingTemplate)uddielement).Signature);
+            }
+            if (uddielement.GetType().Equals(typeof(businessService)))
+            {
+                validAllSignatureElementsArePresent(((businessService)uddielement).Signature);
+            }
+            if (uddielement.GetType().Equals(typeof(businessEntity)))
+            {
+                validAllSignatureElementsArePresent(((businessEntity)uddielement).Signature);
+            }
+            if (uddielement.GetType().Equals(typeof(tModel)))
+            {
+                validAllSignatureElementsArePresent(((tModel)uddielement).Signature);
+            }
+        }
+
+        private void validAllSignatureElementsArePresent(SignatureType[] signatureType)
+        {
+            if (signatureType == null || signatureType.Length == 0)
+                Assert.Fail("no signed");
+            for (int i = 0; i < signatureType.Length; i++)
+            {
+                Assert.NotNull(signatureType[i].KeyInfo);
+                Assert.NotNull(signatureType[i].KeyInfo.Items);
+
+            }
+        }
+
+    }
+}

Modified: juddi/trunk/juddi-client.net/juddi-client.net.test/WADL2UDDITests.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net.test/WADL2UDDITests.cs?rev=1542621&r1=1542620&r2=1542621&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net.test/WADL2UDDITests.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net.test/WADL2UDDITests.cs Sun Nov 17 00:39:36 2013
@@ -1,5 +1,6 @@
 using net.java.dev.wadl;
 using NUnit.Framework;
+using org.apache.juddi.jaxb;
 using org.apache.juddi.v3.client;
 using org.apache.juddi.v3.client.config;
 using org.apache.juddi.v3.client.mapping;
@@ -15,9 +16,15 @@ namespace juddi_client.net.test
     [TestFixture]
     public class WADL2UDDITests
     {
+        bool serialize = false;
         string path = "";
         public WADL2UDDITests()
         {
+            if (Environment.GetEnvironmentVariable("debug") != null
+                && Environment.GetEnvironmentVariable("debug").Equals("true", StringComparison.CurrentCultureIgnoreCase))
+            {
+                serialize = true;
+            }
             Console.Out.WriteLine(Directory.GetCurrentDirectory());
             path = Directory.GetCurrentDirectory() + Path.DirectorySeparatorChar + "resources";
             if (!Directory.Exists(path))
@@ -101,8 +108,10 @@ namespace juddi_client.net.test
             properties.put("businessName", domain);
             properties.put("serverName", url.Host);
             properties.put("serverPort", url.Port.ToString());
-            WADL2UDDI wadl2UDDI = new WADL2UDDI(clerk, properties);
+            WADL2UDDI wadl2UDDI = new WADL2UDDI(clerk, properties); 
             businessService businessServices = wadl2UDDI.createBusinessService(new QName("MyWasdl.namespace", "Servicename"), app);
+            if (serialize)
+                Console.Out.WriteLine(new PrintUDDI<businessService>().print(businessServices));
             Assert.NotNull(businessServices);
             Assert.NotNull(businessServices.bindingTemplates);
             foreach (bindingTemplate bt in businessServices.bindingTemplates)

Modified: juddi/trunk/juddi-client.net/juddi-client.net.test/WSDL2UDDITest.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net.test/WSDL2UDDITest.cs?rev=1542621&r1=1542620&r2=1542621&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net.test/WSDL2UDDITest.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net.test/WSDL2UDDITest.cs Sun Nov 17 00:39:36 2013
@@ -78,7 +78,7 @@ namespace juddi_client.net.test
         {
             Assume.That(File.Exists(pathAndFile));
 
-            String wsdlURL = "http://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL";
+           
             ReadWSDL wsi = new ReadWSDL();
             org.xmlsoap.schemas.easyWsdl.tDefinitions wsdlDefinition = wsi.readWSDL(
                pathAndFile
@@ -91,7 +91,7 @@ namespace juddi_client.net.test
             Dictionary<QName, tPortType> portTypes1 = (Dictionary<QName, tPortType>)wsdlDefinition.getAllPortTypes();
             Assert.NotNull(portTypes1);
             Assert.True(portTypes1.Count > 0);
-            List<tModel> portTypeTModels1 = wsdl2UDDI.createWSDLPortTypeTModels(wsdlURL, portTypes1);
+            List<tModel> portTypeTModels1 = wsdl2UDDI.createWSDLPortTypeTModels(pathAndFile, portTypes1);
 
             Assert.NotNull(portTypeTModels1);
             Assert.True(portTypeTModels1.Count > 0);
@@ -100,7 +100,7 @@ namespace juddi_client.net.test
             Dictionary<QName, tBinding> allBindings1 = wsdlDefinition.getAllBindings();
             Assert.NotNull(allBindings1);
             Assert.True(allBindings1.Count > 0);
-            List<tModel> createWSDLBindingTModels1 = wsdl2UDDI.createWSDLBindingTModels(wsdlURL, allBindings1);
+            List<tModel> createWSDLBindingTModels1 = wsdl2UDDI.createWSDLBindingTModels(pathAndFile, allBindings1);
             Assert.NotNull(createWSDLBindingTModels1);
             Assert.True(createWSDLBindingTModels1.Count > 0);
 

Modified: juddi/trunk/juddi-client.net/juddi-client.net.test/juddi-client.net.test-mono.csproj
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net.test/juddi-client.net.test-mono.csproj?rev=1542621&r1=1542620&r2=1542621&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net.test/juddi-client.net.test-mono.csproj (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net.test/juddi-client.net.test-mono.csproj Sun Nov 17 00:39:36 2013
@@ -42,9 +42,11 @@
   </ItemGroup>
   <ItemGroup>
     <Compile Include="CryptoTests.cs" />
+	<Compile Include="DigitalSignatureTests.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="SerializationTests.cs" />
     <Compile Include="WADL2UDDITests.cs" />
+    <Compile Include="WSDL2UDDITest.cs" />
   </ItemGroup>
   <ItemGroup>
     <None Include="packages.config">

Modified: juddi/trunk/juddi-client.net/juddi-client.net.test/juddi-client.net.test.csproj
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net.test/juddi-client.net.test.csproj?rev=1542621&r1=1542620&r2=1542621&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net.test/juddi-client.net.test.csproj (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net.test/juddi-client.net.test.csproj Sun Nov 17 00:39:36 2013
@@ -42,6 +42,7 @@
   </ItemGroup>
   <ItemGroup>
     <Compile Include="CryptoTests.cs" />
+    <Compile Include="DigitalSignatureTests.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="SerializationTests.cs" />
     <Compile Include="WADL2UDDITests.cs" />

Added: juddi/trunk/juddi-client.net/juddi-client.net.test/resources/cert.pfx
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net.test/resources/cert.pfx?rev=1542621&view=auto
==============================================================================
Binary file - no diff available.

Propchange: juddi/trunk/juddi-client.net/juddi-client.net.test/resources/cert.pfx
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: juddi/trunk/juddi-client.net/juddi-client.net/bindings/JUDDIApiService.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/bindings/JUDDIApiService.cs?rev=1542621&r1=1542620&r2=1542621&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/bindings/JUDDIApiService.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net/bindings/JUDDIApiService.cs Sun Nov 17 00:39:36 2013
@@ -645,7 +645,7 @@ namespace org.apache.juddi.apiv3
 
         private get_subscriptionResults[] listField;
         [System.Xml.Serialization.XmlElement(Namespace = "urn:uddi-org:api_v3")]
-        /// <remarks/>
+        
         public string authInfo
         {
             get

Modified: juddi/trunk/juddi-client.net/juddi-client.net/bindings/ext.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/bindings/ext.cs?rev=1542621&r1=1542620&r2=1542621&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/bindings/ext.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net/bindings/ext.cs Sun Nov 17 00:39:36 2013
@@ -21,7 +21,15 @@ using System;
 namespace org.uddi.apiv3
 {
 
- 
+    public partial class personName
+    {
+        public personName() { }
+        public personName(String value, String lang)
+        {
+            this.Value = value;
+            this.lang = lang;
+        }
+    }
   
     public partial class accessPoint
     {
@@ -52,6 +60,12 @@ namespace org.uddi.apiv3
     }
     public partial class keyedReference
     {
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="key"></param>
+        /// <param name="name"></param>
+        /// <param name="value"></param>
         public keyedReference(String key, String name, String value)
         {
             this.tModelKey = key;
@@ -61,8 +75,16 @@ namespace org.uddi.apiv3
     }
     public partial class name
     {
+        /// <summary>
+        /// 
+        /// </summary>
         public name()
         { }
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="Value"></param>
+        /// <param name="lang"></param>
         public name(String Value, String lang)
         {
             this.valueField = Value;

Modified: juddi/trunk/juddi-client.net/juddi-client.net/juddi-client.net-mono.csproj
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/juddi-client.net-mono.csproj?rev=1542621&r1=1542620&r2=1542621&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/juddi-client.net-mono.csproj (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net/juddi-client.net-mono.csproj Sun Nov 17 00:39:36 2013
@@ -20,7 +20,7 @@
     <OutputPath>bin\Debug\</OutputPath>
     <DefineConstants>DEBUG;TRACE</DefineConstants>
     <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>3</WarningLevel>
+    <WarningLevel>1</WarningLevel>
     <RunCodeAnalysis>true</RunCodeAnalysis>
     <DocumentationFile>bin\Debug\juddi-dotnet-client.XML</DocumentationFile>
   </PropertyGroup>
@@ -34,11 +34,11 @@
   </PropertyGroup>
   <ItemGroup>
     <Reference Include="System" />
-   <Reference Include="System.Core" />
+    <Reference Include="System.Core" />
     <Reference Include="System.configuration" />
     <Reference Include="System.Runtime.Serialization" />
     <Reference Include="System.Security" />
- <Reference Include="System.ServiceModel" />
+    <Reference Include="System.ServiceModel" />
     <Reference Include="System.Web.Services" />
     <Reference Include="System.Data" />
     <Reference Include="System.Xml" />
@@ -65,13 +65,13 @@
     <Compile Include="org.apache.juddi.v3.client.config\UDDINode.cs" />
     <Compile Include="org.apache.juddi.v3.client.config\XmlConfiguration.cs" />
     <Compile Include="org.apache.juddi.v3.client.config\XRegistration.cs" />
-    <Compile Include="org.apache.juddi.v3.client.crypto\AES128Cryptor.cs" />
-    <Compile Include="org.apache.juddi.v3.client.crypto\AES256Cryptor.cs" />
-    <Compile Include="org.apache.juddi.v3.client.crypto\AESCryptor.cs" />
-    <Compile Include="org.apache.juddi.v3.client.crypto\Cryptor.cs" />
-    <Compile Include="org.apache.juddi.v3.client.crypto\CryptorFactory.cs" />
-    <Compile Include="org.apache.juddi.v3.client.crypto\DigSigUtil.cs" />
-    <Compile Include="org.apache.juddi.v3.client.crypto\TripleDESCryptor.cs" />
+    <Compile Include="org.apache.juddi.v3.client.cryptor\AES128Cryptor.cs" />
+    <Compile Include="org.apache.juddi.v3.client.cryptor\AES256Cryptor.cs" />
+    <Compile Include="org.apache.juddi.v3.client.cryptor\AESCryptor.cs" />
+    <Compile Include="org.apache.juddi.v3.client.cryptor\Cryptor.cs" />
+    <Compile Include="org.apache.juddi.v3.client.cryptor\CryptorFactory.cs" />
+    <Compile Include="org.apache.juddi.v3.client.cryptor\DigSigUtil.cs" />
+    <Compile Include="org.apache.juddi.v3.client.cryptor\TripleDESCryptor.cs" />
     <Compile Include="org.apache.juddi.v3.client.mapping\easyWsdl.cs" />
     <Compile Include="org.apache.juddi.v3.client.mapping\ServiceRegistrationResponse.cs" />
     <Compile Include="org.apache.juddi.v3.client.mapping\URLLocalizer.cs" />

Modified: juddi/trunk/juddi-client.net/juddi-client.net/juddi-client.net.csproj
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/juddi-client.net.csproj?rev=1542621&r1=1542620&r2=1542621&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/juddi-client.net.csproj (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net/juddi-client.net.csproj Sun Nov 17 00:39:36 2013
@@ -20,7 +20,7 @@
     <OutputPath>bin\Debug\</OutputPath>
     <DefineConstants>DEBUG;TRACE</DefineConstants>
     <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>3</WarningLevel>
+    <WarningLevel>4</WarningLevel>
     <RunCodeAnalysis>true</RunCodeAnalysis>
     <DocumentationFile>bin\Debug\juddi-dotnet-client.XML</DocumentationFile>
   </PropertyGroup>
@@ -65,13 +65,13 @@
     <Compile Include="org.apache.juddi.v3.client.config\UDDINode.cs" />
     <Compile Include="org.apache.juddi.v3.client.config\XmlConfiguration.cs" />
     <Compile Include="org.apache.juddi.v3.client.config\XRegistration.cs" />
-    <Compile Include="org.apache.juddi.v3.client.crypto\AES128Cryptor.cs" />
-    <Compile Include="org.apache.juddi.v3.client.crypto\AES256Cryptor.cs" />
-    <Compile Include="org.apache.juddi.v3.client.crypto\AESCryptor.cs" />
-    <Compile Include="org.apache.juddi.v3.client.crypto\Cryptor.cs" />
-    <Compile Include="org.apache.juddi.v3.client.crypto\CryptorFactory.cs" />
-    <Compile Include="org.apache.juddi.v3.client.crypto\DigSigUtil.cs" />
-    <Compile Include="org.apache.juddi.v3.client.crypto\TripleDESCryptor.cs" />
+    <Compile Include="org.apache.juddi.v3.client.cryptor\AES128Cryptor.cs" />
+    <Compile Include="org.apache.juddi.v3.client.cryptor\AES256Cryptor.cs" />
+    <Compile Include="org.apache.juddi.v3.client.cryptor\AESCryptor.cs" />
+    <Compile Include="org.apache.juddi.v3.client.cryptor\Cryptor.cs" />
+    <Compile Include="org.apache.juddi.v3.client.cryptor\CryptorFactory.cs" />
+    <Compile Include="org.apache.juddi.v3.client.cryptor\DigSigUtil.cs" />
+    <Compile Include="org.apache.juddi.v3.client.cryptor\TripleDESCryptor.cs" />
     <Compile Include="org.apache.juddi.v3.client.mapping\easyWsdl.cs" />
     <Compile Include="org.apache.juddi.v3.client.mapping\ServiceRegistrationResponse.cs" />
     <Compile Include="org.apache.juddi.v3.client.mapping\URLLocalizer.cs" />

Modified: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.annotations/UDDIServiceBinding.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.annotations/UDDIServiceBinding.cs?rev=1542621&r1=1542620&r2=1542621&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.annotations/UDDIServiceBinding.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.annotations/UDDIServiceBinding.cs Sun Nov 17 00:39:36 2013
@@ -5,33 +5,41 @@ using System.Text;
 
 namespace org.apache.juddi.v3.client.annotations
 {
+    /// <summary>
+    /// Use this class to annotate your services programmatically. When your server start up, you can then automatically register endpoints using
+    /// this mechanism.
+    /// </summary>
+    /// <see>UDDIClient.registerAnnotatedServices</see>
     [System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple = false)]
     public class UDDIServiceBinding : System.Attribute
     {
+        /// <summary>
+        /// defaults to "en" lang
+        /// </summary>
         public UDDIServiceBinding()
         {
-            lang="en";
-            bindingKey ="";
-            description="";
-            accessPoint="";
-            tModelKeys="";
-            categoryBag="";
-            accessPointType="wsdlDeployment";
+            lang = "en";
+            bindingKey = "";
+            description = "";
+            accessPoint = "";
+            tModelKeys = "";
+            categoryBag = "";
+            accessPointType = "wsdlDeployment";
         }
-        	/** name which can be referenced by TModelInstanceRegistration, this key is not send
-	 * down to the UDDI Registry. */
-    public String bindingKey{ get; set;}
-	/** Description of the ServiceBinding. */
-    public String description{ get; set;}
-    /** AccessPoint Type, which could be one of endPoint, wsdlDeployment, bindingTemplate, hostingDirector */
-    public String accessPointType { get; set; }
-	/** The URL of the accessPoint. */
-	public String accessPoint{ get; set;}
-	/** Language code i.e.: en, fr, nl. */
-	public String lang{ get; set;}
-	/** Comma separated list of tModel Keys */
-	public String tModelKeys{ get; set;}
-	/** List of KeyedReferences */
-	public String categoryBag{ get; set;}
+        /** name which can be referenced by TModelInstanceRegistration, this key is not send
+ * down to the UDDI Registry. */
+        public String bindingKey { get; set; }
+        /** Description of the ServiceBinding. */
+        public String description { get; set; }
+        /** AccessPoint Type, which could be one of endPoint, wsdlDeployment, bindingTemplate, hostingDirector */
+        public String accessPointType { get; set; }
+        /** The URL of the accessPoint. */
+        public String accessPoint { get; set; }
+        /** Language code i.e.: en, fr, nl. */
+        public String lang { get; set; }
+        /** Comma separated list of tModel Keys */
+        public String tModelKeys { get; set; }
+        /** List of KeyedReferences */
+        public String categoryBag { get; set; }
     }
 }

Modified: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/ClientConfig.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/ClientConfig.cs?rev=1542621&r1=1542620&r2=1542621&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/ClientConfig.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/ClientConfig.cs Sun Nov 17 00:39:36 2013
@@ -1,5 +1,4 @@
-using org.apache.juddi.v3.client.crypto;
-/*
+/*
  * Copyright 2001-2008 The Apache Software Foundation.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -15,6 +14,7 @@
  * limitations under the License.
  *
  */
+using org.apache.juddi.v3.client.cryptor;
 using org.apache.juddi.v3.client.log;
 using System;
 using System.Collections;
@@ -410,8 +410,6 @@ namespace org.apache.juddi.v3.client.con
         /// <summary>
         /// Fetches all digital signature related properties for the digital signature utility.          
         /// warning, this will decrypt all passwords
-        ///           
-
         /// </summary>
         /// <returns></returns>
         public Properties getDigitalSignatureConfiguration()

Modified: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/UDDIClerk.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/UDDIClerk.cs?rev=1542621&r1=1542620&r2=1542621&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/UDDIClerk.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/UDDIClerk.cs Sun Nov 17 00:39:36 2013
@@ -16,7 +16,7 @@
  */
 
 using org.apache.juddi.apiv3;
-using org.apache.juddi.v3.client.crypto;
+using org.apache.juddi.v3.client.cryptor;
 using org.apache.juddi.v3.client.log;
 using org.apache.juddi.v3.client.mapping;
 using org.uddi.apiv3;
@@ -795,7 +795,7 @@ namespace org.apache.juddi.v3.client.con
         /// <summary>
         ///  This calls a jUDDI implementation specific API call and is used to help 
         /// configure internode communication between jUDDI servers. This is NOT 
-        /// part of the UDDI specification.<br> Note: this API call should only
+        /// part of the UDDI specification. Note: this API call should only
         /// be used with secure ports (SSL/TLS)
         /// </summary>
         /// <param name="senderClerk"></param>
@@ -911,26 +911,25 @@ namespace org.apache.juddi.v3.client.con
         }
 
         /// <summary>
-        /// A helper class to create a tModel key generator.
         /// 
-        /// Why would I want a key generator? In UDDIv3, you're support to specify what you want the keys (unique identifiers) to be, however there's
+        /// A helper class to create a tModel key generator.&lt;br&gt;
+        /// Why would I want a key generator? In UDDIv3, you&#39;re suppose to specify what you want the keys (unique identifiers) to be, however there&#39;s
         /// a number of naming rules associated with the keys. Generally, use the FQDN of your business or organization.
         /// Optionally, when saving an UDDI entity, you can just leave the key name blank and the server
-        /// should generate one for you. It's normally a UUID that's not easy to remember. In this case, there's no need to call this method.
-        /// In addition, no changes are made to the UDDI server. You'll have to do that one using code similar to this:
-        /// 
+        /// should generate one for you. It&#39;s normally a UUID that&#39;s not easy to remember. In this case, there&#39;s no need to call this method. &lt;br&gt;&lt;br&gt;
+        /// In addition, no changes are made to the UDDI server. You&#39;ll have to do that one using code similar to this:
+        /// &lt;pre&gt;
         /// UDDIClerk clerk = ...
-        /// tModel keygen = UDDIClerk.createKeyGenator("mydomain.com", "my domain", "en");
+        /// TModel keygen = UDDIClerk.createKeyGenator(&quot;uddi:mydomain.com:keygenerator&quot;, &quot;my domain&quot;, &quot;en&quot;);
         /// clerk.register(keygen);
         /// 
-
-        /// @since 3.2
         /// </summary>
-        /// <param name="partitionName">think of this as the domain, i.e. juddi.apache.org, but it can really be anything you want. This will become part of the
-        /// key associated with the tModel generator (uddi:juddi.apache.org:keygenerator)</param>
+        /// <param name="partitionName">think of this as the domain, i.e. juddi.apache.org, but it can really be anything you want. This will become part of the</param>
+        /// key associated with the tModel generator (uddi:juddi.apache.org:keygenerator)
         /// <param name="DescriptiveName">required. max length is 255 char</param>
         /// <param name="DescriptiveNameLanguage">optional, max length is 26 char</param>
         /// <returns>a populated tModel entity representing a tModel key generator. No changes are made to any connect UDDI service</returns>
+        /// @since 3.2
         public static tModel createKeyGenator(String partitionName, String DescriptiveName, String DescriptiveNameLanguage)
         {
             if (partitionName == null || partitionName.Length == 0)
@@ -975,10 +974,11 @@ namespace org.apache.juddi.v3.client.con
         }
 
         /// <summary>
-        /// This calls a jUDDI implementation specific API call and is used to help 
-        /// configure internode communication between jUDDI servers. This is NOT 
-        /// part of the UDDI specification.<br> Note: this API call should only
-        /// be used with secure ports (SSL/TLS)
+        /// 
+        /// This calls a jUDDI implementation specific API call and is used to help
+        /// configure internode communication between jUDDI servers. This is NOT
+        /// part of the UDDI specification.&lt;br&gt;
+        /// Note: this API call should only be used with secure ports (SSL/TLS)
         /// </summary>
         /// <param name="node"></param>
         /// <returns></returns>
@@ -1030,28 +1030,29 @@ namespace org.apache.juddi.v3.client.con
         }
 
 
-        /**
-         * This is a convenience function that will build and return a TModelInstanceInfo
-         * as described in the following link that will enable you to tag web services
-         * registered in UDDI with some kind of version information.<Br><Br>
-         * Article source: <a href="http://www.ibm.com/developerworks/webservices/library/ws-version/">http://www.ibm.com/developerworks/webservices/library/ws-version/</a>
-         * <Br><Br>
-         * 
-         * When using this tModel as a tModelInstance, it can be used to describe a 
-         * version associated with either a service interface, a bindingTemplate 
-         * service instance. Note: This is a jUDDI specific addon and may not be 
-         * present in other registries
-         * 
-         * @param version From the article, no specificity is provided on what to use as a value, but
-         * we recommend that you use the string representation of major.minor[.build[.revision]].<br>
-         * Example 
-         * <ul>
-         * <li>6.1.2.3</li>
-         * <li>1.0</li>
-         * <li>0.1</li>
-         * </ul>
-         * @return TModelInstanceInfo populated as described in the article, plus some descriptive information
-         */
+        /// <summary>
+        /// 
+        /// This is a convenience function that will build and return a TModelInstanceInfo
+        /// as described in the following link that will enable you to tag web services
+        /// registered in UDDI with some kind of version information.&lt;Br&gt;&lt;Br&gt;
+        /// Article source: &lt;a href=&quot;http://www.ibm.com/developerworks/webservices/library/ws-version/&quot;&gt;http://www.ibm.com/developerworks/webservices/library/ws-version/&lt;/a&gt;
+        /// &lt;Br&gt;&lt;Br&gt;
+        /// 
+        /// When using this tModel as a tModelInstance, it can be used to describe a
+        /// version associated with either a service interface, a bindingTemplate
+        /// service instance. Note: This is a jUDDI specific addon and may not be
+        /// present in other registries
+        /// 
+        /// </summary>
+        /// <param name="version">From the article, no specificity is provided on what to use as a value, but</param>
+        /// we recommend that you use the string representation of major.minor[.build[.revision]].&lt;br&gt;
+        /// Example
+        /// &lt;ul&gt;
+        /// &lt;li&gt;6.1.2.3&lt;/li&gt;
+        /// &lt;li&gt;1.0&lt;/li&gt;
+        /// &lt;li&gt;0.1&lt;/li&gt;
+        /// &lt;/ul&gt;
+        /// <returns>TModelInstanceInfo populated as described in the article, plus some descriptive information</returns>
         public static tModelInstanceInfo createServiceInterfaceVersion(String version, String lang)
         {
             if (version == null)
@@ -1074,34 +1075,40 @@ namespace org.apache.juddi.v3.client.con
             return tt;
         }
 
-        /**
-         * This is a convenience function that will filter a list of binding templates
-         * and return a list of bindings matching the specified version number.
-         * 
-         * This implements and expands upon service versioning described in the 
-         * following link and will enable you to tag web services
-         * registered in UDDI with some kind of version information.<Br><Br>
-         * Article source: <a href="http://www.ibm.com/developerworks/webservices/library/ws-version/">http://www.ibm.com/developerworks/webservices/library/ws-version/</a>
-         * <Br><Br>
-         * @see createServiceInterfaceVersion for more information<Br><br>
-         * 
-         * This function operates using tModelInstances that are used to describe a 
-         * version associated with either a service interface, a bindingTemplate 
-         * service instance. Note: This is a jUDDI specific addon and may not be 
-         * present in other registries
-         * 
-         * @param version From the article, no specificity is provided on what to use as a value, but
-         * we recommend that you use the string representation of major.minor[.build[.revision]].<br>
-         * Example 
-         * <ul>
-         * <li>6.1.2.3</li>
-         * <li>1.0</li>
-         * <li>0.1</li>
-         * </ul>
-         * @param version
-         * @param bindingTemplate
-         * @return a list if binding templates where the version equals ignoring case trimmed equals the version value
-         */
+        /// <summary>
+        /// 
+        /// This is a convenience function that will filter a list of binding templates
+        /// and return a list of bindings matching the specified version number.
+        /// 
+        /// This implements and expands upon service versioning described in the
+        /// following link and will enable you to tag web services
+        /// registered in UDDI with some kind of version information.&lt;Br&gt;&lt;Br&gt;
+        /// Article source: &lt;a href=&quot;http://www.ibm.com/developerworks/webservices/library/ws-version/&quot;&gt;http://www.ibm.com/developerworks/webservices/library/ws-version/&lt;/a&gt;
+        /// &lt;Br&gt;&lt;Br&gt;
+        /// </summary>
+        /// <see cref="createServiceInterfaceVersion"></see>
+        /// <see cref="createServiceInterfaceVersion"></see>
+        /// <see cref="createServiceInterfaceVersion"></see>
+        /// <see cref="createServiceInterfaceVersion"></see>
+        /// <see cref="createServiceInterfaceVersion"></see>
+        /// 
+        /// This function operates using tModelInstances that are used to describe a
+        /// version associated with either a service interface, a bindingTemplate
+        /// service instance. Note: This is a jUDDI specific addon and may not be
+        /// present in other registries
+        /// 
+        /// <param name="version">From the article, no specificity is provided on what to use as a value, but</param>
+        /// we recommend that you use the string representation of major.minor[.build[.revision]].&lt;br&gt;
+        /// Example
+        /// &lt;ul&gt;
+        /// &lt;li&gt;6.1.2.3&lt;/li&gt;
+        /// &lt;li&gt;1.0&lt;/li&gt;
+        /// &lt;li&gt;0.1&lt;/li&gt;
+        /// &lt;/ul&gt;
+        /// <param name="version"></param>
+        /// <param name="bindingTemplate"></param>
+        /// <returns>a list if binding templates where the version equals ignoring case trimmed equals the version value</returns>
+
         public static List<bindingTemplate> getBindingByVersion(String version, bindingTemplate[] bindingTemplate)
         {
             if (version == null)

Added: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.cryptor/AES128Cryptor.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.cryptor/AES128Cryptor.cs?rev=1542621&view=auto
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.cryptor/AES128Cryptor.cs (added)
+++ juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.cryptor/AES128Cryptor.cs Sun Nov 17 00:39:36 2013
@@ -0,0 +1,51 @@
+/*
+ * Copyright 2001-2008 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.
+ *
+ */
+using System;
+using System.Collections.Generic;
+
+using System.Text;
+
+namespace org.apache.juddi.v3.client.cryptor
+{
+    /// <summary>
+    /// AES128 Cipher
+    /// </summary>
+    /// <author><a href="mailto:alexoree@apache.org">Alex O'Ree</a></author> 
+    internal sealed class AES128Cryptor : AESCryptor
+    {
+        protected internal override int GetKeySize()
+        {
+            return 128;
+        }
+
+        protected internal override int GetBlockSize()
+        {
+            return 128;
+        }
+
+        protected internal override byte[] GetKey()
+        {
+            return Convert.FromBase64String("oT5ljhVnMVQMnV2E7BOj7Q==");
+
+        }
+
+        protected internal override byte[] GetIV()
+        {
+            return Convert.FromBase64String("xtMa34fpJ9bCdpODQn8GmQ==");
+        }
+    }
+}

Added: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.cryptor/AES256Cryptor.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.cryptor/AES256Cryptor.cs?rev=1542621&view=auto
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.cryptor/AES256Cryptor.cs (added)
+++ juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.cryptor/AES256Cryptor.cs Sun Nov 17 00:39:36 2013
@@ -0,0 +1,91 @@
+/*
+ * Copyright 2001-2008 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.
+ *
+ */
+
+using System;
+using System.Collections.Generic;
+using System.Security.Cryptography;
+using System.Text;
+
+namespace org.apache.juddi.v3.client.cryptor
+{
+    /// <summary>
+    /// AES256 Cipher
+    /// </summary>
+    /// <author><a href="mailto:alexoree@apache.org">Alex O'Ree</a></author> 
+    public sealed class AES256Cryptor : AESCryptor
+    {
+
+        protected internal override int GetKeySize()
+        {
+            return 256;
+        }
+
+        protected internal override int GetBlockSize()
+        {
+            return 256;
+        }
+
+        public String generateKey()
+        {
+
+           /* AesManaged
+        Legal min key size = 128
+        Legal max key size = 256
+        Legal min block size = 128
+        Legal max block size = 128*/
+            using (RijndaelManaged rijAlg = new RijndaelManaged())
+            {
+                rijAlg.KeySize = 256;
+                rijAlg.BlockSize = 256;
+                rijAlg.GenerateKey();
+                rijAlg.GenerateIV();
+                return rijAlg.KeySize + " " + rijAlg.BlockSize + " " + Convert.ToBase64String(rijAlg.IV, Base64FormattingOptions.None) + " " + 
+                    Convert.ToBase64String(rijAlg.Key, Base64FormattingOptions.None);
+            }
+
+        }
+        protected internal override byte[] GetKey()
+        {
+            //256 256 
+            
+            //
+            //OI3xpA3ju175rBFDbgNek9fvQOXMhLNpktgm4+mDvvQ=
+            //tK47Y1FE1JragvCmanbzsA== 
+            //yEt6Jn1rEnFFmWduUEu7fxki31k3/TPOzhzHXrKhd4U=
+
+            //256 
+            //gAyHDYd4hwYru2ofV41KEw== 
+            //2LsXyePZKqYRyxks/9mXiiMewNo5Ai8KDz8FNSi/OvU=
+
+
+            //zR5gURV+ZeJ9pzYIymEwkg==
+            //xgFJ6zCSBB7OAWo3v2y5H1JO4VYlRyxA5Z4gIOOBUzY=
+
+            //9jjQB84Xx1fA5D0vS8EWqA==
+            //RLzwr0D+wnoOPcl4lHPPILPN1TLaH89u0la2+GFWIFY=
+
+            //auWb4YCYAuZQ/joSieu8bg==
+            //VlfjcIggVX5QlvwAKzKmaI92q1ADZgop5RRsQUW8sXQ=
+            return Convert.FromBase64String("OI3xpA3ju175rBFDbgNek9fvQOXMhLNpktgm4+mDvvQ=");
+        }
+
+        protected internal override byte[] GetIV()
+        {
+            return Convert.FromBase64String("19BWwWbtICJkI04WpBkMBkURJTTRB0gIyUyiVgXcaCw= ");
+        }
+    }
+}

Added: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.cryptor/AESCryptor.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.cryptor/AESCryptor.cs?rev=1542621&view=auto
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.cryptor/AESCryptor.cs (added)
+++ juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.cryptor/AESCryptor.cs Sun Nov 17 00:39:36 2013
@@ -0,0 +1,153 @@
+/*
+ * Copyright 2001-2008 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.
+ *
+ */
+using System;
+using System.Collections.Generic;
+using System.IO;
+
+using System.Security.Cryptography;
+using System.Text;
+
+namespace org.apache.juddi.v3.client.cryptor
+{
+    /// <summary>
+    /// An abstract class for AES functions
+    /// </summary>
+    /// <see cref="org.apache.juddi.v3.client.cryptor.AES128Cryptor"/>
+    /// <see cref="org.apache.juddi.v3.client.cryptor.AES256Cryptor"/>
+    /// <author><a href="mailto:alexoree@apache.org">Alex O'Ree</a></author> 
+    public  abstract class AESCryptor : Cryptor
+    {
+
+        protected internal abstract int GetKeySize();
+        protected internal abstract byte[] GetKey();
+        protected internal abstract byte[] GetIV();
+        protected internal abstract int GetBlockSize();
+        public string encrypt(string str)
+        {
+          
+            // Encrypt the string to an array of bytes.
+            byte[] encryptedPassword = EncryptStringToBytes(str, GetKey(), GetKey());
+           
+            return Convert.ToBase64String(encryptedPassword);
+
+        }
+
+        public string decrypt(string str)
+        {
+            byte[] encryptedPassword = Convert.FromBase64String(str);
+            string clear = DecryptStringFromBytes(encryptedPassword, GetKey(), GetKey());
+           
+            return clear;
+        }
+
+        
+        internal byte[] EncryptStringToBytes(string plainText, byte[] key, byte[] iv)
+        {
+            // Check arguments.
+            if (plainText == null || plainText.Length <= 0)
+            {
+                throw new ArgumentNullException("plainText");
+            }
+            if (key == null || key.Length <= 0)
+            {
+                throw new ArgumentNullException("key");
+            }
+            if (iv == null || iv.Length <= 0)
+            {
+                throw new ArgumentNullException("key");
+            }
+
+
+            byte[] encrypted;
+            // Create an RijndaelManaged object
+            // with the specified key and IV.
+            using (var rijAlg = new RijndaelManaged())
+            {
+                rijAlg.BlockSize = this.GetBlockSize();
+                rijAlg.KeySize = this.GetKeySize();
+                rijAlg.Key = key;
+                rijAlg.IV = iv;
+
+                // Create a decrytor to perform the stream transform.
+                ICryptoTransform encryptor = rijAlg.CreateEncryptor(rijAlg.Key, rijAlg.IV);
+
+                // Create the streams used for encryption.
+                using (var msEncrypt = new MemoryStream())
+                {
+                    using (var csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write))
+                    {
+                        using (var swEncrypt = new StreamWriter(csEncrypt))
+                        {
+                            //Write all data to the stream.
+                            swEncrypt.Write(plainText);
+                        }
+                        encrypted = msEncrypt.ToArray();
+                    }
+                }
+            }
+
+
+            // Return the encrypted bytes from the memory stream.
+            return encrypted;
+
+        }
+
+        internal  string DecryptStringFromBytes(byte[] cipherText, byte[] key, byte[] iv)
+        {
+            // Check arguments.
+            if (cipherText == null || cipherText.Length <= 0)
+                throw new ArgumentNullException("cipherText");
+            if (key == null || key.Length <= 0)
+                throw new ArgumentNullException("key");
+            if (iv == null || iv.Length <= 0)
+                throw new ArgumentNullException("key");
+
+            // Declare the string used to hold
+            // the decrypted text.
+            string plaintext;
+
+            // Create an RijndaelManaged object
+            // with the specified key and IV.
+            using (var rijAlg = new RijndaelManaged())
+            {
+                rijAlg.BlockSize = this.GetBlockSize();
+                rijAlg.KeySize = this.GetKeySize();
+                rijAlg.Key = key;
+                rijAlg.IV = iv;
+
+                // Create a decrytor to perform the stream transform.
+                ICryptoTransform decryptor = rijAlg.CreateDecryptor(rijAlg.Key, rijAlg.IV);
+
+                // Create the streams used for decryption.
+                using (var msDecrypt = new MemoryStream(cipherText))
+                {
+                    using (var csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read))
+                    {
+                        using (var srDecrypt = new StreamReader(csDecrypt))
+                        {
+                            // Read the decrypted bytes from the decrypting stream
+                            // and place them in a string.
+                            plaintext = srDecrypt.ReadToEnd();
+                        }
+                    }
+                }
+
+            }
+            return plaintext;
+        }
+    }
+}

Added: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.cryptor/Cryptor.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.cryptor/Cryptor.cs?rev=1542621&view=auto
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.cryptor/Cryptor.cs (added)
+++ juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.cryptor/Cryptor.cs Sun Nov 17 00:39:36 2013
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2001-2008 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.
+ *
+ */
+using System;
+using System.Collections.Generic;
+
+using System.Text;
+
+namespace org.apache.juddi.v3.client.cryptor
+{
+    /// <summary>
+    /// The Crpytor interface, used for encrypting and decrypted credentials
+    /// </summary>
+    /// <author><a href="mailto:alexoree@apache.org">Alex O'Ree</a></author> 
+    public interface Cryptor
+    {
+
+
+
+        /// <summary>
+        /// Encrypt the string, if unable to encrypt, return null
+        /// </summary>
+        /// <param name="str"></param>
+        /// <returns>encrypted string</returns>
+        String encrypt(String str);
+        /// <summary>
+        /// decrypts the string
+        /// </summary>
+        /// <param name="str"></param>
+        /// <returns>if the password can be decrypted, the decrypted value is returned, otherwise the original value is returned.
+        /// In the event that decryption fails, the error message must be logged.</returns>
+        String decrypt(String str);
+
+    }
+}

Added: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.cryptor/CryptorFactory.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.cryptor/CryptorFactory.cs?rev=1542621&view=auto
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.cryptor/CryptorFactory.cs (added)
+++ juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.cryptor/CryptorFactory.cs Sun Nov 17 00:39:36 2013
@@ -0,0 +1,67 @@
+/*
+ * Copyright 2001-2008 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.
+ *
+ */
+using System;
+using System.Collections.Generic;
+
+using System.Text;
+
+
+namespace org.apache.juddi.v3.client.cryptor
+{
+    /// <summary>
+    /// loads the appropriate cipher
+    /// </summary>
+    /// <author><a href="mailto:alexoree@apache.org">Alex O'Ree</a></author> 
+    public class CryptorFactory
+    {
+        static Dictionary<String, Cryptor> cache = new Dictionary<string, Cryptor>();
+
+        public static readonly string AES128 = "AES128Cryptor";
+        public static readonly string AES256 = "AES256Cryptor";
+        public static readonly string TripleDES = "TripleDESCryptor";
+        /// <summary>
+        /// known implementations
+        /// org.apache.juddi.v3.client.crypto.AES128Cryptor
+        /// org.apache.juddi.v3.client.crypto.AES256Cryptor
+        /// org.apache.juddi.v3.client.crypto.TripleDESCryptor
+        /// </summary>
+        /// <param name="clazz"></param>
+        /// <returns></returns>
+        public static Cryptor getCryptor(string clazz)
+        {
+            if (cache.ContainsKey(clazz))
+                return cache[clazz];
+            Cryptor c = null;
+            if (clazz.Equals(typeof(org.apache.juddi.v3.client.cryptor.AES128Cryptor).Name))
+            {
+                c = new AES128Cryptor();
+            }
+            if (clazz.Equals(typeof(org.apache.juddi.v3.client.cryptor.AES256Cryptor).Name))
+            {
+                c = new AES256Cryptor();
+            }
+            if (clazz.Equals(typeof(org.apache.juddi.v3.client.cryptor.TripleDESCryptor).Name))
+            {
+                c = new TripleDESCryptor();
+            }
+            if (c != null)
+                cache.Add(clazz, c);
+            return c;
+
+        }
+    }
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@juddi.apache.org
For additional commands, e-mail: commits-help@juddi.apache.org