views:

65

answers:

1

We have a .NET 2.0 application that uses the RijindaelManaged class to encrypt some sensitive data. This was fine until we ran into some machines that require the use of FIPS-compliant algorithms.

We'd like to switch to AesCryptoServiceProvider, but most of our target machines haven't upgraded past .NET 2.0. Requiring an upgrade is out of the question. After all, upgrades are scary!

Is there any way we could use AesCryptoServiceProvider in a .NET 2.0 application? Since 3.5 uses the 2.0 CLR, I was hoping there might be a way to build the needed libraries into the app. Failing that, could someone point me to a reference on the native API that's wrapped by AesCryptoServiceProvider?

+3  A: 

Yes, you can just include the 3.5 libraries you need with the application installation (just use the copy local when you build the project). Since it runs on the 2.0 environment, there is no need to upgrade the machines if the have .Net 2.0 on them.

Kevin
How can this be accomplished in visual studio 2008? With the target platform set to 2.0, I'm unable to use AesCryptoServiceProvider. I tried manually adding a reference to the 3.5 System.Core.dll, but that didn't work either.
Odrade
Set the target platform to 3.5, and that will allow you to access the dlls.
Kevin