К сожалению, иногда появляются ситуации, когда работают они не так, как того следовало бы ожидать.
В частности, если у вас на Windows Server 2008 R2 установлен апдейт, обновляющий Internet Explorer до 10-й версии, то при онлайн-запросе сертификатов могут возникнуть вот такие казусы:
Один из workaround-ов - запустить IE в режиме совместимости. К сожалению, на серверной версии Windows это не работает:
%systemroot%\system32\certsrv\en-us\certsbrt.inc
Открыть его как текстовый файл и найти строчки:
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
По рецепту, найденному на форуме Technet, нам нужно изменить этот участок кода следующим образом, добавив одну строчку условия:
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)
If sMSIEVersion = "1" Then sMSIEVersion = Mid(sHttpUserAgent, nMSIE+5, 2)
IsOldMSIE = CInt(sMSIEVersion) < NEW_MSIE_VERSION
Else
IsOldMSIE = False
End If
End Function
К сожалению, данный файлик не редактируется просто так. Если посмотреть его свойства, то прав на запись ни у администратора, ни у пользователя нет, да и добавить их получится не сразу:
Остановим на всякий случай сервис служб сертификации:
Поменяем владельца файла либо на текущего пользователя, либо на группу безопасности, в которой он находится:
Дадим все необходимые права (по желанию - затем вернуть все параметры NTFS в исходное
положение):
Теперь можно редактировать и сохранять файл.
Запустим сервис служб сертификации заново:
И попробуем запросить сертификат еще раз:
Сложно объяснить, почему так происходит и почему до сих пор не выпущен патч, устраняющий этот казус. Не всегда удобно запрашивать сертификаты через интерфейс MMC, либо через другие оснастки.