Symptomen
Neem het volgende scenario:
-
De rolservice Voor webinschrijving van Certificate Services is geïnstalleerd op een server Windows Server 2008 R2 op basis van server.
-
U hebt een clientcomputer die wordt uitgevoerd Internet Explorer 10 of een latere versie.
-
U probeert toegang te krijgen tot de pagina Certificate Services Web Enrollment die wordt gehost op de server Windows Server 2008 R2.
In dit scenario wordt de volgende fout in Internet Explorer ontvangen:
Deze webbrowser biedt geen ondersteuning voor het genereren van certificaataanvragen
Oorzaak
Met de browserversiecontrole wordt de Internet Explorer-versie onjuist geïdentificeerd als 'IE 1'.
Tijdelijke oplossing
Ondersteunde tijdelijke oplossingen voor dit probleem zijn als volgt:
-
Compatibiliteitsweergave configureren in Internet Explorer.
-
Verplaats de functionaliteit van de webinschrijvingspagina naar Windows Server 2012.
-
Wijzig het Certsbrt.inc-bestand door de regels 44 tot en met 70 te vervangen door de volgende inhoud. Certsbrt.inc bevindt zich in de volgende map:
%WINDIR%\system32\certsrv\nl-NL
'
' 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
Meer informatie
Lijnen 44 tot en met 70 in het ongewijzigde Certsbrt.inc-bestand op de server van Windows Server 2008 R2 zijn als volgt. Dit zijn de regels die moeten worden vervangen.
'
' 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