Search code examples
wcfmsmq

MSMQ: "The signature is invalid" in dead letter queue


I am getting the error

The signature is invalid

when sending messages to a W2008 server from a W2012 server. The messages are received on the destination server, but fall to Dead letter queue, with this error message.

The same tool is able to send messages successfully to the same W2012 server from my workstation.

Using Manage console, at Computer Management, item Message Queuing, tab sender, i can see that the message sender account was identified correctly but not authenticated.


Solution

  • Find out the problem is the same i had before, but with a different message. The problem is that the sender is using a weak certificate algorithm.

    To allow weak certificate algorithm i added this key to registry on the server machine:

    HKLM\SOFTWARE\Microsoft\MSMQ\Parameters\Security\WeakHashAlgorithms

    and restart MSMQ service.

    Then i also needed to register the certificate for the sender account at the sender machine. Using again Microsoft Management Console, opening Properties of Message Queuing, remove and register the certificate for the account using the User Certificate tab.

    The certificate can then be registered again, using Register button. Not sure but i think that the registry can be done automatically by MSMQ when a message is received from the client.

    Hope this help someone in the future.