Я пытаюсь включить TLS 1.2 на нашем сервере Windows 2008 R2 для соответствия требованиям PCI, и мне удалось заставить его работать, следуя this obscure blog post, который требует включения проверки FIPS. Наконец, после нескольких недель поиска решения, один раз, удаленный доступ к .NET и MS Web Deploy обмениваются данными через TLS 1.2.Ошибка регистрации состояния FIPS в ASP.NET
Однако, у меня есть веб-приложения на компьютере, который функционирует бросить курить, когда я активировал FIPS проверки со следующей ошибкой:
This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.InvalidOperationException: This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[InvalidOperationException: This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.] System.Security.Cryptography.RijndaelManaged..ctor() +10489630 System.Web.Configuration.MachineKeySection.ConfigureEncryptionObject() +439 System.Web.Configuration.MachineKeySection.EnsureConfig() +152 System.Web.Configuration.MachineKeySection.HashData(Byte[] buf, Byte[] modifier, Int32 start, Int32 length) +48 System.Web.Configuration.MachineKeySection.HashAndBase64EncodeString(String s) +136 System.Web.SessionState.OutOfProcSessionStateStore.OneTimeInit() +763 System.Web.SessionState.OutOfProcSessionStateStore.Initialize(String name, NameValueCollection config) +223 System.Web.SessionState.OutOfProcSessionStateStore.Initialize(String name, NameValueCollection config, IPartitionResolver partitionResolver) +43 System.Web.SessionState.SessionStateModule.InitModuleFromConfig(HttpApplication app, SessionStateSection config) +11279756 System.Web.SessionState.SessionStateModule.Init(HttpApplication app) +155 System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +480 System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +336 System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +350 System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +382
[HttpException (0x80004005): This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.] System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +11421094 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +88 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +4405316
Version Information: Microsoft .NET Framework Version:2.0.50727.5485; ASP.NET Version:2.0.50727.5491
Я использую государственную службу ASP.NET со всеми 3 приложений и они получают эту трассировку стека.
Я искал решения для решения, и все они в основном говорят о том, чтобы переключить алгоритм на совместимый с FIPS.
- Problem with FIPS Validated Cryptographic Algorithms
- ASPX pages fail due to FIPS 140 security policy
Но так как это бросают сама ASP.NET, что такое решение? Я использую .NET 3.5, будет ли обновление до более новой структуры решить проблему? Или есть более простое исправление, такое как настройка конфигурации?
NOTE: I also attempted to use in-process session state which bypasses this error and then I am getting the same error with cookie encryption (which is apparently also using
System.Security.Cryptography.RijndaelManaged
). I tried setting the machine key to the one in the example here (for a test), and also combined it with AES as the decryption and validation settings, but it didn't have any effect on the error message.
Эта статья «7.5: Как включить TLS 1.1 и TLS 1.2 "(http://www.basics.net/2015/10/06/iis-7-5-how-to-enable-tls-1-1-and-tls-1-2/) может Помогите. Возможно, необходимо включить TLS, изменив реестр. Моя система Windows 7 отключила его. –