Voici un problème qui touche SQL Server et son composant Reporting Services. Lorsque vous ouvrez le portail du serveur de rapports (Report Manager), vous obtenez une erreur 500. Les rapports sont tout de même accessibles par le web services et peuvent ainsi souvent être accessibles via vos outils dépendants (System Center Configuration Manager, System Center Operations Manager…) En regardant le fichier de journalisation (ReportServerService_<timestamp>.log) de Reporting Services (<Chemin d’installation>\MSRS<Version SQL>.MSSQLSERVER\Reporting Services\LogFiles), on observe :
System.InvalidOperationException: This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.
at System.Security.Cryptography.RijndaelManaged..ctor()
at System.Web.Configuration.MachineKeySection.ConfigureEncryptionObject()
at System.Web.Configuration.MachineKeySection.EnsureConfig()
at System.Web.Configuration.MachineKeySection.GetEncodedData(Byte[] buf, Byte[] modifier, Int32 start, Int32& length)
at System.Web.UI.ObjectStateFormatter.Serialize(Object stateGraph)
at System.Web.UI.Util.SerializeWithAssert(IStateFormatter formatter, Object stateGraph)
at System.Web.UI.HiddenFieldPageStatePersister.Save()
at System.Web.UI.Page.SaveAllState()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
ui!ReportManager_0-10!b7c!01/09/2014-10:20:03:: e ERROR: System.Web.HttpException: Error executing child request for Error.aspx. ---> System.Web.HttpUnhandledException: Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> System.InvalidOperationException: This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.
at System.Security.Cryptography.RijndaelManaged..ctor()
at System.Web.Configuration.MachineKeySection.ConfigureEncryptionObject()
at System.Web.Configuration.MachineKeySection.EnsureConfig()
at System.Web.Configuration.MachineKeySection.GetEncodedData(Byte[] buf, Byte[] modifier, Int32 start, Int32& length)
Ce problème survient après l’implémentation d’une stratégie locale (ou de groupe) appelée : « System cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing »
Normalement, ce paramétrage n’est pas supporté (voir : http://technet.microsoft.com/en-us/library/ms345220(v=sql.105).aspx)
Néanmoins une solution de contournement est disponible via la KB911722 You may receive an error message when you access ASP.NET Web pages that have ViewState enabled after you upgrade from ASP.NET 1.1 to ASP.NET 2.0
Il vous suffit de suivre la procedure suivante :
- Ouvrez le fichier web.config dans « <Chemin d’installation>\MSRS<Version SQL>.MSSQLSERVER\Reporting Services\ReportManager »
- Ajoutez la ligne suivante après la base <system.web> :
<machineKey validationKey="AutoGenerate,IsolateApps" decryptionKey="AutoGenerate,IsolateApps" validation="3DES" decryption="3DES"/>
- Redémarrez le service SQL Server Reporting Services.