Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

"This Web browser does not support the generation of certificate requests" error in Internet Explorer


View products that this article applies to.

Symptoms

Consider the following scenario:
  • The Certificate Services Web Enrollment role service is installed on a Windows Server 2008 R2-based server.
  • You have a client computer that is running Internet Explorer 10 or a later version.
  • You try to access the Certificate Services Web Enrollment page that is hosted on the Windows Server 2008 R2-based server.
In this scenario, the following error is received in Internet Explorer:

This Web browser does not support the generation of certificate requests

↑ Back to the top


Cause

The Browser Version check incorrectly identifies the Internet Explorer version as "IE 1."

↑ Back to the top


Workaround

Supported workarounds for this issue are as follows:
  • Configure compatibility view in Internet Explorer. 
  • Move the Web Enrollment page functionality to Windows Server 2012.
  • Modify the Certsbrt.inc file by replacing lines 44 through 70 with the following content. Certsbrt.inc is located in the following folder:
    %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

↑ Back to the top


More Information

Lines 44 through 70 in the unmodified Certsbrt.inc file on the Windows Server 2008 R2-based server are as follows. These are the lines that are to be replaced.

'
' 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

↑ Back to the top


Keywords: kb

↑ Back to the top

Article Info
Article ID : 3073944
Revision : 2
Created on : 9/29/2020
Published on : 9/29/2020
Exists online : False
Views : 248