dotnet/Documentation/compatibility/workflow-checksums-changed-...

1.2 KiB

Workflow checksums changed from MD5 to SHA1

Scope

Minor

Version Introduced

4.7

Source Analyzer Status

NotPlanned

Change Description

To support debugging with Visual Studio, the Workflow runtime generates a checksum for a workflow instance using a hashing algorithm. In the .NET Framework 4.6.2 and earlier versions, workflow checksum hashing used the MD5 algorithm, which caused issues on FIPS-enabled systems. Starting with the .NET Framework 4.7, the algorithm is SHA1. If your code has persisted these checksums, they will be incompatible.

  • Quirked
  • Build-time break

If your code is unable to load workflow instances due to a checksum failure, try setting the AppContext switch "Switch.System.Activities.UseMD5ForWFDebugger" to true.

In code:

System.AppContext.SetSwitch("Switch.System.Activities.UseMD5ForWFDebugger", true);

Or in configuration:

<configuration>
   <runtime>
      <AppContextSwitchOverrides value="Switch.System.Activities.UseMD5ForWFDebugger=true" /> 
   </runtime>
</configuration>

Affected APIs

  • Not detectable via API analysis

Category

Windows Workflow Foundation (WF)