Digital Certificates are vessels for Asymmetric Key Cryptography.
Certificates are intended to solve Key-Exchange. Namely, the user-agent wants to use the server's Public Key.
An attacker will try to make the client use the attacker's Public Key. So the client must have a way to make sure that it is using the right Public Key.
In SSL-TLS, the most common use of Certificate-based Authentication, is supposed to use X.509 which is a standard for Certificates. Each Certificate is signed by a Certificate Authority.
Typically the user-agent inherently knows the Public Keys of a handful of Certificate Authority (these are the "Trust Anchors" or "Root Certificates"). With these Public Keys, the client can verify the Digital Signature computed by a Certificate Authority over a certificate which has been issued to the server.
So the user-agent is supposed to do the following:
This process can be extended recursively: a Certificate Authority can issue a Certificate for another Certificate Authority (i.e. sign the certificate structure which contains the other Certificate Authority name and key).
For certificate-based user-agent authentication, it is entirely up to the server to decide what to do with a user-agent certificate (and also what to do with a user-agent who declined to send a certificate).