locked
Wpf & FIPS RRS feed

  • Question

  • i have enabled the
    "System cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing"
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FipsAlgorithmPolicy\Enabled = 1

    to encrypt my hard drive with bitlocker (i have windows 7 ultimate x64)
    so i can't disable it because i have 2 partition of 1 terabyte encrypted with it and i can decrypt them ,
    they must stay encrypted with the fips policy

    but when i try to build a wpf application with visual studio 2010 beta 2 ultimate or with expression blend 3

    they give me this error on those classes: Application , Window :

    "This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms."


    but i'm not using any of the managed cryptographic algorithms,
    i just have a new window there

    can it be because that Object.GetHashCode() not using a fips compliant algorithm?


    maybe it only says it about them because they(Application, Window) are the root element in their xaml file,
    and it says it to any other root object like system.object


    although in .net 2.0, this is the implementation of Object.GetHashCode


    int m_dwHashCodeSeed = 0;
    Thread.GetNewHashCode()
    {
        m_dwHashCodeSeed = m_dwHashCodeSeed*(m_ThreadId*4 + 5) + 1;
        return m_dwHashCodeSeed;
    }

    Object.GetHashCode()
    {
        hashCode = GetThread().GetNewHashCode() >> 7;
    }

    and there isn't any throw of fips exception


    how can i solve/bypass it without changing the FipsAlgorithmPolicy in the registry,
    Tuesday, October 27, 2009 1:26 PM

All replies

  • i checked the theory of the root element , and i was right

    it has nothing to do with the Application or the Window classes
    it says that about them only because they are the root object


    i tried to create a new Class Library project
    and even a regular blank class (classes are derived from object)
    when i try to compile it says the same error about fips

    i think that maybe in the .net 3.0-4.0
    the implementation of Object.GetHashCode() Have Changed to use one of the managed cryptographic algorithms :

    in System.Security.Cryptography:
    AesManaged
    MD5Cng
    MD5CryptoServiceProvider
    RC2CryptoServiceProvider
    RijndaelManaged
    RIPEMD160Managed
    SHA1Managed
    SHA256Managed
    SHA384Managed
    SHA512Managed

    and thoose managed cryptographic algorithms are not Fips compliant , only some of the CNG algorithms (such as AES) are


    so i think that it's better to move this post to another forum because it doesn't happens because of wpf,
    i think it's better to move this post to the CLR or BCL forum
    Tuesday, October 27, 2009 2:11 PM
  • i tried to override the GetHashCode on the class library that i did but it still doesn't let me to compile
    Tuesday, October 27, 2009 3:08 PM
  • Hello igalk474,

       Due to a VS 2010 issue,

       You can also post at:

       Visual Studio 2010 & .NET Framework 4 Beta 2 Announcements

       Thanks.
    Please mark the replies as answers if they help and unmark them if they provide no help
    Wednesday, October 28, 2009 7:49 AM