Cuando solo el servidor envía un certificado, pero no el cliente, la conexión SSL es buena y elegante, pero el servidor no tiene ni idea de quién está hablando. Lo que proporciona SSL en ese caso es que el servidor puede estar seguro de que hablará con el mismo cliente todo el tiempo, sin que sea posible interceptarlo. Si el servidor aún debe saber quién puede ser el cliente, debe realizarse otra autenticación adicional, por ejemplo. el cliente envía un nombre de usuario + contraseña al servidor. Así es como van las cosas en los sitios web habituales de HTTPS.
La autenticación del cliente basada en certificados es más útil cuando el cliente desea demostrar su identidad al servidor, pero no debe dar ningún secreto a ese servidor. Esto realmente tiene sentido cuando el certificado de cliente ha sido emitido al cliente por una Autoridad de Certificación distinta del propietario del servidor. Si el servidor en sí está dando certificados a los clientes, entonces el uso de un certificado de cliente no tiene mucha ventaja conceptual sobre una autenticación simple de mostrar la contraseña.
(Los certificados de cliente pueden tener algunas ventajas de implementación: se pueden usar con tarjetas inteligentes compatibles con certificados; y dado que el certificado se realiza mediante el protocolo de enlace SSL, evita la necesidad de incluir un protocolo de autenticación de mostrar la contraseña en los datos de la aplicación.)