Message Queue no pudo verificar la firma digital de un mensaje enviado a la cola.

Microsoft.MSMQ.6.3.Rule.Alert.Event2196 (Rule)

Message Queue no pudo verificar la firma digital de un mensaje enviado a la cola. El mensaje fue rechazado. Se enviará un aviso de recibo negativo en caso de ser solicitado por el remitente.

Knowledge Base article:

Resumen

Message Queue no pudo verificar la firma digital de un mensaje enviado a la cola. El mensaje fue rechazado. Se enviará un aviso de recibo negativo en caso de ser solicitado por el remitente.

Causas

No pudo verificarse la firma del mensaje. Esto puede indicar que existen los siguientes problemas:

Resoluciones

Confirme que la aplicación de Message Queue esté utilizando una función de hash fuerte y que tenga un certificado de usuario válido.

Resolver problemas de función de hash débil

Por defecto, Message Queue 4.0 no admite ciertos algoritmos de seguridad baja que estaban disponibles en versiones anteriores de Message Queue. La opción de admitir algoritmos de seguridad baja puede activarse con una entrada de registro. Para obtener más información sobre los algoritmos de seguridad admitidos en Message Queue 4.0, consulte PROPID_M_HASH_ALG ( http://go.microsoft.com/fwlink/?LinkId=91702).

Message Queue históricamente ha ofrecido cuatro algoritmos de hash para firmar un mensaje: MD2, MD4, MD5 y SHA1. En las versiones anteriores de Message Queue, MD5 era la opción predeterminada para la mayoría de los mensajes y SHA1 se utilizaba para mensajes de Hypertext Transfer Protocol (HTTP) y de multidifusión, que se introdujeron en Message Queue 3.0. Ahora SHA1 es la opción predeterminada para todos los tipos de mensajes porque MD2, MD4 y MD5 se consideran débiles. Asimismo, por defecto, Message Queue 4.0 tampoco acepta mensajes firmados o generados con estos algoritmos débiles.

Puede agregar la clave de registro (no es un valor) HKLM\SOFTWARE\Microsoft\MSMQ\Parameters\Security\WeakHashAlgorithms para habilitar los algoritmos débiles en Message Queue 4.0 para admitir cualquier aplicación de Message Queue que los requiera. Si no existe esta clave de registro, que es el caso predeterminado, todos los algoritmos más débiles estarán deshabilitados. Si existe la clave de registro, todos los algoritmos más débiles estarán habilitados. Para habilitar solo determinados algoritmos débiles, debe agregar la clave de registro y especificar los valores de los algoritmos más débiles que desea que sigan deshabilitados.

Precaución: la modificación incorrecta del Registro puede dañar gravemente el sistema. Antes de realizar cambios en el Registro, haga una copia de seguridad de los datos importantes.

Para llevar a cabo estos procedimientos, debe ser miembro del grupo administradores o tener delegada la autoridad adecuada.

Para que determinados algoritmos de autenticación débiles sigan deshabilitados, realice lo siguiente:

Si la aplicación Message Queue se ejecuta en Windows 7 y elige un algoritmo de autenticación más débil, Message Queue lo reemplazará y usará SHA1 en su lugar de forma predeterminada. Si necesita generar mensajes en Message Queue 4.0 con uno de los algoritmos débiles, hay una clave de registro que desconectará la actualización y hará que Message Queue 4.0 autorice el algoritmo requerido por el código. Cree un valor de registro DWORD denominado WeakHashAlgUpgrade en la clave HKLM\SOFTWARE\Microsoft\MSMQ\Parameters\security y configúrelo en 0 y luego reinicie el servicio de MSMQ.

Para obtener más información, consulte los recursos siguientes:

Resolver un problema de certificado de usuario incorrecto

Para resolver un problema de certificado de usuario incorrecto, realice lo siguiente:

Arreglar un mensaje dañado

Si cree que el mensaje se dañó en tránsito, es probable que haya un problema con un nivel por debajo de Message Queue.

Adicional

Si sigue obteniendo este error, anote los detalles del mensaje de evento y, a continuación, póngase en contacto con el Servicio de soporte técnico y atención al cliente de Microsoft (CSS). Para obtener más información sobre cómo ponerse en contacto con CSS, consulte la página sobre las opciones de soporte técnico ( http://go.microsoft.com/fwlink/?LinkId=52267).

Para obtener más información, consulte el ID del evento 2196 ( http://technet.microsoft.com/en-us/library/dd337461(WS.10).aspx)

Element properties:

TargetMicrosoft.MSMQ.6.3.Servers
CategorySecurityHealth
EnabledFalse
Event_ID2196
Event Source$Target/Property[Type="Microsoft.MSMQ.6.3.ServerRole"]/ServiceName$
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
Message Queue no pudo verificar la firma digital de un mensaje enviado a la cola.
Descripción de evento: {0}
Event LogApplication

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.EventProvider Default
Alert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.MSMQ.6.3.Rule.Alert.Event2196" Enabled="false" Target="Microsoft.MSMQ.6.3.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">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Property[Type="Microsoft.MSMQ.6.3.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.6.3.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>