Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do you use FIPS validated cryptographic algorithms with Visual Studio 2010 and Windows 7?

I've enabled FIPS compliance mode in Windows 7, but now my code fails to compile with the following error:

Source file 'whatever.cs' could not be opened ('This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.')

I'm using SHA1 (hashing) and TripleDes (encryption) encryption. I also tried SHA512 and AES (256 bit key).

I can't get the project to build any more, but I need to compile it to use FIPS Compliant algorithms.

like image 912
ScArcher2 Avatar asked Feb 17 '11 20:02

ScArcher2


People also ask

How do I fix this implementation is not part of the Windows platform FIPS validated cryptographic algorithms?

Go to Start > Control Panel > Administrative tools > Local Security Policy. The Group Policy dialog appears. Under the 'Local Policies' heading, select 'Security Options' Look for the entry, 'System cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing.

How do I turn off FIPS in Windows 7?

In Security Settings, expand Local Policies, and then click Security Options. Under Policy in the right pane, double-click System cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing, and then click Disabled.

How do I know if my Windows has FIPS enabled?

Overview. Open up your registry editor and navigate to HKLM\System\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy\Enabled. If the Enabled value is 0 then FIPS is not enabled. If the Enabled value is 1 then FIPS is enabled.


1 Answers

This has a list of FIPS compliant algorithms. A more complete list is here

FIPS compliant Algorithms:

Hash algorithms

HMACSHA1

MACTripleDES

SHA1CryptoServiceProvider

Symmetric algorithms (use the same key for encryption and decryption)

DESCryptoServiceProvider

TripleDESCryptoServiceProvider

Asymmetric algorithms (use a public key for encryption and a private key for decryption)

DSACryptoServiceProvider

RSACryptoServiceProvider

So you will need to use SHA1CryptoServiceProvider and TripleDESCryptoServiceProvider to be FIPS compliant

like image 114
SwDevMan81 Avatar answered Sep 27 '22 23:09

SwDevMan81