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