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
  #1761  
Antiguo 05-10-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.289
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 espinete Ver Mensaje
Después de firmarlo no he hecho ninguna modificación (salvo guardarlo con otro nombre).
Revisaré mañana el contenido del XML por si hay caracteres especiales, pero lo dudo mucho porque estoy usando datos de prueba muy básicos.

Hemos hablado antes de este error. Revisa mensajes anteriores.
Es posible que el contenido se esté modificando, aunque no sea de forma consciente. Revisa si después de firmar el XML hasta que lo envías ha cambiado el contenido (a veces simplemente se guarda con otra codificación). No porque lo hagas tú, sino porque lo haga el propio Delphi en alguno de los pasos (guardar, recuperar,...).
__________________
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
  #1762  
Antiguo 05-10-2021
Band Band is offline
Miembro
 
Registrado: may 2021
Posts: 35
Poder: 0
Band Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Hemos hablado antes de este error. Revisa mensajes anteriores.
Es posible que el contenido se esté modificando, aunque no sea de forma consciente. Revisa si después de firmar el XML hasta que lo envías ha cambiado el contenido (a veces simplemente se guarda con otra codificación). No porque lo hagas tú, sino porque lo haga el propio Delphi en alguno de los pasos (guardar, recuperar,...).

A eso es a lo que me refería antes, que una vez firmado, sea cual sea la acción que realices sobre el fichero no se puede modificar nada o habrá errores en la validación de firma. Como bien dice Neftali, no porque uno mismo lo haga, sino el propio delphi o lenguaje usado que pueden "dar por culo" en este sentido sin que uno lo sepa.
Responder Con Cita
  #1763  
Antiguo 05-10-2021
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 886
Poder: 3
ermendalenda Va por buen camino
Cita:
Empezado por Band Ver Mensaje
A eso es a lo que me refería antes, que una vez firmado, sea cual sea la acción que realices sobre el fichero no se puede modificar nada o habrá errores en la validación de firma. Como bien dice Neftali, no porque uno mismo lo haga, sino el propio delphi o lenguaje usado que pueden "dar por culo" en este sentido sin que uno lo sepa.
Hemos coincidido todos
Responder Con Cita
  #1764  
Antiguo 05-10-2021
Avatar de elcharlie
elcharlie elcharlie is offline
Miembro
 
Registrado: mar 2013
Ubicación: Bilbao
Posts: 174
Poder: 12
elcharlie Va por buen camino
Una duda que tengo, y a ver si alguien me sabe responder, ¿como haceis para saber si el servicio-url está activo? Lo digo porque ahora que está caido el servidor de Bizkaia de Pruebas, no tenga que estar esperando al Timeout siempre.
No sé si hay manera o simplemente es asi.
Responder Con Cita
  #1765  
Antiguo 05-10-2021
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 886
Poder: 3
ermendalenda Va por buen camino
Cita:
Empezado por elcharlie Ver Mensaje
Una duda que tengo, y a ver si alguien me sabe responder, ¿como haceis para saber si el servicio-url está activo? Lo digo porque ahora que está caido el servidor de Bizkaia de Pruebas, no tenga que estar esperando al Timeout siempre.
No sé si hay manera o simplemente es asi.
Creo que no hay otra forma. Te puedes hacer un pequeño algottirmo que cada fallo aumente el tiempo del siguiente reintento, hasta un tope de 30min por ejemplo, y reinicies el temporizador cuando haya conexión. Teniendo en cuenta de que hay que mandarlas en orden en cuanto haya conexión.
Por otro lado puedes hacer una conexión previa con un fichero vacio(esta en este hilo unos cuantos posts atrás) y ponerle un timeout muy corto.
O combinar los 2.

Última edición por ermendalenda fecha: 05-10-2021 a las 11:22:15.
Responder Con Cita
  #1766  
Antiguo 05-10-2021
Ramon88 Ramon88 is offline
Miembro
 
Registrado: ago 2021
Posts: 125
Poder: 3
Ramon88 Va por buen camino
Smile


Si si, ya lo tengo, gracias!
Por mas que os leía no me funcionaba y era por que lo convertía SOLO para abrir el enlace ,sin calcular el CRC de nuevo.
Me ha sido un poco lioso, pero ya está!


Gracias!
Responder Con Cita
  #1767  
Antiguo 05-10-2021
Avatar de elcharlie
elcharlie elcharlie is offline
Miembro
 
Registrado: mar 2013
Ubicación: Bilbao
Posts: 174
Poder: 12
elcharlie Va por buen camino
Cita:
Empezado por ermendalenda Ver Mensaje
Creo que no hay otra forma. Te puedes hacer un pequeño algottirmo que cada fallo aumente el tiempo del siguiente reintento, hasta un tope de 30min por ejemplo, y reinicies el temporizador cuando haya conexión. Teniendo en cuenta de que hay que mandarlas en orden en cuanto haya conexión.
Por otro lado puedes hacer una conexión previa con un fichero vacio(esta en este hilo unos cuantos posts atrás) y ponerle un timeout muy corto.
O combinar los 2.
Pues nada, así lo haré, era por si había alguna otra manera mas rápida de comprobarlo...
Muchas gracias por todo.
Responder Con Cita
  #1768  
Antiguo 05-10-2021
Avatar de Eric Mtz
Eric Mtz Eric Mtz is offline
Miembro
 
Registrado: jun 2021
Ubicación: Vitoria-Gasteiz
Posts: 43
Poder: 0
Eric Mtz Va por buen camino
Talking Fechas de Batuz :)

Muy buenas señores del internete, sigo vivo, tan solo os quería compartir una respuesta de BATUZ que me ha hecho mucha gracia, el caso es que les he preguntado si tenemos algún servidor de pruebas en Bizkaia ahora que nos han cerrado el de siempre y el nuevo parece que le queda medio mes de cocción.

Respuesta:
Cita:
Kaixo,
El 30 de Septiembre se cerró el entorno de pruebas de los servicios web del LROE que llevaba habilitado desde noviembre de 2020. Está previsto habilitar a mediados de octubre el entorno real del LROE a modo de pruebas.

En este periodo, por labores de mantenimiento, no hay un entorno disponible para probar. Sentimos la molestias y quedamos a su disposición para realizar revisiones manuales de ficheros o contestar las dudas que pudieran surgirle.

Agur bat
Me turboflipa la decisión de quitar los servidores un par de semanas, de hecho me alaga, creo que piensan que somos tan buenos que podemos dedicar el tiempo a... nose cultivar olivos en nuestra finca en venus o a meditar sobre la ingeniosa e infravalorada característica de comprimir un archivo gzip dos veces, yo iría mas allá y publicaría el servidor a una semana de su obligatoriedad, total solo afectará a los nervios de cuatro programadores que como mucho les pondrán a parir en un foro perdido de la mano de Batuz.

Que opináis?, también os maravillan las nuevas medidas para aumentar el índice de motivación de los programadores?
Responder Con Cita
  #1769  
Antiguo 05-10-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.289
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 Eric Mtz Ver Mensaje
Me turboflipa la decisión de quitar los servidores un par de semanas, de hecho me alaga, creo que piensan que somos tan buenos que podemos dedicar el tiempo a... nose cultivar olivos en nuestra finca en venus o a meditar sobre la ingeniosa e infravalorada característica de comprimir un archivo gzip dos veces, yo iría mas allá y publicaría el servidor a una semana de su obligatoriedad, total solo afectará a los nervios de cuatro programadores que como mucho les pondrán a parir en un foro perdido de la mano de Batuz.

Que opináis?, también os maravillan las nuevas medidas para aumentar el índice de motivación de los programadores?


Creo que más o menos todos estamos pensando lo mismo...

¿Y si había alguien usando producción?
No se si se da el caso, pero si es así, ese si que debe estar flipando...
__________________
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
  #1770  
Antiguo 05-10-2021
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 233
Poder: 16
espinete Va camino a la fama
Cita:
Empezado por ermendalenda Ver Mensaje
Tiene que quedar así:

Aquí te dejo un par de verificadores de xmls firmados, que están en el foro(No de ticketbai, son genéricos):
http://tools.chilkat.io/xmlDsigVerif...#generatedCode
https://web.uanataca.com/pe/servicio...ma-electronica
Según chilkat:

Signature Verified
Number of Reference Digests = 2
Reference 1 digest is valid.
Reference 2 digest is valid.


Según el otro (con la opción que permite comparar el archivo SIN firmar y el firmado):

"El documento no ha sido modificado después de la firma"
"Certificado de CA confiable"
Responder Con Cita
  #1771  
Antiguo 05-10-2021
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 233
Poder: 16
espinete Va camino a la fama
Cita:
Empezado por ermendalenda Ver Mensaje
Tiene que quedar así:
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>

.
.
.
.
<HuellaTBAI>
.
.
.
</HuellaTBAI>
<ds:Signature 
.
.
..
</ds:Signature>
</T:TicketBai>
Así queda, salvo la primera línea, que en mi XML no existe:

<?xml version="1.0" encoding="UTF-8"?>

No obstante, eso no explica el error "El mensaje ha sido modificado en tránsito o la firma no está bien realizada".

De verdad que no sé en qué proceso se puede estar modificando el contenido del archivo.

A ver si va a ser porque yo estoy en Canarias y hay algún problema con la diferencia horaria...
Responder Con Cita
  #1772  
Antiguo 05-10-2021
Band Band is offline
Miembro
 
Registrado: may 2021
Posts: 35
Poder: 0
Band Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje

Creo que más o menos todos estamos pensando lo mismo...

¿Y si había alguien usando producción?
No se si se da el caso, pero si es así, ese si que debe estar flipando...

Sé que ya había alguien usando producción y no me imagino lo que estarán pensando (o si? )

Yo de verdad no entiendo cómo se pueden llegar a estas fumadas... pero viendo quienes están en el poder, no me sorprende nada
Responder Con Cita
  #1773  
Antiguo 05-10-2021
Band Band is offline
Miembro
 
Registrado: may 2021
Posts: 35
Poder: 0
Band Va por buen camino
Cita:
Empezado por espinete Ver Mensaje
Así queda, salvo la primera línea, que en mi XML no existe:

<?xml version="1.0" encoding="UTF-8"?>

No obstante, eso no explica el error "El mensaje ha sido modificado en tránsito o la firma no está bien realizada".

De verdad que no sé en qué proceso se puede estar modificando el contenido del archivo.

A ver si va a ser porque yo estoy en Canarias y hay algún problema con la diferencia horaria...

Como envías el fichero? Lo digo porque yo lo hago con curl y si no usaba este parámetro:

--data-binary

Se enviaba con alguna modificación y me salía también este mensaje: "El mensaje ha sido modificado en tránsito o la firma no está bien realizada"
Responder Con Cita
  #1774  
Antiguo 05-10-2021
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 886
Poder: 3
ermendalenda Va por buen camino
Cita:
Empezado por espinete Ver Mensaje
Así queda, salvo la primera línea, que en mi XML no existe:

<?xml version="1.0" encoding="UTF-8"?>

No obstante, eso no explica el error "El mensaje ha sido modificado en tránsito o la firma no está bien realizada".

De verdad que no sé en qué proceso se puede estar modificando el contenido del archivo.

A ver si va a ser porque yo estoy en Canarias y hay algún problema con la diferencia horaria...
No es descabellado Prueba a forzar la hora del pc a hora peninsular.
De todas formas la primera línea es necesaria. Y haz caso eel comentario de Band, lo puede modificar la aplicación que envía si no está bien parametrizada.
Responder Con Cita
  #1775  
Antiguo 05-10-2021
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 886
Poder: 3
ermendalenda Va por buen camino
Cita:
Empezado por espinete Ver Mensaje
Según chilkat:

Signature Verified
Number of Reference Digests = 2
Reference 1 digest is valid.
Reference 2 digest is valid.


Según el otro (con la opción que permite comparar el archivo SIN firmar y el firmado):

"El documento no ha sido modificado después de la firma"
"Certificado de CA confiable"
Falta 1 digest value
Pueden ser varias cosas. Ve arreglando lo de la primera línea y si te sigue faltando 1 digest revisa paramettos de firma y si está bien edita el fichero con un editor hexadecimal para asegurarte y revisa cada carácter comparándolo con algún xml correcto de los que hayan puesto de ejemplo.
Responder Con Cita
  #1776  
Antiguo 05-10-2021
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 233
Poder: 16
espinete Va camino a la fama
El envío lo hago tal como indiqué en el primer mensaje, usando el código encontrado en este hilo:

Código Delphi [-]
    RequestBody := TFileStream.Create('firmado.xml', fmOpenRead);

    NetHTTPClient1.SecureProtocols := [THTTPSecureProtocol.TLS12];
    NetHTTPClient1.CustomHeaders['Content-Type'] := 'application/xml';
    NetHTTPClient1.CustomHeaders['Charset'] := 'UTF-8';

    AResponse := NetHTTPClient1.Post('https://tbai-prep.egoitza.gipuzkoa.eus/WAS/HACI/HTBRecepcionFacturasWEB/rest/recepcionFacturas/alta',RequestBody);

He probado a comentar la siguiente línea:

NetHTTPClient1.CustomHeaders['Charset'] := 'UTF-8';

y ocurre lo mismo.

También he añadido manualmente ANTES DE FIRMAR la línea...

<?xml version="1.0" encoding="UTF-8"?>

...al XML (Delphi no la añade al generar el xml con el databinding) y obtengo el mismo error.

Esta tarde probaré a cambiar la HORA al horario peninsular, a ver si es eso.
Responder Con Cita
  #1777  
Antiguo 05-10-2021
Ramon88 Ramon88 is offline
Miembro
 
Registrado: ago 2021
Posts: 125
Poder: 3
Ramon88 Va por buen camino
Cita:
Empezado por espinete Ver Mensaje
El envío lo hago tal como indiqué en el primer mensaje, usando el código encontrado en este hilo:

Código Delphi [-] RequestBody := TFileStream.Create('firmado.xml', fmOpenRead); NetHTTPClient1.SecureProtocols := [THTTPSecureProtocol.TLS12]; NetHTTPClient1.CustomHeaders['Content-Type'] := 'application/xml'; NetHTTPClient1.CustomHeaders['Charset'] := 'UTF-8'; AResponse := NetHTTPClient1.Post('https://tbai-prep.egoitza.gipuzkoa.eus/WAS/HACI/HTBRecepcionFacturasWEB/rest/recepcionFacturas/alta',RequestBody);


He probado a comentar la siguiente línea:

NetHTTPClient1.CustomHeaders['Charset'] := 'UTF-8';

y ocurre lo mismo.

También he añadido manualmente ANTES DE FIRMAR la línea...

<?xml version="1.0" encoding="UTF-8"?>

...al XML (Delphi no la añade al generar el xml con el databinding) y obtengo el mismo error.

Esta tarde probaré a cambiar la HORA al horario peninsular, a ver si es eso.

Lo tienes en c#? si es así puedo mandarte mi código en .Net y si tienes alguna duda puedo ayudarte hasta donde pueda...
EDITO: Termino de ver que es delphi,,, pero reitero que yo tenia un problema parecido y era por que luego de firmar no mantenia los espacios. Estas mostrandonos el código donde envias el post, pero creo que el problema está al cargar el XML, o lo que hagas despues de firmarlo.

Última edición por Ramon88 fecha: 05-10-2021 a las 16:54:19.
Responder Con Cita
  #1778  
Antiguo 05-10-2021
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 886
Poder: 3
ermendalenda Va por buen camino
Cita:
Empezado por espinete Ver Mensaje
El envío lo hago tal como indiqué en el primer mensaje, usando el código encontrado en este hilo:

Código Delphi [-] RequestBody := TFileStream.Create('firmado.xml', fmOpenRead); NetHTTPClient1.SecureProtocols := [THTTPSecureProtocol.TLS12]; NetHTTPClient1.CustomHeaders['Content-Type'] := 'application/xml'; NetHTTPClient1.CustomHeaders['Charset'] := 'UTF-8'; AResponse := NetHTTPClient1.Post('https://tbai-prep.egoitza.gipuzkoa.eus/WAS/HACI/HTBRecepcionFacturasWEB/rest/recepcionFacturas/alta',RequestBody);


He probado a comentar la siguiente línea:

NetHTTPClient1.CustomHeaders['Charset'] := 'UTF-8';

y ocurre lo mismo.

También he añadido manualmente ANTES DE FIRMAR la línea...

<?xml version="1.0" encoding="UTF-8"?>

...al XML (Delphi no la añade al generar el xml con el databinding) y obtengo el mismo error.

Esta tarde probaré a cambiar la HORA al horario peninsular, a ver si es eso.
Parece que lo del UTf-8 y noBOM lo tienes bastante mirado y despues de ver que solo te genera 2 digest, me inclinaria por empezar a revisar los parametros de firma, no sé si SecureBlackBox no lo necesita, pero es raro que no haya que decirle por ejemplo que es tipo de firma XADES;
veo campos vacios:
firmante.r_ID := '';
firmante.r_Metodo_Canonicalization := '';

Y deberia haber un Algoritmo del Metodo canonizador, etc,etc..
...CanonicalizationMethod:="http://www.w3.org/TR/2000/WD-xml-c14n-20000710";
....EnableXAdES := True;
...XAdESVersion :=...
.XAdESForm :=...
Responder Con Cita
  #1779  
Antiguo 05-10-2021
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 233
Poder: 16
espinete Va camino a la fama
Cita:
Empezado por Ramon88 Ver Mensaje
Lo tienes en c#? si es así puedo mandarte mi código en .Net y si tienes alguna duda puedo ayudarte hasta donde pueda...
EDITO: Termino de ver que es delphi,,, pero reitero que yo tenia un problema parecido y era por que luego de firmar no mantenia los espacios. Estas mostrandonos el código donde envias el post, pero creo que el problema está al cargar el XML, o lo que hagas despues de firmarlo.
1. He probado lo de la hora peninsular y sigue igual.

2. No entiendo lo de "falta un digest". Si el problema está en el código de la firma (con SecureBlackBox), el código lo he sacado de este mismo hilo, y creo que es el mismo que se usaba para FacturaE (que, por cierto, publiqué yo mismo hace años)

3. He tenido que usar un editor HEX online para comparar ambos archivos: el firmado y el sin firmar, y he encontrado una diferencia:

Archivo SIN firmar (factura.xml):

<CabeceraFactura>
<SerieFactura></SerieFactura>
<NumFactura>164</NumFactura>

Archivo firmado (firmado.xml)

<CabeceraFactura>
<SerieFactura/>
<NumFactura>164</NumFactura>

¿A donde ha ido el </SerieFactura> que falta? ¿Acaso el proceso de firma quita ese dato?

A simple vista es lo único que falta, salvo eso de que me "falta un digest". Si el código que he usado es el que está en este hilo (aquí), no entiendo lo del digest.
Responder Con Cita
  #1780  
Antiguo 05-10-2021
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 233
Poder: 16
espinete Va camino a la fama
Cita:
Empezado por ermendalenda Ver Mensaje
Parece que lo del UTf-8 y noBOM lo tienes bastante mirado y despues de ver que solo te genera 2 digest, me inclinaria por empezar a revisar los parametros de firma, no sé si SecureBlackBox no lo necesita, pero es raro que no haya que decirle por ejemplo que es tipo de firma XADES;
veo campos vacios:
firmante.r_ID := '';
firmante.r_Metodo_Canonicalization := '';

Y deberia haber un Algoritmo del Metodo canonizador, etc,etc..
...CanonicalizationMethod:="http://www.w3.org/TR/2000/WD-xml-c14n-20000710";
....EnableXAdES := True;
...XAdESVersion :=...
.XAdESForm :=...
Esos campos están vacíos porque en el procedure de la firma con SecureBlackBox los relleno manualmente, usando las propias variables, etc. de SecureBlackBox:

sbxXAdESSigner1.SignatureType := cxstEnveloped;
sbxXAdESSigner1.CanonicalizationMethod := cxcmCanon;
sbxXAdESSigner1.HashAlgorithm := firmante.r_Hash_algorithm; // SHA256
sbxXAdESSigner1.XMLElement := ''; // Todo el documento
sbxXAdESSigner1.EnableXAdES := True;
sbxXAdESSigner1.XAdESVersion := xav132;
sbxXAdESSigner1.XAdESForm := xafEPES;
sbxXAdESSigner1.Config('SigPolicyID=' + firmante.r_SigPolicyID); // https://ticketbai.eus/politicafirma');
sbxXAdESSigner1.Config('SigPolicyHash=' + firmante.r_SigPolicyHash); // 39D59C038EBB3B7DF6C61ED2F740B318F0C50F93ADCD35E26BE8FF8E76D21DA8;
sbxXAdESSigner1.Config('SigPolicyHashAlgorithm=' + firmante.r_SigPolicyHashAlgorithm); //=SHA256;
sbxXAdESSigner1.Config('SigPolicyURI=' + firmante.r_SigPolicyURI); //https://ticketbai.eus/politicafirma;
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 1 Semana 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 15:40:01.


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