2010-05-05 17 views
3

Nous avons une application .NET 2.0 qui utilise la classe RijindaelManaged pour chiffrer certaines données sensibles. Cela s'est bien passé jusqu'à ce que nous ayons rencontré des machines qui nécessitent l'utilisation d'algorithmes compatibles FIPS.Chiffrement compatible FIPS dans .NET 2.0

Nous aimerions passer à AesCryptoServiceProvider, mais la plupart de nos machines cibles n'ont pas migré après .NET 2.0. Exiger une mise à niveau est hors de question. Après tout, les mises à niveau sont effrayantes!

Est-il possible d'utiliser AesCryptoServiceProvider dans une application .NET 2.0? Depuis 3.5 utilise le 2.0 CLR, j'espérais qu'il pourrait y avoir un moyen de construire les bibliothèques nécessaires dans l'application. A défaut, quelqu'un pourrait-il me diriger vers une référence sur l'API native qui est entourée par AesCryptoServiceProvider?

+0

Mes 2 cents, la mise à niveau de votre projet pour être basé sur la version actuelle de .NET est tout à fait raisonnable. –

+2

Raisonnable pour les développeurs, mais pas les clients. Ils refusent d'améliorer leurs systèmes. Nous avons plusieurs très gros clients qui ont le pouvoir d'influencer nos décisions de développement de cette manière. – Odrade

Répondre

3

Oui, vous pouvez simplement inclure les bibliothèques 3.5 dont vous avez besoin avec l'installation de l'application (utilisez simplement la copie locale lorsque vous générez le projet). Depuis qu'il fonctionne sur l'environnement 2.0, il n'y a pas besoin de mettre à niveau les machines si elles ont .Net 2.0 sur eux.

+0

Comment cela peut-il être accompli dans Visual Studio 2008? Avec la plate-forme cible définie sur 2.0, je ne peux pas utiliser AesCryptoServiceProvider. J'ai essayé d'ajouter manuellement une référence à 3.5 System.Core.dll, mais cela ne fonctionnait pas non plus. – Odrade

+0

Définissez la plate-forme cible sur 3.5, ce qui vous permettra d'accéder aux dll. – kemiller2002