I am starting to develop a WCF API, which should serve some specific clients.

We don't know which devices will be using the API so I thought that using a RESTful API will be the most flexible choice.

All devices using the API would be authenticated using an SSL certificate (client side certificate), and our API will have a certificate as well ( so its a 2 Way SSL)

I was reading this question over SO, and I saw the answers about authentication using Basic-HTTP or OAuth, but I was thinking that in my case these are not needed, I can already trust the client because it possesses the client-side certificate.

Is this design ok? Am I missing anything?

Maybe there's a better way of doing this?

1 Answer 1


Using mutual authentication is always better than username/passwords as long as you have the appropriate cert management system in place and it's properly managed. Your management system should provide for an easy way to issue or revoke a cert.

  • what does this management system do? should it be delegated to an IT administrator or something of the sort? I am weary that no one will know how to manage it in the future and this will become too much of a single point-of-failure
    – Mithir
    Jun 3, 2012 at 12:45
  • A management system is there to manage the validity of the certs. Certs can be issued, expire, and be revoked. Management deals mainly with revocation, CAs usually deal with issuing the cert. Some software have both bundled up for ease of management.
    – snakehiss
    Jun 4, 2012 at 1:26
  • This should not preclude a username and password though, or something else. Two factor would be better than single factor.
    – Andy
    Nov 6, 2015 at 23:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.