Simptome
Luați în considerare următorul scenariu:
-
Serviciul de roluri pentru înscriere pe web certificat Services este instalat pe un server bazat pe Windows Server 2008 R2.
-
Aveți un computer client care rulează Internet Explorer 10 sau o versiune mai recentă.
-
Încercați să accesați pagina de înscriere web certificat Services care este găzduită pe serverul bazat pe Windows Server 2008 R2.
În acest scenariu, se primește următoarea eroare în Internet Explorer:
Acest browser web nu acceptă generarea de solicitări de certificat
Cauză
Verificarea versiunii de browser identifică incorect versiunea Internet Explorer ca "IE 1".
Soluție de evitare
Soluțiile acceptate pentru această problemă sunt următoarele:
-
Configurarea vizualizării compatibilitate în Internet Explorer.
-
Mutați funcționalitatea paginii de înscriere web la Windows Server 2012.
-
Modificați fișierul Certsbrt. Inc prin înlocuirea liniilor 44 prin 70 cu următorul conținut. Certsbrt. Inc se află în următorul 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 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
Mai multe informații
Liniile 44 până la 70 în fișierul Certsbrt. Inc nemodificat de pe serverul Windows Server 2008 R2 sunt după cum urmează. Acestea sunt liniile care urmează să fie înlocuite.
'' 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
Microsoft Internal Support Information
Steps to reproduce:
Product Bug Number:
Author ID (email alias): jtierney
Writer ID (email alias): jtierney
Tech Review ID (email alias):
Edit Review ID (email alias): v-anwale
Confirm Article has been Tech Reviewed: Yes/No
Confirm Article released for Publishing: Yes/No