قد تتلقى رسالة خطأ عند الوصول إلى صفحات ويب ASP.NET التي تحتوي على حالة العرض ممكناً بعد الترقية من ASP.NET 1.1 إلى ASP.NET 2.0


هام: تتضمن هذه المقالة معلومات حول كيفية تعديل التسجيل. تأكد من عمل نسخة احتياطية من التسجيل قبل تعديله. تأكد من معرفة كيفية استعادته في حالة حدوث مشكلة. لمزيد من المعلومات حول كيفية عمل نسخة احتياطية واستعادة وتعديل السجل، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
وصف 256986 تسجيل Microsoft Windows

الأعراض


بعد الترقية من Microsoft ASP.NET 1.1 إلى Microsoft ASP.NET 2.0، قد لا تعمل بعض التطبيقات المستندة إلى ASP.NET بشكل صحيح. بالإضافة إلى ذلك، عند الوصول إلى صفحات ويب ASP.NET التي تحتوي على تمكين حالة العرض، قد تظهر رسالة الخطأ التالية:
[InvalidOperationException: هذا التطبيق ليس جزءا من خوارزميات التشفير FIPS النظام الأساسي Windows التحقق من صحة.] System.Security.Cryptography.RijndaelManaged... + 200 ctor() System.Web.Configuration.MachineKeySection.GetEncodedData System.Web.Configuration.MachineKeySection.EnsureConfig() +904 System.Web.Configuration.MachineKeySection.ConfigureEncryptionObject() +2088 (بايت مخزن مؤقت []، [] بايت معدل Int32 ابدأ، Int32 وطول) +88 System.Web.UI.Util.SerializeWithAssert +1320 System.Web.UI.ObjectStateFormatter.Serialize (كائن ستاتيجراف) (منسق إيستاتيفورماتير، ستاتيجراف الكائن) 248 System.Web.UI.Page.ProcessRequestMain System.Web.UI.Page.SaveAllState() +6488 System.Web.UI.HiddenFieldPageStatePersister.Save() +280 (إينكلوديستاجيسبيفوريسينكبوينت منطقية، إينكلوديستاجيسافتيراسينكبوينت المنطقية) +17240-- ---إصدار المعلومات: Microsoft.NET Framework الإصدار: 2.0.50606.0; ASP.NET الإصدار: 2.0.50606.0

السبب


تحدث هذه المشكلة عندما تكون هذه الحالات صحيحة:
  • يتم تعيين المفتاح الفرعي للتسجيلHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\fipsalgorithmpolicyإلى 1.
  • يستخدم ASP.NET 2.0 تنفيذ الخوارزمية ريجندالماناجيد عندما يقوم بمعالجة بيانات عرض الحالة. تنفيذ ريندالماناجيد تمت المصادقة عليه "المعهد الوطني للمعايير" والتقنيات (NIST) متوافقة مع الفيدرالية معالجة المعلومات القياسية (FIPS). لذلك، خوارزمية AES ليس جزءا من خوارزميات التشفير FIPS النظام الأساسي Windows التحقق من صحة.

الحل البديل


هام قد هذه الخطوات إلى زيادة المخاطرة بالأمان. قد تجعل هذه الخطوات الكمبيوتر أو الشبكة أكثر عرضه للهجمات التي تتم من قبل المستخدمين الضارين أو من قبل البرامج الضارة مثل الفيروسات. نوصي بالعملية الموضحة في هذه المقالة لتمكين البرامج لتعمل على النحو الذي صممت أو لتطبيق قدرات برنامج معين. قبل إجراء هذه التغييرات، نوصي بتقييم المخاطر المرتبطة بتطبيق هذه العملية في بيئة التشغيل الخاصة بك. إذا كنت ترغب في تطبيق هذه العملية، واتخاذ أية خطوات إضافية مناسبة للمساعدة على حماية النظام. نوصي باستخدام هذه العملية فقط إذا كنت في حاجة بالفعل. لحل هذه المشكلة، تغيير التكوين في ملف Web.config مستوى التطبيق. تحديد أن ASP.NET يستخدم خوارزمية "مقياس تشفير البيانات الثلاثي" (3DES) لمعالجة بيانات عرض الحالة. للقيام بذلك، اتبع الخطوات التالية:
  1. في محرر نص مثل المفكرة، افتح ملف Web.config مستوى التطبيق.
  2. في ملف Web.config, حدد موقع الجزء < system. web > .
  3. إضافة للقسم < machineKey > التالي في قسم < system. web > :
    <machineKey validationKey="AutoGenerate,IsolateApps" decryptionKey="AutoGenerate,IsolateApps" validation="3DES" decryption="3DES"/>
  4. حفظ ملف Web.config.
  5. إعادة تشغيل خدمة خدمات معلومات إنترنت ل Microsoft (IIS). للقيام بذلك، بتشغيل الأمر التالي في موجه الأوامر:
    iisreset
هام: من الناحية النظرية، أقل أماناً من خوارزمية AES (Rijndael) خوارزمية 3DES. نوصي باستخدام خوارزمية AES كلما كان ذلك ممكناً للمساعدة في تأمين النظام.

مزيد من المعلومات


خطوات إعادة إنشاء المشكلة

تحذير قد تحدث مشكلات خطيرة إذا قمت بتعديل التسجيل بشكل غير صحيح باستخدام "محرر التسجيل" أو باستخدام طريقة أخرى. قد تتطلب هذه المشكلات إعادة تثبيت نظام التشغيل. لا تضمن Microsoft أن تتمكن من حل هذه المشاكل. تعديل التسجيل على مسؤوليتك. قبل أن يمكن إعادة إنشاء هذه المشكلة, يجب عليك تعيين المفتاح الفرعي للتسجيل HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\fipsalgorithmpolicyإلى 1 لتمكين نهج الخوارزميات المتوافقة مع FIPS. اتبع الخطوات التالية، ثم قم بإنهاء "محرر التسجيل":
  1. انقر فوق ابدأ، ثم انقر فوق تشغيل، ثم اكتب regedit، ثم انقر فوق موافق.
  2. تحديد موقع ثم انقر فوق المفتاح التالي في السجل:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\fipsalgorithmpolicy
  3. من القائمة تحرير، انقر فوق تعديل.
  4. اكتب 1ومن ثم اضغط ENTER.
ملاحظة: يجب إعادة تشغيل جهاز الكمبيوتر للإعداد الجديد نافذ المفعول. لإعادة إنتاج المشكلة، اتبع الخطوات التالية:
  1. في Visual Studio 2005، انقر فوقموقع ويب جديد ضمن القائمة ملف ، انقر فوق موقع ويب ASP.NET ضمنقوالب، نوعحرف محرك الأقراص: \المسار\KB911722 فيموقع مربع ومن ثم انقر فوق موافق.
  2. في "مستكشف الحلول"، انقر نقراً مزدوجاً فوقDefault.aspxومن ثم انقر فوق فتح.
  3. استبدال التعليمات البرمجية الموجودة بالتعليمة البرمجية التالية.
    <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" ><head><title>Test Page for KB911722</title></head><body><form id="Form1" runat="server" > <script language="C#" runat="server" >  public void Page_Load()  {  Label1.Text = "EnableViewState attribute is set to " + Page.EnableViewState.ToString();  }  </script>  <asp:Label id="Label1" runat="server" Text="text"></asp:Label></form></body></html>
  4. في القائمة " تصحيح "، انقر فوق بدء التصحيح.
تظهر رسالة الخطأ المذكورة في قسم "الأعراض". لمزيد من المعلومات حول التأثيرات تمكين "تشفير النظام: استخدام FIPS الخوارزميات المتوافقة مع التشفير، والتجزئة والتوقيع" إعداد الأمان في نظام التشغيل Windows XP والإصدارات اللاحقة من Windows XP، انقر فوق رقم المقالة التالي لعرضها المقالة في "قاعدة المعارف ل Microsoft":
811833 آثار تمكين "تشفير النظام: استخدام FIPS الخوارزميات المتوافقة مع التشفير, تجزئة والتوقيع" إعداد الأمان في نظام التشغيل Windows XP والإصدارات الأحدث