Problem

DevFC , DFAgent are crashing with a message stating "stopped working"

 

Symptoms

  • Using latest Windows Azure SDK 1.6, tried to debug a sample application and getting two dialog boxes stating DevFC stopped working, DFAgent stopped working.
  • DFAgent.log has below exception details

[2012/02/17, 10:35:26.706,  INFO, 00004648] StorageRoot: c:\dftemp
[2012/02/17, 10:35:26.735,  INFO, 00004648] Exception has been thrown by the target of an invocation.
[2012/02/17, 10:35:26.770,  INFO, 00004648]    at System.RuntimeMethodHandle._InvokeConstructor(Object[] args, SignatureStruct& signature, IntPtr declaringType)
at System.RuntimeMethodHandle.InvokeConstructor(Object[] args,SignatureStruct signature, RuntimeTypeHandle declaringType)
at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlagsinvokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Security.Cryptography.CryptoConfig.CreateFromName(String name,Object[] args)
at System.Security.Cryptography.MD5.Create(String algName)
at System.Security.Cryptography.MD5.Create()
at Microsoft.Windows.Azure.Fabric.Cfx.Tracing.CfxTraceSource.Init(StringtraceName, String directory, Guid providerGuid, CfxFileUploader uploader,Boolean enable)
at Microsoft.Windows.Azure.Fabric.Cfx.Tracing.CfxTraceSource..ctor(StringtraceName, String directory, Guid providerGuid) at main(Int32 argc, SByte** argv)

 

Cause

Local security policy “Use FIPS compliant algorithms for encryption, hashing and signing Properties” is enabled on the machine we were troubleshooting and MD5 algorithm is not compatible with this policy and hence resulting in unhandled exception

 

Resolution

Disable "System cryptography: Use FIPS compliant algorithms for encryption, hashing and signing" policy. (Disabled is default option)

To disable FIPS compliant algorithms, follow these steps:

  1.  In Control Panel, double-click Administrative Tools .
  2.  In Administrative Tools , double-click Local Security Policy . 
  3.  In Local Security Policy , expand Local Policies , expand Security Options , and then double-click System cryptography: Use FIPS compliant algorithms for encryption, hashing and signing .
  4.  In the System cryptography: Use FIPS compliant algorithms for encryption, hashing and signing Properties dialog box, click the Local Security Setting tab.
  5.  On the Local Security Setting tab, click Disabled , and then click OK . 
  6.  Close Local Security Policy.

 

More Info

If the development environment is Visual Studio 2010, below error is displayed during the compilation stage itself.

error CS1504: Source file 'c:\users\user\documents\visual studio 2010\Projects\TempRole\WebRole1\Properties\AssemblyInfo.cs' could not be opened ('This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.')

 

System cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing

http://technet.microsoft.com/en-us/library/cc780081(v=WS.10).aspx

http://support.microsoft.com/kb/811833

 

 

Key words: DevFC, DFAgent, FIPS, MD5, Windows Azure, SDK 1.6