증상
다음과 같은 경우를 생각해 볼 수 있습니다.
-
Certificate Services 웹 등록 역할 서비스는 서버 2008 R2 기반 Windows 서버에 설치됩니다.
-
실행 중인 클라이언트 컴퓨터가 Internet Explorer 10 버전이 있습니다.
-
서버 2008 R2 기반 서버에 호스트되는 인증서 서비스 웹 등록 페이지에 Windows 시도합니다.
이 시나리오에서는 다음 오류가 Internet Explorer.
이 웹 브라우저는 인증서 요청 생성을 지원하지 않습니다.
원인
브라우저 버전 검사에서 Internet Explorer 버전이 "IE 1"으로 잘못 식별됩니다.
해결 방법
이 문제의 지원되는 해결은 다음과 같습니다.
-
호환성 보기를 Internet Explorer.
-
웹 등록 페이지 기능을 이동하여 Windows Server 2012.
-
44~70줄을 다음 콘텐츠로 바꾸어 Certsbrt.inc 파일을 수정합니다. 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
추가 정보
서버 2008 R2 기반 서버의 수정되지 않은 Certsbrt.inc Windows 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