Prueba de firma digital en una solicitud entrante a través de Apache

0

Estoy creando un punto final de API que recibe la carga útil de un tercero. El tercero está firmando la solicitud con el certificado X509 (clave privada). He recibido su certificado público. ¿Cómo verifico que la solicitud entrante tenga una firma válida con el certificado público que tengo a través de Apache?

He intentado algunas de las cosas que no funcionan:

  • Mantuve SSLVerifyClient require junto con SSLVerifyDepth 10 en la configuración de Apache httpd, y luego mantuve su certificado de cliente en la Tienda de confianza.
  • Mantuve SSLOptions + ExportCertData y verifiqué SSL_CLIENT_CERT Variable de entorno al final de la aplicación si obtengo el Certificado de cliente en la Solicitud que estoy recibiendo. Aunque la variable de entorno no tiene ningún certificado en ella.

¿Cómo puedo verificar la solicitud firmada? Guíeme si estoy mirando en una dirección equivocada para verificar la Solicitud.

    
pregunta Richa Sinha 09.10.2016 - 07:04
fuente

1 respuesta

1

La firma digital de la carga útil es de Docusign como lo ha indicado en un comentario. Esta firma de carga útil no está relacionada con HTTPS y, por lo tanto, no se puede verificar a nivel HTTP en Apache. Esto significa que cualquier intento de usar SSLVerifyClient o similar no funcionará.

A simple vista de su documentación, no parece que DocuSign emplee algún formato de firma estandarizado que todos puedan verificar. Además, su API y SDK parecen ofrecer solo la firma pero no la verificación de la firma. Podría ser parte de su modelo de negocio controlar esta parte. Pero para más detalles, mire la documentación de su API (quizás me haya perdido algo) o póngase en contacto con Docusign.

    
respondido por el Steffen Ullrich 09.10.2016 - 21:29
fuente

Lea otras preguntas en las etiquetas