Ознаки
Розглянемо такий сценарій:
-
Служба ролей веб-реєстрації служб сертифікатів інсталюється на сервері на базі 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 nMSIE GetInternetExplorerVersionNumber = -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 If End 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 If End 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 If End Function