# What happens when you use Windows credentials to sign a message?

I'm trying to dig into the messages that are exchanged when you sign a message using Windows credentials. I've modified the default service that is provided when you create a WCF service to use the following binding:

<wsHttpBinding>
<binding name="MyBinding">
<security mode="Message">
<message clientCredentialType="Windows" />
</security>
</binding>
</wsHttpBinding>


I'm requiring the client to sign the message via the ServiceContract attribute:

[ServiceContract(ProtectionLevel=ProtectionLevel.Sign)]


My client is using the same exact binding as the service.

My question is this: When I use Fiddler to watch the traffic between client and service, why do I see five exchanges, and what does each of them do?

I'm including an example of all of the exchanges for completeness. Because of the size, I've put it on pastebin; you can see it here.

Edit: Looks like the first four exchanges relate to WS-Trust.

-