Digitally Signing a SOAP Message

Web Services Enhancements (WSE) enables .NET Framework clients and Web services created using ASP.NET to digitally sign SOAP messages. When digitally signed using an XML digital signature, SOAP messages can be cryptographically verified to be unaltered since they were signed. Digitally signing a SOAP message allows a recipient to cryptographically verify that the message has not been altered since it was signed. When WSE is configured on the SOAP recipient's computer, WSE automatically verifies the signature.

Although the XML digital signature does offer a mechanism for verifying the message has not been altered since it was signed, it does not encrypt the SOAP message; the message is still plain text in XML format. Once the SOAP message is digitally signed, it can be encrypted, however. For details about encrypting SOAP messages, see How to: Encrypt a SOAP Message.

Supported Security Tokens

The following table lists the security tokens that can be used to digitally sign SOAP messages and the step-by-step procedures for doing so.

Security Token Step-by-step procedure

X.509 Certificate

How to: Sign a SOAP Message Using an X.509 Certificate

How to: Verify Digital Signatures of SOAP Messages Signed by an X.509 Certificate

User name and password (UsernameToken)

How to: Sign a SOAP Message by Using a User Name and Password

How to: Verify Digital Signatures of SOAP Messages Signed Using a User Name and Password

Kerberos ticket

How to: Sign a SOAP Message By Using a Kerberos Ticket

How to: Verify Digital Signatures of SOAP Messages Signed Using a Kerberos Ticket

Security context token

How to: Sign a SOAP Message By Using a Security Context Token

How to: Verify Digital Signatures of SOAP Messages Signed Using a Security Context Token

Custom security token

N/A

See Also

Tasks

How to: Digitally Sign a SOAP Message
How to: Specify the Parts of a SOAP Message That Are Signed or Encrypted
How to: Determine Which Parts of a SOAP Message Were Signed or Encrypted