Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-05-2021
bilbur bilbur is offline
Miembro
 
Registrado: dic 2019
Posts: 60
Poder: 5
bilbur Va por buen camino
Cita:
Empezado por Edgar7 Ver Mensaje
Lo primero de todo, ...

Signature is Invalid
Number of Reference Digests = 3
Reference 1 digest is invalid because the computed digest differs from the digest in the XML.
Reference 2 digest is invalid because the computed digest differs from the digest in the XML.
Reference 3 digest is valid.

¿Podrías confirmarme si el código que tienes puesto te genera correctamente la firma o decirme si te ha pasado algo similar?

Muchas gracias.

El código me funciona

Versión PHP 5.6.40
Has de ser muy estricto en el xml con el orden de las "references" y con los "digest"


Reference 1:

Código PHP:
        '<ds:Reference URI="#'.$this->SignedProperties.'" Type="http://uri.etsi.org/01903#SignedProperties">' .
        
'<ds:Transforms>' .
        
'<ds:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>' .
        
'</ds:Transforms>' .        
        
'<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>' .
        
'<ds:DigestValue>'.$propDigest.'</ds:DigestValue>' .
        
'</ds:Reference>' 
Verás en el firmador:

Código PHP:
 $aconop     str_replace('<xades:SignedProperties''<xades:SignedProperties ' $xmnls_signedprops$prop);
    
$propDigest $this->retC14DigestSha1($aconop); 
Que llama a, también dentro del firmador:


Código PHP:
   public function retC14DigestSha1($strcadena)
    {
    
$strcadena    str_replace("\r"""str_replace("\n"""$strcadena));
    
$d1p        = new DOMDocument('1.0''UTF-8');
    
$d1p->loadXML($strcadena);
    
$strdata    $d1p->C14N();
    return 
base64_encode(hash('sha256' $strdatatrue ));
    } 
Ve despacio, prueba con la reference 1 y me dices
Si no avanzas, puedes hacerme llegar, no sé como, un xml de prueba firmado



Un saludo
Responder Con Cita
  #2  
Antiguo 05-05-2021
bilbur bilbur is offline
Miembro
 
Registrado: dic 2019
Posts: 60
Poder: 5
bilbur Va por buen camino
PHP Prueba firma xml

Con el propósito de comprobar la firma de los xml con el firmador.php subo el archivo P1.xml

Código:
<?xml version='1.0' encoding='UTF-8'?><T:TicketBai xmlns:T='urn:ticketbai:emision' 
    xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' 
    xsi:schemaLocation='http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd'>
    <Cabecera><IDVersionTBAI>1.2</IDVersionTBAI>
    </Cabecera><Sujetos><Emisor><NIF>XXXXXXXXX</NIF>
    <ApellidosNombreRazonSocial>BILBUR, S.L.</ApellidosNombreRazonSocial></Emisor>
    <EmitidaPorTercerosODestinatario>N</EmitidaPorTercerosODestinatario></Sujetos>
    </T:TicketBai>
El contenido es sufieciente, lo he firmado y he obtenido el ok del validador de firmas de clikat
http://tools.chilkat.io/xmlDsigVerify.cshtml
Signature Verified
Number of Reference Digests = 3
Reference 1 digest is valid.
Reference 2 digest is valid.
Reference 3 digest is valid.

También podemos hacerlo del revés, enviad un mini xml para que yo lo firme y comparar
Probad a firmar con firmador.php para ver las diferencias.
Normalmente los errores se deben al "canonizado" y la generación del digest.


Un saludo
Responder Con Cita
  #3  
Antiguo 06-05-2021
Edgar7 Edgar7 is offline
Miembro
 
Registrado: nov 2020
Posts: 10
Poder: 0
Edgar7 Va por buen camino
Buenas tardes Bilbur,

Muchas gracias por la ayuda, finalmente pude hacerlo gracias al ejemplo que me has pasado del XML, por si a alguien le pasa lo mismo me faltaba lo siguiente en mi xml del ticketBAI:

<?xml version='1.0' encoding='UTF-8'?>
<T:TicketBai xmlns:T='urn:ticketbai:emision' xmlns:xsi=' No me deja poner la url aun ' xsi:schemaLocation=' No me deja poner la url aun '>
<Cabecera><IDVersionTBAI>1.2</IDVersionTBAI>

Un saludo
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
SII -Nuevo sistema de la Agencia Tributaria española de envío de datos vía Webservice newtron Internet 3565 Hace 1 Semana 11:04:13
Como utilizar la ayuda del nuevo Sistema Operativo gluglu Humor 3 24-09-2007 09:39:05
Aplicacion Agencia De Viajes ArdiIIa Varios 9 20-01-2007 16:49:53
El Vasco Aguirre Al González La Taberna 5 26-05-2006 09:22:28
Microsoft ha lanzado su nuevo sistema operativo DarkByte Humor 0 25-01-2004 09:21:14


La franja horaria es GMT +2. Ahora son las 03:16:13.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi