How MSMQ Authenticates Messages

MSMQ authenticates messages at the request of the sending application. When the sending application indicates it wants a message authenticated, the MSMQ run-time code performs the following tasks:

API Functions ActiveX Components
PROPID_M_CORRELATIONID CorrelationId
PROPID_M_APPSPECIFIC AppSpecific
PROPID_M_BODY Body
PROPID_M_LABEL Label
PROPID_M_RESP_QUEUE ResponseQueueInfo
PROPID_M_ADMIN_QUEUE AdminQueueInfo

When the target Queue Manager receives the message, it performs the following tasks:

Note  MSMQ does not validate the external certificate. The receiving application performs any validation requirements on the certificate before using an authenticated message. MSMQ generates the digital signature of a message when it is sent and verifies the digital signature when the message is received, but does not validate the certificate itself.