3

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?

Odrade
  • 7,409
  • 11
  • 42
  • 65
  • My 2 cents, upgrading your project to be based on the current version of .NET is entirely reasonable. – Chris Marisic May 05 '10 at 14:09
  • 2
    Reasonable to the developers, but not the customers. They refuse to upgrade their systems. We have several very large customers who have the power to influence our development decisions in this way. – Odrade May 05 '10 at 14:29

1 Answers1

3

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.

kemiller2002
  • 113,795
  • 27
  • 197
  • 251
  • 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 May 05 '10 at 14:34
  • Set the target platform to 3.5, and that will allow you to access the dlls. – kemiller2002 May 05 '10 at 20:13