الأعراض
اطّلع على السيناريو التالي:
-
يتم تثبيت خدمة دور تسجيل الويب لخدمات الشهادات على خادم يستند إلى Windows Server 2008 R2.
-
لديك كمبيوتر عميل يقوم بتشغيل Internet Explorer 10 أو إصدار أحدث.
-
تحاول الوصول إلى صفحة تسجيل الويب لخدمات الشهادات المستضافة على الخادم المستند إلى Windows Server 2008 R2.
في هذا السيناريو، يتم تلقي الخطأ التالي في Internet Explorer:
لا يدعم مستعرض ويب هذا إنشاء طلبات الشهادات
السبب
يحدد التحقق من إصدار المستعرض إصدار Internet Explorer بشكل غير صحيح على أنه "IE 1."
الحل البديل
الحلول البديلة المدعومة لهذه المشكلة هي كما يلي:
-
تكوين طريقة عرض التوافق في Internet Explorer.
-
انقل وظيفة صفحة تسجيل الويب إلى Windows Server 2012.
-
قم بتعديل ملف Certsbrt.inc عن طريق استبدال الأسطر من 44 إلى 70 بالمحتوى التالي. يقع Certsbrt.inc في المجلد التالي:
٪WINDIR٪\system32\certsrv\en-us
'' If there is no '.' in the UserAgent string, this will return the next character if any' as the version number. ' We extract the string until a '.' and then convert it' into integer. If -1 is returned from this function then it isn't MSIE 'Function GetInternetExplorerVersionNumber(sHttpUserAgent) Dim nMSIEGetInternetExplorerVersionNumber = -1 nMSIE = InStr(sHttpUserAgent, "MSIE") If 0 <> nMSIE Then numChar = InStr(Mid(sHttpUserAgent, nMSIE + 5), ".") - 1 If -1 = numChar Then ' no '.' in the string numChar = 1 End If If nMSIE + 5 + numChar - 1 <= Len(sHttpUserAgent) Then GetInternetExplorerVersionNumber = CInt(Mid(sHttpUserAgent, nMSIE + 5, numChar)) End If End IfEnd Function'' We define a Old MSIE based browser' if it has the string MSIE that is followed by a version number that is less than 4' NOTE:' IsOldMSIE = False does not imply MSIE >= 4.'' i.e. Not IsOldMSIE("abc") = True' Not IsOldMSIE("MSIE") = True'Function IsOldMSIE(sHttpUserAgent) Dim nMSIE Dim sMSIEVersion IsOldMSIE = False nMSIE = InStr(sHttpUserAgent, "MSIE") If nMSIE <> 0 AND (nMSIE+5 < Len(sHttpUserAgent)) Then nVersion = GetInternetExplorerVersionNumber(sHttpUserAgent) If -1 <> nVersion Then IsOldMSIE = nVersion < NEW_MSIE_VERSION End If End IfEnd Function
مزيد من المعلومات
الأسطر من 44 إلى 70 في ملف Certsbrt.inc غير المعدل على الخادم المستند إلى Windows Server 2008 R2 كما يلي. هذه هي الأسطر التي سيتم استبدالها.
'' We define a Old MSIE based browser' if it has the string MSIE that is followed by a version number that is less than 4' NOTE:' IsOldMSIE = False does not imply MSIE >= 4.'' i.e. Not IsOldMSIE("abc") = True' Not IsOldMSIE("MSIE") = True'Function IsOldMSIE(sHttpUserAgent) Dim nMSIE Dim sMSIEVersion nMSIE = InStr(sHttpUserAgent, "MSIE") If nMSIE=0 Then IsOldMSIE = False ElseIf nMSIE+5 < Len(sHttpUserAgent) Then sMSIEVersion = Mid(sHttpUserAgent, nMSIE+5, 1) IsOldMSIE = CInt(sMSIEVersion) < NEW_MSIE_VERSION Else IsOldMSIE = False End IfEnd Function