使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

症状

请考虑以下情况:

  • 证书服务 Web 注册角色服务安装在基于 Windows Server 2008 R2 的服务器上。

  • 你有一台运行 Internet Explorer 10 或更高版本的客户端计算机。

  • 尝试访问基于 Windows Server 2008 R2 的服务器上托管的"证书服务 Web 注册"页。

在此方案中,以下错误在 Internet Explorer:

此 Web 浏览器不支持生成证书请求

原因

浏览器版本检查错误地将Internet Explorer标识为"IE 1"。

解决方法

此问题支持的解决方法如下:

  • 在 Internet Explorer 中配置兼容性Internet Explorer。

  • 将"Web 注册"页功能移动到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

更多信息

基于 Windows Server 2008 R2 的服务器上未修改的 Certsbrt.inc 文件第 44 到 70 行如下所示。 这些是要替换的行。

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

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×