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 22-07-2021
sEngine sEngine is offline
Miembro
 
Registrado: jul 2021
Posts: 53
Poder: 3
sEngine Va por buen camino
Cita:
Empezado por Eric Mtz Ver Mensaje
Estoy igual, pero en la respuesta de BATUZ hay algún dato que os puede resultar interesante así que os lo publico aquí:



Francamente no tengo ni la mas remota idea de la diferencia entre EPES y BES, pero me alegra no ser el único a que se le ha roto de un día para otro.

Bueno, recordad que estamos todos en formación testudo, dicho de otra manera somos una piña, si encuentro alguna solución os la podré por aquí, venga ánimo a todos.
No se como lo teneis puesto pero yo lo tengo asi al crear la firma y me funciona (uso el autofirma). Teneis puesto lo de format?

Código Delphi [-]
sign -i "tempBai.xml" -o tempBai_firmado.xml ' +
'-store pkcs12:sello_entidad_act_prod.p12 -password IZProd2021 -filter sello_entidad_act_prod.p12 '+
'-format xades -xml -config "format=XAdES Enveloped ' +
'\npolicyIdentifier=https://www.batuz.eus/fitxategiak/batuz/ticketbai/sinadura_elektronikoaren_zehaztapenak_especificaciones_de_la_firma_electronica_v1_0.pdf '+
'\npolicyIdentifierHash=Quzn98x3PMbSHwbUzaj5f5KOpiH0u8bvmwbbbNkO9Es='+
'\npolicyIdentifierHashAlgorithm=http://www.w3.org/2001/04/xmlenc#sha256 ' +
'\npolicyQualifier=https://www.batuz.eus/fitxategiak/batuz/ticketbai/sinadura_elektronikoaren_zehaztapenak_especificaciones_de_la_firma_electronica_v1_0.pdf';

y segun google

XAdES-BES. Forma básica que simplemente cumple los requisitos legales de la Directiva para firma electrónica avanzada
XAdES-EPES. Es un XAdES-BES al que se le incorpora información sobre la política de firma, como pudiera ser aquella información sobre el certificado empleado y la CA que lo emitió.

Última edición por sEngine fecha: 22-07-2021 a las 16:36:51.
Responder Con Cita
  #2  
Antiguo 23-07-2021
jsanznub jsanznub is offline
Registrado
 
Registrado: jul 2021
Posts: 2
Poder: 0
jsanznub Va por buen camino
Angry

Cita:
Empezado por sEngine Ver Mensaje
No se como lo teneis puesto pero yo lo tengo asi al crear la firma y me funciona (uso el autofirma). Teneis puesto lo de format?

y segun google

XAdES-BES. Forma básica que simplemente cumple los requisitos legales de la Directiva para firma electrónica avanzada
XAdES-EPES. Es un XAdES-BES al que se le incorpora información sobre la política de firma, como pudiera ser aquella información sobre el certificado empleado y la CA que lo emitió.
Gracias por la respuesta sEngine, no me soluciono el problema directamente pero me ha ayudado a encontrarlo. Firme el documento con autofirma y puede comprobar que la única diferencia real con el fichero que firmaba yo estaba en un elemento del xml.

Yo tenía (edito los enlace para poder publicar):

<xades:QualifyingProperties xmlns:xades="uri.etsi.org/01903/v1.3.2/XAdES.xsd" xmlns:ds="w3.org/2000/09/xmldsig#" .....

y en el resultado de autofirma era:

<xades:QualifyingProperties xmlns:xades="uri.etsi.org/01903/v1.3.2#" xmlns:ds="w3.org/2000/09/xmldsig#".....

Esa definición diferente del namespace de xades estaba provocando que Bizkaia rechazará el fichero porque no consideraba que fuera una firma EPES sino BES . En fin, tema resuelto, espero que os pueda resultar útil a alguno y no perdáis tanto tiempo como yo.
Responder Con Cita
  #3  
Antiguo 24-07-2021
CMB CMB is offline
Miembro
 
Registrado: ene 2017
Posts: 349
Poder: 8
CMB Va por buen camino
Respecto al borrado y manipulación de ficheros TBAI

¿Alguien ha analizado los aspectos legales? He encontrado una situación que me parece bastante peligrosa, y está en la normativa de las 3 diputaciones. Ver por ejemplo apartado 3b del artículo 133 bis de la Norma Foral del Impuesto de Sociedades de Gipuzkoa, y especialmente el apartado c donde definen lo que ellos consideran que significa "intervenir" (el mismo texto o muy parecido está en el artículo análogo del IRPF, o en los de las demás diputaciones).
  • c)   Cuando el contribuyente haya desarrollado el software y a su vez haya cometido la infracción prevista en la letra b) del apartado 1 anterior, ésta se sancionará según lo dispuesto en la letra a) de este apartado.
    A los efectos de este apartado, se considerará que una persona o entidad ha intervenido en la destrucción, borrado o manipulación a que se refiere la letra b) del apartado 1 anterior, entre otros supuestos, cuando:
    • - Haya alterado el sistema informático o software, archivos o ficheros informáticos.
    • - Haya tenido o tenga, de alguna forma, el control sobre el sistema informático o software, archivos o ficheros informáticos.
    • - Disponga o ponga a disposición de otras personas o entidades, sistemas, medios o métodos para las citadas destrucción, borrado o manipulación.
    • - Haya dictado, facilitado o mostrado instrucciones para las citadas destrucción, borrado o manipulación.
    • - Realice una acción u omisión que, aunque por sí sola no tenga entidad suficiente para ser considerada destrucción, borrado o manipulación, se trate de una acción u omisión que forma parte de dicho proceso y que, unida a la actuación u omisión de otras personas o entidades, conlleva las citadas destrucción, borrado o manipulación.
Resulta que si...
  • El software es una aplicación que se ejecuta en el ordenador del usuario, y en consecuencia los datos están bajo el control del usuario final.
  • El usuario por su cuenta logra borrar o manipular los ficheros TBAI.
  • La administración considera que la entidad desarrolladora del software no ha hecho lo suficiente para impedírselo (omisión).
entonces se sancionará a la entidad desarrolladora con una multa de 40.000€.

A mi me parece que el redactor de esta ley no se da cuenta de como funciona un ordenador. Si el software está en un ordenador controlado por el usuario y los ficheros también, en última instancia es el usuario quien tiene el control de dichos ficheros. ¿Cómo vamos a impedirle que los modifique?

Naturalmente se podrían adoptar medidas para dificultarlo. Por ejemplo se podrían cifrar los ficheros, o firmar y verificarlos cada vez que abrimos el programa. ¿Pero son suficientes? Siempre se pueden hacer más cosas. Y un usuario con suficientes conocimientos y recursos puede saltárselas. La normativa no nos dice claramente qué medidas debemos adoptar, por lo que hagámos lo que hagámos estaremos en riesgo.

Por no hablar, naturalmente, de la posibilidad de que el usuario directamente desinstale el programa y borre todos los ficheros. ¿Como vamos a impedir esto?
Responder Con Cita
  #4  
Antiguo 26-07-2021
Galaxian Galaxian is offline
Miembro
 
Registrado: mar 2021
Posts: 52
Poder: 4
Galaxian Va por buen camino
Cita:
Empezado por CMB Ver Mensaje
¿Alguien ha analizado los aspectos legales? He encontrado una situación que me parece bastante peligrosa, y está en la normativa de las 3 diputaciones. Ver por ejemplo apartado 3b del artículo 133 bis de la Norma Foral del Impuesto de Sociedades de Gipuzkoa, y especialmente el apartado c donde definen lo que ellos consideran que significa "intervenir" (el mismo texto o muy parecido está en el artículo análogo del IRPF, o en los de las demás diputaciones).
  • c)   Cuando el contribuyente haya desarrollado el software y a su vez haya cometido la infracción prevista en la letra b) del apartado 1 anterior, ésta se sancionará según lo dispuesto en la letra a) de este apartado.
    A los efectos de este apartado, se considerará que una persona o entidad ha intervenido en la destrucción, borrado o manipulación a que se refiere la letra b) del apartado 1 anterior, entre otros supuestos, cuando:
    • - Haya alterado el sistema informático o software, archivos o ficheros informáticos.
    • - Haya tenido o tenga, de alguna forma, el control sobre el sistema informático o software, archivos o ficheros informáticos.
    • - Disponga o ponga a disposición de otras personas o entidades, sistemas, medios o métodos para las citadas destrucción, borrado o manipulación.
    • - Haya dictado, facilitado o mostrado instrucciones para las citadas destrucción, borrado o manipulación.
    • - Realice una acción u omisión que, aunque por sí sola no tenga entidad suficiente para ser considerada destrucción, borrado o manipulación, se trate de una acción u omisión que forma parte de dicho proceso y que, unida a la actuación u omisión de otras personas o entidades, conlleva las citadas destrucción, borrado o manipulación.
Resulta que si...
  • El software es una aplicación que se ejecuta en el ordenador del usuario, y en consecuencia los datos están bajo el control del usuario final.
  • El usuario por su cuenta logra borrar o manipular los ficheros TBAI.
  • La administración considera que la entidad desarrolladora del software no ha hecho lo suficiente para impedírselo (omisión).
entonces se sancionará a la entidad desarrolladora con una multa de 40.000€.

A mi me parece que el redactor de esta ley no se da cuenta de como funciona un ordenador. Si el software está en un ordenador controlado por el usuario y los ficheros también, en última instancia es el usuario quien tiene el control de dichos ficheros. ¿Cómo vamos a impedirle que los modifique?

Naturalmente se podrían adoptar medidas para dificultarlo. Por ejemplo se podrían cifrar los ficheros, o firmar y verificarlos cada vez que abrimos el programa. ¿Pero son suficientes? Siempre se pueden hacer más cosas. Y un usuario con suficientes conocimientos y recursos puede saltárselas. La normativa no nos dice claramente qué medidas debemos adoptar, por lo que hagámos lo que hagámos estaremos en riesgo.

Por no hablar, naturalmente, de la posibilidad de que el usuario directamente desinstale el programa y borre todos los ficheros. ¿Como vamos a impedir esto?
Una normativa parecida rige desde hace años a nivel nacional. Aún así, hicimos una consulta sobre la posibilidad de cifrar los ficheros TBAI, pero nos dijeron que estos tienen que estar a la disposición de los inspectores que, eventualmente, necesitaran consultarlos.

De todos modos la cosa no es tan grave porque solo sancionarán a las empresas cuyos programas tengan herramientas específicas para alterar o borrar los datos. Es decir, que si aún lo hacéis, se acabó lo de permitir modificar o borrar facturas emitidas aunque los usuarios digan que "la tengo en la mano y aún no se la he dado al cliente". En esos casos rectificativa al canto, pues puede llegar a ser considerado falsedad en documento público... y a nosotros cómplices. Casi nada.
Responder Con Cita
  #5  
Antiguo 26-07-2021
Sistel Sistel is offline
Miembro
 
Registrado: nov 2019
Ubicación: Bilbao
Posts: 373
Poder: 5
Sistel Va por buen camino
Hola,

Me ha llegado información sobre la II Feria TicketBAI organizada por la Cámara de Gipuzkoa.
Os anexo el documento PDF.

Saludos

Última edición por Sistel fecha: 06-04-2022 a las 15:35:16.
Responder Con Cita
  #6  
Antiguo 26-07-2021
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.290
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


Gracias.
No se si la cosa está para muchas ferias hora...
__________________
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 27-07-2021
e.jaume e.jaume is offline
Registrado
 
Registrado: jul 2021
Posts: 5
Poder: 0
e.jaume Va por buen camino
Presentación y duda con el Error 008

Buenas a tod@s,
Este foro me ha servido de gran ayuda para completar el desarrollo de envío de facturas a ticketBAI en Gipuzkoa, os agradezco a todos el esfuerzo y la dedicación, muchas gracias.
Me he animado a escribir porque tengo una duda relacionada con el envío de facturas. He llegado a este punto donde no se qué mas probar, y es que no consigo salir del bucle de este error:
"El mensaje ha sido modificado en tránsito o la firma no está bien realizada -- Reference URI="" failed to verify. [src/xml2signatureobj.cpp(315)] - (10606)"
La factura se envío en utf-8, he comprobado con el Tortoise y no se modifica durante el proceso de firma, la empresa no contiene caracteres raros...etc.
Programo en C# y utilizo la librería FirmaXadesNet45
La verdad que no se por dónde más tirar, cualquier ayuda os lo agradezco.


P.D: Perdón por la pregunta de la que ya se ha hablado mucho y también he leído todas las páginas del foro y he probado casi de todo XD
Responder Con Cita
  #8  
Antiguo 27-07-2021
Sistel Sistel is offline
Miembro
 
Registrado: nov 2019
Ubicación: Bilbao
Posts: 373
Poder: 5
Sistel Va por buen camino
Cita:
Empezado por e.jaume Ver Mensaje
Buenas a tod@s,
Este foro me ha servido de gran ayuda para completar el desarrollo de envío de facturas a ticketBAI en Gipuzkoa, os agradezco a todos el esfuerzo y la dedicación, muchas gracias.
Me he animado a escribir porque tengo una duda relacionada con el envío de facturas. He llegado a este punto donde no se qué mas probar, y es que no consigo salir del bucle de este error:
"El mensaje ha sido modificado en tránsito o la firma no está bien realizada -- Reference URI="" failed to verify. [src/xml2signatureobj.cpp(315)] - (10606)"
La factura se envío en utf-8, he comprobado con el Tortoise y no se modifica durante el proceso de firma, la empresa no contiene caracteres raros...etc.
Programo en C# y utilizo la librería FirmaXadesNet45
La verdad que no se por dónde más tirar, cualquier ayuda os lo agradezco.


P.D: Perdón por la pregunta de la que ya se ha hablado mucho y también he leído todas las páginas del foro y he probado casi de todo XD
Hola e.jaume,

Si ya has probado todo lo que se ha comentado sobre ese error, y sigues igual, mi recomendación es que contactes con Hacienda Foral de Gipuzkoa (ticketbaikontsultak@gipuzkoa.eus).
En el título del email pones: “Pruebas TicketBAI en PRE: Nombre Empresa”
Y pones como categoría del tema: "Errores en envío de facturas"
Les envías los datos de lo que estás enviando y el error y ellos te dirán a qué puede ser debido.

Saludos
Responder Con Cita
  #9  
Antiguo 28-07-2021
e.jaume e.jaume is offline
Registrado
 
Registrado: jul 2021
Posts: 5
Poder: 0
e.jaume Va por buen camino
Cita:
Empezado por Sistel Ver Mensaje
Hola e.jaume,

Si ya has probado todo lo que se ha comentado sobre ese error, y sigues igual, mi recomendación es que contactes con Hacienda Foral de Gipuzkoa (ticketbaikontsultak@gipuzkoa.eus).
En el título del email pones: “Pruebas TicketBAI en PRE: Nombre Empresa”
Y pones como categoría del tema: "Errores en envío de facturas"
Les envías los datos de lo que estás enviando y el error y ellos te dirán a qué puede ser debido.

Saludos
Gracias Sistel! Les envié varios correos el viernes, aún estoy esperando respuesta, supongo que tardarán en contestar debido a las vacaciones.
Como tampoco puedo compartir código por el foro, poco más puedo hacer. A ver si en la sesión informativa pueden aclarar ese punto. ¿Habéis encontrado algún ejemplo que sea bastante claro de cómo montar una firma XAdES Enveloped en C#?

un saludo!
Responder Con Cita
  #10  
Antiguo 28-07-2021
e.jaume e.jaume is offline
Registrado
 
Registrado: jul 2021
Posts: 5
Poder: 0
e.jaume Va por buen camino
Cita:
Empezado por Sistel Ver Mensaje
Hola e.jaume,

Si ya has probado todo lo que se ha comentado sobre ese error, y sigues igual, mi recomendación es que contactes con Hacienda Foral de Gipuzkoa (ticketbaikontsultak@gipuzkoa.eus).
En el título del email pones: “Pruebas TicketBAI en PRE: Nombre Empresa”
Y pones como categoría del tema: "Errores en envío de facturas"
Les envías los datos de lo que estás enviando y el error y ellos te dirán a qué puede ser debido.

Saludos
Hola! al final sí que me han respondido hoy. Me han dicho que es por la codificación, en alguna parte se está realizando la modificación de los caracteres que tienen tilde.
El envío lo estoy realizando de esta forma pero no encuentro que se cambie la codificación...

Código:
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(serviceUri);

            byte[] bytes = Encoding.UTF8.GetBytes(comunicacionXml);

            request.ContentType = "application/xml;charset=utf-8";
            request.ContentLength = bytes.Length;
            request.Method = WebRequestMethods.Http.Post;
            request.ClientCertificates.Add(certs);

            Stream requestStream = null;

            try
            {                
                requestStream = request.GetRequestStream();
                requestStream.Write(bytes, 0, bytes.Length);
                requestStream.Flush();
            }
            finally
            {
                if (requestStream != null)
                {
                    requestStream.Close();
                }
            }

            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
¿Se le ocurre alguien alguna idea por disparatada que sea?

Gracias!

Última edición por Neftali [Germán.Estévez] fecha: 28-07-2021 a las 11:55:24. Razón: Añadir TAG's al código
Responder Con Cita
  #11  
Antiguo 28-07-2021
Noe277 Noe277 is offline
Miembro
 
Registrado: jul 2017
Posts: 72
Poder: 7
Noe277 Va por buen camino
Codificación

Cita:
Empezado por e.jaume Ver Mensaje
Hola! al final sí que me han respondido hoy. Me han dicho que es por la codificación, en alguna parte se está realizando la modificación de los caracteres que tienen tilde.
El envío lo estoy realizando de esta forma pero no encuentro que se cambie la codificación...

Código:
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(serviceUri);

            byte[] bytes = Encoding.UTF8.GetBytes(comunicacionXml);

            request.ContentType = "application/xml;charset=utf-8";
            request.ContentLength = bytes.Length;
            request.Method = WebRequestMethods.Http.Post;
            request.ClientCertificates.Add(certs);

            Stream requestStream = null;

            try
            {                
                requestStream = request.GetRequestStream();
                requestStream.Write(bytes, 0, bytes.Length);
                requestStream.Flush();
            }
            finally
            {
                if (requestStream != null)
                {
                    requestStream.Close();
                }
            }

            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
¿Se le ocurre alguien alguna idea por disparatada que sea?

Gracias!
Si generas el xml y tiene algún carácter extraño lo cambia de codificación por mas que intentes transformar el fichero(con la factura-e pase por esto). Yo para evitar errores transformo los caracteres a utf8 previamente cuando estoy escribiendo el fichero. En un post anterior indico como. Simplemente hago un replace.
Responder Con Cita
  #12  
Antiguo 28-07-2021
e.jaume e.jaume is offline
Registrado
 
Registrado: jul 2021
Posts: 5
Poder: 0
e.jaume Va por buen camino
Talking

Cita:
Empezado por Noe277 Ver Mensaje
Si generas el xml y tiene algún carácter extraño lo cambia de codificación por mas que intentes transformar el fichero(con la factura-e pase por esto). Yo para evitar errores transformo los caracteres a utf8 previamente cuando estoy escribiendo el fichero. En un post anterior indico como. Simplemente hago un replace.
Gracias por la respuesta aunque lo vi tarde !
Responder Con Cita
  #13  
Antiguo 28-07-2021
e.jaume e.jaume is offline
Registrado
 
Registrado: jul 2021
Posts: 5
Poder: 0
e.jaume Va por buen camino
Cita:
Empezado por e.jaume Ver Mensaje
Hola! al final sí que me han respondido hoy. Me han dicho que es por la codificación, en alguna parte se está realizando la modificación de los caracteres que tienen tilde.
El envío lo estoy realizando de esta forma pero no encuentro que se cambie la codificación...

Código:
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(serviceUri);

            byte[] bytes = Encoding.UTF8.GetBytes(comunicacionXml);

            request.ContentType = "application/xml;charset=utf-8";
            request.ContentLength = bytes.Length;
            request.Method = WebRequestMethods.Http.Post;
            request.ClientCertificates.Add(certs);

            Stream requestStream = null;

            try
            {                
                requestStream = request.GetRequestStream();
                requestStream.Write(bytes, 0, bytes.Length);
                requestStream.Flush();
            }
            finally
            {
                if (requestStream != null)
                {
                    requestStream.Close();
                }
            }

            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
¿Se le ocurre alguien alguna idea por disparatada que sea?

Gracias!
Buenas!
Quería comunicaros que ya solucioné el problema. Estaba en la librería que estaba usando (FirmaXAdESNet45), en un método usaba Stream, y cambiaba la codificación a ASCII, vi que no era necesario y quité esas líneas. Ahora puedo decir 100% que ya envío facturas a Gipuzkoa de manera correcta. Ahora me queda la parte más difícil, enviarlas a Bizkaia....
Si alguien tiene alguna duda porque está usando la misma librería y no le funciona que me lo comente, le ayudaré encantado.
Me acaba de llegar el enlace para la sesión informativa del jueves.
Saludos!
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 3557 Hace 2 Semanas 17:42:47
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 12:51:16.


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