Sending messages while impersonating another user requires that the security information must be retrieved from the certificate using MQGetSecurityContext, even if you are using the internal certificate supplied by MSMQ.
To send an authenticated messageAfter the message is sent, the remaining work is done by MSMQ. For information on what MSMQ does to authenticate the message, see How MSMQ Authenticates Messages.