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.
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.
No pudo verificarse la firma del mensaje. Esto puede indicar que existen los siguientes problemas:
Problemas de función de hash débil.
Certificado de usuario incorrecto.
Daño del mensaje en tránsito.
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:
Abra el Editor del Registro. Para abrir el Editor de registro, haga clic en Inicio. En la casilla de búsqueda, escriba regedit y presione ENTER.
Busque HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\\Parameters\Security.
En el menú Edición, seleccione Nuevo y haga clic en Clave.
Escriba WeakHashAlgorithms como nombre de la nueva clave del Registro y presione ENTRAR.
Haga clic con el botón secundario en WeakHashAlgorithms (Algoritmos de hash débiles), apunte a Nuevo, haga clic en Valor de DWORD (32 bits) y, a continuación, escriba cualquier nombre para los nuevos valores.
Haga doble clic en el nuevo Valor de DWORD (32 bits), haga clic en Decimal y, después, en Tipo de datos; escriba el valor correspondiente al algoritmo que desee deshabilitar:
32769 para MD2
32770 para MD4
32771 para MD5
32773 para MAC
Haga clic en Aceptar para cerrar el cuadro de diálogo Editar Valor de DWORD (32 bits).
Cree nuevos valores DWORD (32 bits) para otros algoritmos adicionales que también desee deshabilitar.
En el menú Archivo, haga clic en Salir para cerrar el Editor del registro.
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:
PROPID_M_HASH_ALG ( http://go.microsoft.com/fwlink/?LinkId=91702)
Autenticación para Message Queue ( http://go.microsoft.com/fwlink/?LinkId=104934)
Resolver un problema de certificado de usuario incorrecto
Para resolver un problema de certificado de usuario incorrecto, realice lo siguiente:
En cualquier equipo del dominio, haga clic en Inicio. En el cuadro de búsqueda, escriba compmgmt.msc y presione ENTER.
Si aparece un mensaje de aviso, ingrese las credenciales de administrador y luego diríjase a los mensajes de control de acceso de usuario.
Navegue en el árbol de consola de Message Queue (Servicios y aplicaciones\Message Queue).
Haga clic con el botón secundario en Message Queue y luego haga clic en Propiedades.
Haga clic en la pestaña Certificado de usuario.
Haga clic en Ver.
Verifique si el equipo que envía los mensajes no autentificados está en la lista de certificados personales.
Si el equipo no está en la lista, no se registró un certificado.
Para solucionar este problema realice los pasos del 1 al 7 en los equipos en los que no se registró el certificado. Luego, para el paso 6, haga clic en Registrar en lugar de Ver.
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.
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)
Target | Microsoft.MSMQ.6.3.Servers | ||
Category | SecurityHealth | ||
Enabled | False | ||
Event_ID | 2196 | ||
Event Source | $Target/Property[Type="Microsoft.MSMQ.6.3.ServerRole"]/ServiceName$ | ||
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.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>