Help with encrypting connection strings

G

girthyvhf

Hello all,

I am trying to use the example for encrypting connection strings
called:


How To: Build And Run the Protected Configuration Provider Example.


This is located in VS 2005 help at:


ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_aspnetcon/html/­7ed8b347-c790-4768-9ae3-53ddc934ac78.htm



I am at the point where I am using aspnet_regiis.exe to do the
encryption but I keep getting the error:


Could not load file or assembly
'TripleDESProtectedConfigurationProvider, Version=0.0.0.0,
PublicKeyToken=e0f3f54636e895dd' or one of its dependencies. The system

cannot find the file specified.
Failed!


I have followed the directions in the example and made the proper
adjustments for my specific environment (like changing the Public Key
Token in the web.config entry to the one created when I installed the
dll to the GAC). But for some reason aspnet_regiis.exe can't seem to
locate the dll.


Here is my web.config entry:


<configProtectedData>
<providers>
<add name="TripleDESProvider"
type="ProtectedConfiguration.TripleDESProtectedConfigurationProvider,
TripleDESProtectedConfigurationProvider, Version=0.0.0.0,
CultureInfo=neutral, PublicKeyToken=e0f3f54636e895dd,
processorArchitecture=MSIL" keyFilePath="c:\AppConfig\Keys.txt"/>
</providers>
</configProtectedData>


You may notice that in the type="" part the namespace is different than

in the example. I have accounted for this. I also tried it with the
example namespace first with similar results. I also have tried
running aspnet_regiis.exe -i -enable. Didn't help. I have entered the

assembly location in the registry to get it to show up on the .NET tab
of the Add References dialog. Didn't help.


Any suggestions would be welcome.


Thanks,
Dave
 
G

girthyvhf

Final update: I have everything working correctly out of the GAC. Here
was my issue:

Too much copying and pasting and not enough paying attention to the
details. Thanks to Suzanne Cook and her blog on gotdotnet.com for
pointing out that you need to have the names of things referenced in
the GAC exact. At it turns out, the line in my web.config file:

<add name="TripleDESProvider"
type="Samples.AspNet.ProtectedConfiguration.TripleDESProtectedConfigurationProvider,
TripleDESProtectedConfigurationProvider, Version=0.0.0.0,
CultureInfo=neutral, PublicKeyToken=703e257c00b2e90a,
processorArchitecture=MSIL" keyFilePath="c:\AppConfig\Keys.txt"/>

actually needed to be:

<add name="TripleDESProvider"
type="Samples.AspNet.ProtectedConfiguration.TripleDESProtectedConfigurationProvider,
TripleDESProtectedConfigurationProvider, Version=0.0.0.0,
Culture=neutral, PublicKeyToken=703e257c00b2e90a,
processorArchitecture=MSIL" keyFilePath="c:\AppConfig\Keys.txt"/>

The difference being the Culture=neutral part. Apparently when I
copied and pasted from Microsoft's example, it came with
CultureInfo=neutral, which was wrong in my case. Go figure. Anyway,
Suzanne Cook pointed out that by doing gacutil /l from the dot net
command prompt you can get a list of everything in the GAC as the GAC
sees the names. Once I did this and compared it to my web.config entry
all was well in my world. Now if only I could replace all the hair I
have pulled out of my head...

Dave
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,014
Latest member
BiancaFix3

Latest Threads

Top