Очереди сообщений не удалось проверить цифровую подпись сообщения, отправленного в очередь. Сообщение отклонено. Подтверждение о неполучении будет отправлено по запросу отправителя.
Очереди сообщений не удалось проверить цифровую подпись сообщения, отправленного в очередь. Сообщение отклонено. Подтверждение о неполучении будет отправлено по запросу отправителя
Не удалось проверить подпись сообщения. Это может указывать на следующие проблемы.
Проблемы из-за ненадежной хэш-функции
Недопустимый сертификат пользователя
Сообщение повреждено во время передачи
Убедитесь, что приложение очереди сообщений использует надежную хэш-функцию и имеет действительный сертификат пользователя
Разрешите проблемы из-за ненадежной хэш-функции
По умолчанию очередь сообщений версии 4.0 не поддерживает некоторые менее надежные алгоритмы безопасности, доступные в предыдущих версиях очереди сообщений. Поддержку менее надежных алгоритмов безопасности можно включить с помощью записи реестра. Дополнительные сведения об алгоритмах безопасности, которые поддерживаются в очереди сообщений версии 4.0, см. в "PROPID_M_HASH_ALG" ( http://go.microsoft.com/fwlink/?LinkId=91702).
Очередь сообщений исторически предлагала четыре алгоритма хэширования для подписи сообщения: MD2, MD4, MD5 и SHA1. В предыдущих версиях очереди сообщений по умолчанию для большинства сообщений был установлен алгоритм MD5, а для протокола HTTP и многоадресного обмена сообщениями — алгоритм SHA1, введенный в очереди сообщений версии 3.0. Теперь по умолчанию для всех типов сообщений установлен алгоритм SHA1, поскольку алгоритмы MD2, MD4 и MD5 не рекомендуются как ненадежные. Кроме того, по умолчанию очередь сообщений версии 4.0 не будет ни принимать сообщения, подписанные с помощью ненадежных алгоритмов, ни создавать их.
В очереди сообщений версии 4.0 можно включить менее надежные алгоритмы для приложений очереди сообщений, которым они нужны, добавив раздел реестра (не значение) HKLM\SOFTWARE\Microsoft\MSMQ\Parameters\Security\WeakHashAlgorithms. Если этот раздел реестра отсутствует (по умолчанию), то все менее надежные алгоритмы отключены. Если этот раздел реестра присутствует, то все менее надежные алгоритмы включены. Чтобы включить только определенные ненадежные алгоритмы, необходимо добавить раздел реестра и указать значения тех менее надежных алгоритмов, которые должны оставаться отключенными.
Внимание! Неправильное редактирование реестра может значительно повредить систему. Перед внесением изменений в реестр следует сделать резервную копию всех ценных данных.
Для выполнения таких процедур нужно быть членом группы "Администраторы" или обладать соответствующими делегированными полномочиями.
Чтобы сохранить отключенными определенные ненадежные алгоритмы проверки подлинности:
Откройте редактор реестра. Чтобы открыть редактор реестра, нажмите кнопку "Пуск". В поле поиска введите "regedit" и нажмите клавишу ВВОД.
Перейдите к разделу HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters\Security.
В меню "Правка" выберите пункт "Создать", а затем — "Раздел".
Введите WeakHashAlgorithms в качестве имени нового раздела реестра, затем нажмите клавишу ВВОД.
Правой кнопкой мыши щелкните на WeakHashAlgorithms, выберите пункт "Создать", затем параметр DWORD (32 бита) и введите любое имя для нового параметра.
Дважды щелкните мышью новый параметр DWORD (32 бита), нажмите "Десятичный", а затем в пункте "Значение" введите соответствующее значение для алгоритма, который необходимо отключить:
32769 для MD2
32770 для MD4
32771 для MD5
32773 для MAC
Нажмите "ОК", чтобы закрыть диалоговое окно "Изменение параметра DWORD (32 бита)".
Создайте новые параметры DWORD (32 бита) для дополнительных алгоритмов, которые следует отключить.
В меню "Файл" нажмите кнопку "Выход", чтобы закрыть редактор реестра.
Если приложение службы очереди сообщений запущено на Windows 7 и выбирает менее безопасный алгоритм проверки подлинности, служба очереди сообщений переопределит этот выбор и по умолчанию будет использовать SHA1 вместо слабого алгоритма. Если в очереди сообщений версии 4.0 необходимо создать сообщения с помощью слабых алгоритмов, воспользуйтесь разделом реестра, который выключит обновление и заставит очередь сообщений версии 4.0 учитывать алгоритм, запрашиваемый кодом. Создайте значение реестра DWORD под названием WeakHashAlgUpgrade в разделе HKLM\SOFTWARE\Microsoft\MSMQ\Parameters\security и установите для него значение 0, а затем перезапустите службу MSMQ.
Дополнительные сведения содержатся в перечисленных ниже статьях.
PROPID_M_HASH_ALG ( http://go.microsoft.com/fwlink/?LinkId=91702)
Проверка подлинности очереди сообщений ( http://go.microsoft.com/fwlink/?LinkId=104934)
Решение проблемы недопустимого сертификата пользователя
Чтобы решить проблему недопустимого сертификата пользователя, выполните следующие действия.
На любом компьютере в домене нажмите кнопку "Пуск". В поле поиска введите "compmgmt.msc" и нажмите клавишу ВВОД.
Если появится соответствующее приглашение, введите учетные данные администратора и продолжите работу с сообщениями об управлении доступом на уровне пользователей.
Перейдите к дереву консоли очереди сообщений (Службы и приложения\Очередь сообщений).
Правой кнопкой мыши щелкните "Очередь сообщений", а затем щелкните "Свойства".
Перейдите на вкладку "Сертификат пользователя".
Нажмите "Просмотреть".
Определите, находится ли компьютер, отправляющий не проверенные на подлинность сообщения, в списке "Личные сертификаты".
Если компьютера нет в списке, то сертификат не зарегистрирован.
Это можно исправить, выполнив шаги с 1 по 7 на компьютерах с незарегистрированным сертификатом. На шаге 6 нажмите "Зарегистрировать" вместо "Просмотреть".
Исправление поврежденного сообщения
Если сообщение повредилось во время передачи, может возникнуть проблемы с уровнем ниже очереди сообщений.
Если эта ошибка продолжает возникать, запишите все сведения из сообщения о событии и обратитесь в службу поддержки пользователей Майкрософт. Сведения о том, как связаться со службой поддержки пользователей Майкрософт, см. в разделе "Поддержка предприятий" ( http://go.microsoft.com/fwlink/?LinkId=52267).
Дополнительные сведения см. в событии с ИД 2196 ( http://technet.microsoft.com/ru-ru/library/dd337461(WS.10).aspx)
Target | Microsoft.MSMQ.10.0.Servers | ||
Category | SecurityHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Application |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | Microsoft.Windows.EventProvider | Default |
Alert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.MSMQ.10.0.Rule.Alert.Event2196" Enabled="false" Target="Microsoft.MSMQ.10.0.Servers" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>SecurityHealth</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">2196</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">EventSourceName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Property[Type="Microsoft.MSMQ.10.0.ServerRole"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertName/>
<AlertDescription/>
<AlertOwner/>
<AlertMessageId>$MPElement[Name="Microsoft.MSMQ.10.0.Rule.Alert.Event2196.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
<Custom1/>
<Custom2/>
<Custom3/>
<Custom4/>
<Custom5/>
<Custom6/>
<Custom7/>
<Custom8/>
<Custom9/>
<Custom10/>
</WriteAction>
</WriteActions>
</Rule>