Gejala
Pertimbangkan skenario berikut:
-
Layanan peran Pendaftaran Web Layanan Sertifikat diinstal di server berbasis Windows Server 2008 R2.
-
Anda memiliki komputer klien yang menjalankan komputer Internet Explorer 10 versi yang lebih baru.
-
Anda mencoba mengakses halaman Pendaftaran Web Layanan Sertifikat yang dihosting di server Windows server berbasis Server 2008 R2.
Dalam skenario ini, kesalahan berikut diterima di Internet Explorer:
Browser Web ini tidak mendukung pembuatan permintaan sertifikat
Penyebab
Pemeriksaan Versi Browser secara tidak benar mengidentifikasi versi Internet Explorer sebagai "IE 1."
Penyelesaian Masalah
Solusi yang didukung untuk masalah ini adalah sebagai berikut:
-
Mengonfigurasi tampilan kompatibilitas di Internet Explorer.
-
Pindahkan fungsionalitas halaman Pendaftaran Web ke Windows Server 2012.
-
Ubah file Certsbrt.inc dengan mengganti baris 44 sampai 70 dengan konten berikut ini. Certsbrt.inc terletak di folder berikut ini:
%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
Informasi Selengkapnya
Baris 44 sampai 70 dalam file Certsbrt.inc yang tidak dimodifikasi pada server berbasis Windows Server 2008 R2 adalah sebagai berikut. Ini adalah baris yang akan diganti.
'
' 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