Simptomi
Razmislite o sljedećem scenariju:
-
Servis uloga web-prijave za Certificate Services instaliran je na poslužitelju Windows Server 2008 R2.
-
Imate klijentsko računalo sa sustavom Internet Explorer 10 ili noviju verziju.
-
Pokušajte pristupiti stranici Za prijavu na web-servise za certifikate koja se hostira na poslužitelju Windows Server 2008 R2.
U ovom scenariju u pregledniku Internet Explorer primit će se sljedeća pogreška:
Ovaj web-preglednik ne podržava generiranje zahtjeva za certifikate
Uzrok
Provjera verzije preglednika netočno prepoznaje verziju preglednika Internet Explorer kao "IE 1".
Zaobilazno rješenje
Podržana zaobilazna rješenja za taj problem su na sljedeći način:
-
Konfiguriranje prikaza kompatibilnosti u pregledniku Internet Explorer.
-
Funkciju stranice Web Enrollment premjestite na Windows Server 2012.
-
Izmijenite datoteku Certsbrt.inc zamjenom redaka od 44 do 70 sljedećim sadržajem. Certsbrt.inc nalazi se u sljedećoj mapi:
%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
Dodatne informacije
Reci od 44 do 70 u nemodificiranoj datoteci Certsbrt.inc na poslužitelju Windows Server 2008 R2 nalaze se na sljedeći način. To su reci koje je potrebno zamijeniti.
'
' 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