I have implemented an STS that allows clients to authenticate using X509 certificates. WIF (now built in in .NET 4.5) has an X509SecurityToken
class that seems to work perfectly for this scenario. In my case, I would also like to pass an ActAs token, but it seems to me that while ActAs tokens are validated (by a different collection of token handlers), for the X509SecurityToken
, this validation does NOT prove that the caller possesses the private key, as it does when the token is used as the message credential.
Is there any way around this? How can I require the ActAs token to prove it has the private key?