Club Delphi  
    Paypal   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 Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-01-2025
delphiGar delphiGar is offline
Miembro
 
Registrado: ago 2024
Posts: 182
Poder: 2
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
  #2  
Antiguo 16-01-2025
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 4.215
Poder: 24
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
  #3  
Antiguo 29-01-2025
Avatar de elcharlie
elcharlie elcharlie is offline
Miembro
 
Registrado: mar 2013
Ubicación: Bilbao
Posts: 193
Poder: 14
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
  #4  
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: 19.441
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
  #5  
Antiguo 30-01-2025
Avatar de elcharlie
elcharlie elcharlie is offline
Miembro
 
Registrado: mar 2013
Ubicación: Bilbao
Posts: 193
Poder: 14
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
  #6  
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: 19.441
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
  #7  
Antiguo 30-01-2025
Avatar de elcharlie
elcharlie elcharlie is offline
Miembro
 
Registrado: mar 2013
Ubicación: Bilbao
Posts: 193
Poder: 14
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
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Posicion Firma shoulder Varios 9 11-10-2016 17:03:20
Chequeo para InputBox... bulc OOP 1 20-06-2014 22:18:14
Calcular un digito de chequeo GrupoDatasoft Varios 7 09-02-2009 17:53:53
Firma Digital Dado de baja Varios 5 30-11-2008 20:52:16
La firma de la semana, del mes, del año... kinobi Debates 3 23-05-2005 01:00:52


La franja horaria es GMT +2. Ahora son las 16:42:12.


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