I have to authenticate a consumer of our REST API by authenticating their client certificate and I'm a little confused as to how to authenticate the client.
Is it enough to store the CA cert in my local store, send the client the certificate (edit: through email or some other form, not the API), and have them attach the certificate to each API call. On my side I would validate the chain, then load the user by serial number (i.e. map serial number to user) and then go from there?
Is this totally secure or would I need to add some other validation i.e. username in the CN, etc.?
Also would there be any security concerns using the same certificate for the client to post to the server and the server to post to the client?