Estoy implementando un cliente con python's twisted que comprueba el certificado SSL del servidor cuando se conecta, siguiendo básicamente la receta this. He visto en muchos HOWTO, como este, que el servidor comprueba la autenticidad del cliente a través de un certificado SSL también. Actualmente autentico a mis clientes usando una identificación única y una cadena de 1024 caracteres (son clientes automáticos sin interacción humana).¿Por qué debería autenticar a un cliente que usa un certificado?
Lo que no entiendo es qué razón tendría que usar la cosa ssl para esto en vez de solo enviar la "contraseña" al servidor. Después de todo, la conexión ya está codificada en ssl, verificando el certificado del servidor y todo. This es una pregunta similar, pero quiero saber por qué personas usan certificados de cliente SSL y no solo cuál es la mejor manera de hacerlo.
Correcto, en este caso, los canales entre el cliente y el intermediario, el intermediario y el servidor seguían siendo seguros, el cliente simplemente no validó el certificado. Al servidor no le importa: si el servidor puede verificar los certificados del cliente, por ejemplo, una aplicación no pública o alguna aplicación donde los certificados se emiten y se firman como se esperaba, esto no sería posible. –