Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Proyecto SIF/Veri*Factu/Ley Antifraude > Registros de Facturacion y Eventos (XML)
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #41  
Antiguo 07-01-2025
Faneka Faneka is offline
Miembro
 
Registrado: nov 2024
Posts: 137
Poder: 1
Faneka Va por buen camino
Cita:
Empezado por razorxxx Ver Mensaje
Por cierto, ¿alguien ha conseguido firmar con AutoFirmaCommandline.exe y colocar el nodo <Signature> al final del documento?
Pues ahora que lo comentas yo tuve que mover la etiqueta de la firma a su sitio porque no la coloca donde indica la extructura del veri*factu.
Responder Con Cita
  #42  
Antiguo 13-01-2025
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.905
Poder: 22
newtron Va camino a la fama
Ok. He integrado la forma que comentaba para montar el .xml en mi programa y me encuentro con un error al hacer el envío del fichero:





Lo que hago es interceptar el evento "Beforeexecute" del objeto HTTPRIO para cambiar el stream de la llamada por el fichero .xml montado con la cabecera+ficheros de facturas firmados y me da este mensaje.


¿Alguien sabe de qué puede ser?


Gracias y un saludo.
__________________
Be water my friend.
Responder Con Cita
  #43  
Antiguo 13-01-2025
delphiGar delphiGar is offline
Miembro
 
Registrado: ago 2024
Posts: 163
Poder: 1
delphiGar Va por buen camino
Igual que cuando envias para verifactu necesitas el certificado para autenticarte en la aeat, en este caso por requerimiento.
Responder Con Cita
  #44  
Antiguo 14-01-2025
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.905
Poder: 22
newtron Va camino a la fama
Cita:
Empezado por delphiGar Ver Mensaje
Igual que cuando envias para verifactu necesitas el certificado para autenticarte en la aeat, en este caso por requerimiento.

El caso es que el certificado ya se asigna al objeto HTTPRIO antes de hacer la llamada en el mismo procedimiento que uso para el modo VeriFactu y ahora lo único que estoy haciendo es sustituir el stream con el nuevo fichero .xml que monto.


En fin... seguiré haciendo pruebas a ver qué averiguo.


Gracias y un saludo.
__________________
Be water my friend.
Responder Con Cita
  #45  
Antiguo 14-01-2025
razorxxx razorxxx is offline
Miembro
 
Registrado: jul 2015
Posts: 108
Poder: 10
razorxxx Va por buen camino
Cita:
Empezado por Faneka Ver Mensaje
Pues ahora que lo comentas yo tuve que mover la etiqueta de la firma a su sitio porque no la coloca donde indica la extructura del veri*factu.
Si le pasas en el config los parámetros necesarios, sí te la coloca donde es. Por ejemplo, yo hago:
Cita:
AutoFirmaCommandLine.exe sign -i "ejemplo.xml" -o "ejemplo_signed.xml" -format xades -config "format=XAdES Enveloped \nincludeOnlySignningCertificate=true \npolicyIdentifier=urnid:2.16.724.1.3.1.1.2.1.9 \npolicyIdentifierHash=Dkx2R3nMv8kWo7iSAh+/1SQ70hfseOEaQbpJnURk+pg= \npolicyIdentifierHashAlgorithm=http://www.w3.org/2001/04/xmlenc#sha256 \npolicyQualifier=https://sede.administracion.gob.es/politica_de_firma_anexo_1.pdf" -store pkcs12:"cert.pfx" -password XXXX -filter subject.contains:89890001K

Última edición por Neftali [Germán.Estévez] fecha: 14-01-2025 a las 12:26:42. Razón: Añadir TAGs al código
Responder Con Cita
  #46  
Antiguo 14-01-2025
Faneka Faneka is offline
Miembro
 
Registrado: nov 2024
Posts: 137
Poder: 1
Faneka Va por buen camino
Ah, perfecto, lo probare, gracias.
Responder Con Cita
  #47  
Antiguo 14-01-2025
razorxxx razorxxx is offline
Miembro
 
Registrado: jul 2015
Posts: 108
Poder: 10
razorxxx Va por buen camino
Cita:
Empezado por Faneka Ver Mensaje
Ah, perfecto, lo probare, gracias.
No obstante, como ya comenté en otro hilo, a mi la firma del XML no me valida desde valide.redsara.es. Me devuelve el error "El hash de la política incluido en la firma no coincide con el hash real de la política de firma".

Si alguno lo ha conseguido y quiere compartirlo, agradecidísimo!
Responder Con Cita
  #48  
Antiguo 14-01-2025
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.874
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por razorxxx Ver Mensaje
Si le pasas en el config los parámetros necesarios, sí te la coloca donde es. Por ejemplo, yo hago:

Actualizado mensaje#2 con códigos útiles.
Gracias.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #49  
Antiguo 14-01-2025
razorxxx razorxxx is offline
Miembro
 
Registrado: jul 2015
Posts: 108
Poder: 10
razorxxx Va por buen camino
Cita:
Empezado por newtron Ver Mensaje
El caso es que el certificado ya se asigna al objeto HTTPRIO antes de hacer la llamada en el mismo procedimiento que uso para el modo VeriFactu y ahora lo único que estoy haciendo es sustituir el stream con el nuevo fichero .xml que monto.


En fin... seguiré haciendo pruebas a ver qué averiguo.

Gracias y un saludo.
Si los objetos HTTPRIO los arrastraste desde el Palette, tienes que tener uno por cada unit que utilices con HTTPRIO. Esto es porque desde que se haga una llamada a un método de una unit, se crea un contexto sobre dicha interface, y luego no hay manera de eliminar ese contexto para hacer una llamada a un método de otra unit (nos daría el error "interface not supported").

La otra opción es crearlos a pelo desde código mediante un Create y destruirlos tras la petición al WebService.
Responder Con Cita
  #50  
Antiguo 14-01-2025
delphiGar delphiGar is offline
Miembro
 
Registrado: ago 2024
Posts: 163
Poder: 1
delphiGar Va por buen camino
Cita:
Empezado por razorxxx Ver Mensaje
Si le pasas en el config los parámetros necesarios, sí te la coloca donde es. Por ejemplo, yo hago:
Aunque yo no utilizo Autofirma para firmar los ficheros.

El codigo correcto para autofrima seria este:
Código:
AutoFirmaCommandLine.exe sign -i "c:\envio_firmado.xml" -o "c:\envio_firmado_a.xsig" -format xades -config "format=XAdES Enveloped \nincludeOnlySignningCertificate=true \npolicyIdentifier=urn:oid:2.16.724.1.3.1.1.2.1.9 \npolicyIdentifierHash=G7roucf600+f03r/o0bAOQ6WAs0= \npolicyIdentifierHashAlgorithm=http://www.w3.org/2000/09/xmldsig#sha1 \npolicyQualifier=https://sede.administracion.gob.es/politica_de_firma_anexo_1.pdf" -store auto -certgui

Última edición por Neftali [Germán.Estévez] fecha: 15-01-2025 a las 10:16:59.
Responder Con Cita
  #51  
Antiguo 16-01-2025
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.905
Poder: 22
newtron Va camino a la fama
Ok. Creo que ya he conseguido enviar facturas en modo NO Verifactu. Resumo un poco lo que he hecho por si a alguien le viene bien.


Partimos de la base de que las facturas las tengo en una carpeta del disco duro firmadas. Para generar los ficheros de las facturas de forma simple lo que hago es rellenar el objeto SOAP igual que si lo fuera a enviar en modo Verifactu y desde ahí lo paso a un string que firmo y guardo en formato .XML en el disco. Tengo un fichero por cada factura. El código para guardar el fichero a partir del objeto SOAP lo saqué de por aquí, la verdad es que no recuerdo el hilo. La firma la hago con una dll que me hicieron en .net y parece que firma correctamente para Verifactu. Si a alguien le viene bien se la puedo pasar.


Una vez que tengo los ficheros con las facturas en el disco lo que hago es crear un fichero .XML "a pelo", le meto los datos de la cabecera, luego voy abriendo los ficheros XML de las facturas y los voy añadiendo a este fichero y al final cierro los nodos de la cabecera. Luego hago una llamada "tontuna" al HTTPRIO e intercepto el evento "OnBeforeExecute" sustituyendo el stream que envía por un stream creado a partir de este fichero .XML (código más arriba) y... ¡voilá! me da resultado correcto de todas las facturas que he metido en el fichero .XML que he creado.


Un problema que me he encontrado es que al guardar el fichero de cada factura con las llamadas SOAP algunos de los nodos no los nombra bien, les pone <item> y he tenido que localizarlos y cambiarlos por su valor correcto según iba creando el fichero .XML


Igual me he complicado mucho la vida pero no encontraba por aquí ningún ejemplo de envío NO Verifactu, si alguien sabe una forma más fácil será bien recibido.


Saludos.
__________________
Be water my friend.
Responder Con Cita
  #52  
Antiguo 29-01-2025
Avatar de elcharlie
elcharlie elcharlie is offline
Miembro
 
Registrado: mar 2013
Ubicación: Bilbao
Posts: 192
Poder: 13
elcharlie Va por buen camino
Hola, a alguien le sale la firma con Secure Black Box?, en ticketbai he podido realizarlo sin problema, pero en No verifactu, no me sale de ninguna de las maneras.
Al enviar el fichero a hacienda, no me da error, pero en cambio si lo intento validar en https://valide.redsara.es/valide/val.../ejecutar.html, me da error.

el código que tengo es este:

Código Delphi [-]
//FIRMO EL FICHERO DE LA FACTURA
    sbxXAdESSigner := TsbxXAdESSigner.Create(nil);
    sbxXAdESSigner.InputFile := FicheroFactura;
    sbxXAdESSigner.OutputFile := FicheroFacturaFirmado;

    GDWinCertStorage := TsbxCertificateStorage.Create(nil);
    if GDWinCertStorage.Opened then
      GDWinCertStorage.Close(True);

    GDWinCertStorage.Open(CERTIFICATE_STORAGE_LOCAL);
    GDWinCertStorage.Refresh;

    for var I := 0 to GDWinCertStorage.Certificates.Count - 1 do
    begin
      if BinToStr(GDWinCertStorage.Certificates[i].SerialNumber) = GDSerialCertificado then
      begin
        Cert := GDWinCertStorage.Certificates[i];
        Break;
      end;
    end;



    sbxXAdESSigner.SigningCertificate := Cert;
    sbxXAdESSigner.NewSignature.SignatureType := cxstEnveloped;
    sbxXAdESSigner.NewSignature.CanonicalizationMethod := cxcmCanon;
    sbxXAdESSigner.NewSignature.HashAlgorithm := 'SHA256';
    sbxXAdESSigner.NewSignature.XMLElement := 'RegistroAlta';
    sbxXAdESSigner.NewSignature.XAdES := True;
    sbxXAdESSigner.NewSignature.XAdESVersion := TsbxXAdESVersions.xav132;
    sbxXAdESSigner.NewSignature.XAdESForm := TsbxXAdESForms.xafEPES;
    sbxXAdESSigner.Config('IncludeKey=true');
    sbxXAdESSigner.Config('KeyInfoDetails=certificate,issuerserial,subjectname');

    //DATOS DE POLITICA DE LA FIRMA ESTATAL
    sbxXAdESSigner.Config('SigPolicyID=' + SIG_POLICY_ID_ESTATAL); // 'urnid:2.16.724.1.3.1.1.2.1.9'
    sbxXAdESSigner.Config('SigPolicyHash=' + SIG_POLICY_HASH_ESTATAL); // '1BBAE8B9C7FAD34F9FD37AFFA346C0390E9602CD'; //BASE64=G7roucf600+f03r/o0bAOQ6WAs0=
    sbxXAdESSigner.Config('SigPolicyHashAlgorithm=' + SIG_POLICY_HASH_ALGORITHM_ESTATAL); // 'SHA1'
    sbxXAdESSigner.Config('SigPolicyURI=' + SIG_POLICY_URI_ESTATAL); //'https://sede.administracion.gob.es/politica_de_firma_anexo_1.pdf'


    sbxXAdESSigner.Sign();
    sbxXAdESSigner.Free;

    if GDWinCertStorage.Opened then
        GDWinCertStorage.Close(True);

    Cert.Free;
    Cert := nil;

Gracias

Última edición por elcharlie fecha: 29-01-2025 a las 10:31:06.
Responder Con Cita
  #53  
Antiguo 29-01-2025
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.874
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por elcharlie Ver Mensaje
Hola, a alguien le sale la firma con Secure Black Box?, en ticketbai he podido realizarlo sin problema, pero en No verifactu, no me sale de ninguna de las maneras.
Al enviar el fichero a hacienda, no me da error, pero en cambio si lo intento validar en https://valide.redsara.es/valide/val.../ejecutar.html, me da error.

¿Y si pruebas con las herramientas de firma que hay aquí?

Revisa también este mensaje, si no lo has hecho. Hay varios códigos referentes a la firma del XML.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.

Última edición por Neftali [Germán.Estévez] fecha: 30-01-2025 a las 09:25:27.
Responder Con Cita
  #54  
Antiguo 30-01-2025
Avatar de elcharlie
elcharlie elcharlie is offline
Miembro
 
Registrado: mar 2013
Ubicación: Bilbao
Posts: 192
Poder: 13
elcharlie Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
¿Y si pruebas con las herramientas de forma que hay aquí?

Revisa también este mensaje, si no lo has hecho. Hay varios códigos referentes a la firma del XML.
Gracias Germán. no conocía esta herramienta. Algo le pasa que no acaba de cargar la web, lo mirare estos días por si lo arreglan.
Responder Con Cita
  #55  
Antiguo 30-01-2025
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.874
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por elcharlie Ver Mensaje
Algo le pasa que no acaba de cargar la web, lo mirare estos días por si lo arreglan.
A mi me pasa que a veces también se bloquea.
Entra en la pagina "Home" (https://servicios.izenpe.com/home/mostrarWelcome.do) y desde ahí accede "Herramientas de firma de documentos" y desde ahí a "Validar firmas".
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #56  
Antiguo 30-01-2025
Avatar de elcharlie
elcharlie elcharlie is offline
Miembro
 
Registrado: mar 2013
Ubicación: Bilbao
Posts: 192
Poder: 13
elcharlie Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
A mi me pasa que a veces también se bloquea.
Entra en la pagina "Home" (https://servicios.izenpe.com/home/mostrarWelcome.do) y desde ahí accede "Herramientas de firma de documentos" y desde ahí a "Validar firmas".
Haciéndolo así, si que funciona la web.
Gracias.

Por cierto, ayer me puse en contacto con la AEAT, y me dijeron, que iban a publicar un nuevo servicio de validación de firmas electrónicas de documentos, para que podamos probarlo.
Se anunciara en el tablón de anuncios, en https://www.agenciatributaria.es/AEA...Novedades.html
para el que le interese....
Responder Con Cita
  #57  
Antiguo 30-01-2025
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.874
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por elcharlie Ver Mensaje
Por cierto, ayer me puse en contacto con la AEAT, y me dijeron, que iban a publicar un nuevo servicio de validación de firmas electrónicas de documentos, para que podamos probarlo.
Se anunciara en el tablón de anuncios, en https://www.agenciatributaria.es/AEA...Novedades.html
para el que le interese....
Ambas noticias están publicadas en el foro de General/Noticias.
Parece que lo que hay hasta ahora es el de consulta de facturas.
Ya estaban los de remisión de facturas de forma voluntaria o por requerimiento (con certificado):
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #58  
Antiguo 30-01-2025
Avatar de elcharlie
elcharlie elcharlie is offline
Miembro
 
Registrado: mar 2013
Ubicación: Bilbao
Posts: 192
Poder: 13
elcharlie Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Ambas noticias están publicadas en el foro de General/Noticias.
Parece que lo que hay hasta ahora es el de consulta de facturas.
Ya estaban los de remisión de facturas de forma voluntaria o por requerimiento (con certificado):
Perfecto, gracias Germán, esta vez con el VERI*Factu me esta pillando un poco el toro. Toda la ayuda es buena.
Se agradece, Muchas Gracias.
Responder Con Cita
  #59  
Antiguo Hace 3 Semanas
xapusoft xapusoft is offline
Registrado
 
Registrado: abr 2025
Posts: 1
Poder: 0
xapusoft Va por buen camino
Buenos días.


Soy nuevo por aquí y en primer lugar quería agradeceros todas las aportaciones que hacéis.


Estamos en proceso de implantación de NO VeriFactu y me surge una duda. ¿Cómo estáis probando que la firma es correcta? En las especificaciones indican que hay que usar sha256 pero al firmar con autofirma siempre me firma con sha512 por mucho que he intentado forzarlo. El caso es que he mandado un requerimiento de factura firmada con sha512 al entorno de validación y me lo ha dado por correcto, pero luego he intentado a mandarlo con la firma incorrecta, incluso sin firma, cuando ahí es obligatorio, y me lo sigue dando por bueno. Entiendo que en ese entorno te valida sólo la factura y no la firma. ¿Hay algún sitio o alguna forma de asegurarme que la firma que estoy creando es correcta?
Responder Con Cita
  #60  
Antiguo Hace 3 Semanas
razorxxx razorxxx is offline
Miembro
 
Registrado: jul 2015
Posts: 108
Poder: 10
razorxxx Va por buen camino
Cita:
Empezado por xapusoft Ver Mensaje
Buenos días.


Soy nuevo por aquí y en primer lugar quería agradeceros todas las aportaciones que hacéis.


Estamos en proceso de implantación de NO VeriFactu y me surge una duda. ¿Cómo estáis probando que la firma es correcta? En las especificaciones indican que hay que usar sha256 pero al firmar con autofirma siempre me firma con sha512 por mucho que he intentado forzarlo. El caso es que he mandado un requerimiento de factura firmada con sha512 al entorno de validación y me lo ha dado por correcto, pero luego he intentado a mandarlo con la firma incorrecta, incluso sin firma, cuando ahí es obligatorio, y me lo sigue dando por bueno. Entiendo que en ese entorno te valida sólo la factura y no la firma. ¿Hay algún sitio o alguna forma de asegurarme que la firma que estoy creando es correcta?
Tengo entendido que los de AEAT iban a sacar un servicio online de validación de firma de registros. En cuanto a la firma estoy igual que tú, el AutoFirma siempre le manda el sha512 y la validación de la firma en ValiDe es correcta, pero no sé si también lo será para VeriFactu.
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
Duda Existencial Verifactu usuario1000 General/Noticias 10 11-11-2024 09:25:56
Consulta QR Verifactu JoseLeeTo Envío de registros y sus respuestas 10 09-11-2024 21:49:21
Cumplir VeriFactu xevi General/Noticias 2 04-11-2024 12:12:40
Respuesta de Verifactu sglorka Envío de registros y sus respuestas 2 30-10-2024 15:40:00
verifactu jguarda Internet 1 03-10-2024 17:48:17


La franja horaria es GMT +2. Ahora son las 06:57:02.


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