|
Hi, I have Created a CRUFL function in C# .This function gets
the encrypted item and decrypt it by using Microsoft Enterprise
library algo "RijndaelManaged" its working fine if I have called
web.config file by hard coded path using the below code (I am using
Crystal Report ver 11.5 and C# 2.0)
FileConfigurationSource fileSource = new FileConfigurationSource("Web.config file hard coded path");
SymmetricCryptoProviderFactory factory = new SymmetricCryptoProviderFactory(fileSource);
ISymmetricCryptoProvider provider = factory.Create("RijndaelManaged");
byte[] encryptedByteArray2 = Convert.FromBase64String(EncryptedText; byte[] unencryptedByteArray2 = provider.Decrypt(encryptedByteArray2);
string unencryptedText = Encoding.Unicode. GetString(unencryptedByteArray2);
But
its unable to find securityCryptographyConfiguration from web.config
file when I'm trying to use (I already have defined that
securityCryptographyConfiguration block in web.config and it's working
when I was trying to access web.config file by using hard coded path )
Cryptographer.DecryptSymmetric("RijndaelManaged", EncryptedText)
It gives me the following error (it seems to be that its not able to access web.config in CRUFL function)
System.Configuration.ConfigurationErrorsException:
The configuration section securityCryptographyConfiguration is not
defined in the current configuration for the AppDomain. at Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.CryptographyConfigurationView.get_CryptographySettings()
at
Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.CryptographyConfigurationView.GetSymetricCryptoProviderData(String
symetricCryptoProviderName) at
Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.SymmetricCryptoProviderCustomFactory.GetConfiguration(String
name, IConfigurationSource configurationSource) at
Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ObjectBuilder.AssemblerBasedCustomFactory`2.Create(IBuilderContext
context, String name, IConfigurationSource configurationSource,
ConfigurationReflectionCache reflectionCache) at
Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ObjectBuilder.AssemblerBasedCustomFactory`2.CreateObject(IBuilderContext
context, String name, IConfigurationSource configurationSource,
ConfigurationReflectionCache reflectionCache) at
Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ObjectBuilder.ConfiguredObjectStrategy.BuildUp(IBuilderContext
context, Type t, Object existing, String id) at
Microsoft.Practices.ObjectBuilder.BuilderStrategy.BuildUp(IBuilderContext
context, Type typeToBuild, Object existing, String idToBuild) at
Microsoft.Practices.ObjectBuilder.SingletonStrategy.BuildUp(IBuilderContext
context, Type typeToBuild, Object existing, String idToBuild) at
Microsoft.Practices.ObjectBuilder.BuilderStrategy.BuildUp(IBuilderContext
context, Type typeToBuild, Object existing, String idToBuild) at
Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ObjectBuilder.ConfigurationNameMappingStrategy.BuildUp(IBuilderContext
context, Type t, Object existing, String id) at
Microsoft.Practices.ObjectBuilder.BuilderBase`1.DoBuildUp(IReadWriteLocator
locator, Type typeToBuild, String idToBuild, Object existing,
PolicyList[] transientPolicies) at
Microsoft.Practices.ObjectBuilder.BuilderBase`1.BuildUp(IReadWriteLocator
locator, Type typeToBuild, String idToBuild, Object existing,
PolicyList[] transientPolicies) at
Microsoft.Practices.ObjectBuilder.BuilderBase`1.BuildUp[TTypeToBuild](IReadWriteLocator
locator, String idToBuild, Object existing, PolicyList[]
transientPolicies) at
Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ObjectBuilder.EnterpriseLibraryFactory.BuildUp[T](IReadWriteLocator
locator, String id, IConfigurationSource configurationSource) at
Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ObjectBuilder.EnterpriseLibraryFactory.BuildUp[T](String
id, IConfigurationSource configurationSource) at Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ObjectBuilder.NameTypeFactoryBase`1.Create(String name)
at
Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.Cryptographer.DecryptSymmetric(String
symmetricInstance, Byte[] ciphertext) at
Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.Cryptographer.DecryptSymmetric(String
symmetricInstance, String ciphertextBase64) at CRUFL_SSNTest.SSNTestingUfl.TestSSNVersion4(String ssn)
Edited by mhbcedu - 05 Nov 2009 at 10:33am
|