Отнася се за
Internet Explorer 11 Internet Explorer 10 Windows Server 2008 R2 Standard Windows Server 2008 R2 Enterprise Windows Server 2008 R2 Datacenter

Симптоми

Обмислете следния сценарий:

  • Услугата за роля на записване в уеб услугите за сертификати е инсталирана на сървър, базиран на 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 във файла unmodified 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

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.