Can't open a Reporting Services report from the SSRS portal when the host computer has FIPS compliance enabled

Applies to: SQL Server 2016 DeveloperSQL Server 2016 EnterpriseSQL Server 2016 Enterprise Core

Symptoms


You enable FIPS compliance on a host computer that's running SQL Server 2016 Reporting Services (SSRS). When you open a Reporting Services report from the SSRS web portal, you may receive an error message that resembles the following:
library!ReportServer_0-1!1094!date time:: i INFO: Call to GetItemTypeAction(/Test).

library!ReportServer_0-1!2418!date time:: e ERROR: Error rending control: System.TypeInitializationException: The type initializer for 'Microsoft.Reporting.WebForms.ClientTelemetry' threw an exception. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidOperationException: This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.

   at System.Security.Cryptography.SHA256Managed..ctor()

   --- End of inner exception stack trace ---

   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)

   at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)

   at System.Security.Cryptography.CryptoConfig.CreateFromName(String name, Object[] args)

   at System.Security.Cryptography.SHA256.Create()

   at Microsoft.ReportingServices.Diagnostics.SqmRegistryConfiguration.GetSHA256Hash(String input)

   at Microsoft.Reporting.WebForms.ClientTelemetry..cctor()

   --- End of inner exception stack trace ---

   at Microsoft.ReportingServices.WebServer.ReportViewerPage.OnPreRender(EventArgs e)

   at System.Web.UI.Control.PreRenderRecursiveInternal()

   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

Resolution


The fix for this issue is included in the following cumulative update for SQL Server:


Workaround


To work around this issue, prevent SQL Server Reporting Services from using FIPS by setting the enforceFIPSPolicy-enabled option to "false" in the ReportingServicesService.exe.config file.

Status


Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

References


Learn about the terminology Microsoft uses to describe software updates.