After a security context is established, the application can use the message support functions to transmit messages that cannot be tampered with. The client or server can pass the security context and a message to the MakeSignature function to generate a secure signature that prevents the message from being modified while in transit. The receiver of the message then calls the VerifySignature function to verify that the message received is correct according to the information in the signature.