/* | |
* 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; | |
} | |
} | |
} |