Bienvenido a Facturas y Respuestas.

Esperamos que encuentre la respuesta a su pregunta. Y si no, puede formularla para que los expertos de la comunidad la respondan.

Preguntar

Este blog es creado y administrado por:

Copyright - 2020

0 votos
por hace en Firma digital
Necesito poder validar la firma de los xml que recibimos de los proveedores de nuestro cliente, trabajo con php la parte de recepción de los xml que nuestro cliente carga al sistema, ahora, necesito poder validar la firma del xml en php, entiendo que podría hacer esto con openssl_verify, pero siempre me regresa que la firma es invalida.

Lo que le estoy pasando en los parámetros de la función openssl_verify son:

$xml = Le paso el xml que el cliente carga retirando el nodo ds:Signature. Ejemplo:
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<AttachedDocument>TODO LOS DATOS DEL DOCUMENTO EXCEPTO<ds:Signature></ds:Signature></AttachedDocument>

$firma = paso el valor que se encuentra en la etiqueta ds:SignatureValue. Ejemplo:
SkA32s3GeC2H0kP2f5W/2BfZ4m1PicTye8V1cAVKvi3HLLSjk79vN5Tveh902Sl2HOcxmUAdaH7h&#13;
ZGrLFeYGQWJgjDaRVQYbu3Ks5w0/egpc/MuRYlfsZQciYEuBqyK6N+w/y+hxUAlvW4MRD/915DHv&#13;
gMNPs+h4iERcCNByLz0LjMNO4TU+IHKN/v/0oQ==

$cert = paso el value de la etiqueta ds:X509Certificate de acuerdo a la especificación. Ejemplo:
-----BEGIN CERTIFICATE-----
MIIIoTcCBOmgAwIBAgIIIxD40rPKuH...
-----END CERTIFICATE-----

Al final envío el método de encriptación 'RSA-SHA256'

Quedaría la llamada así: openssl_verify($xml , $firma , $cert , 'RSA-SHA256');
Sin embargo la respuesta que devuelve es que no es válida la firma para la data.

Por eso me gustaría saber si el valor de data que se firma es otra y por eso no coincide con la firma, o si el método de encriptación es incorrecto o si los datos de certificado y firma que le estoy pasando están mal.

Tu respuesta

Nombre a mostrar (opcional):
Privacidad: Tu dirección de email sólo será utilizada para enviarte estas notificaciones.
Verificación anti-spam:
Para evitar esta verificación en el futuro, por favor, accede o regístrate.

Preguntas relacionadas

...