Recientemente escribí una aplicación que llama a un servicio de terceros para realizar algún trabajo. Este servicio de terceros requiere que autentique la llamada del cliente utilizando un certificado de cliente. Para esto, usé los métodos C # provistos por .NET para realizar esto (agregando "client.pfx" a los certificados de cliente con la solicitud).
Una de mis preocupaciones es que la API de este tercero menciona que debo realizar esta llamada segura utilizando un URI que han proporcionado como parte de su proceso de autenticación. Para mí, esto parece terrible porque un atacante podría proporcionar direcciones URL arbitrarias y recibir las solicitudes, y a su vez, el contenido de client.pfx.
Mi pregunta es, ¿cómo funciona esta autenticación de cliente (desde una especie de visión general)? ¿Se envía todo el certificado como parte de la solicitud? ¿Es solo una firma de la solicitud firmada con la clave privada en client.pfx? Me pregunto si mi preocupación está justificada.
¡Gracias!