Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Principal > Internet
Register FAQ Members List Calendar Guía de estilo Search Today's Posts Mark Forums Read

Colaboración Paypal con ClubDelphi

Reply
 
Thread Tools Search this Thread Display Modes
  #2961  
Old 28/03/2022
chenech chenech is offline
Miembro
 
Join Date: Dec 2013
Posts: 138
Poder: 13
chenech Va por buen camino
Quote:
Originally Posted by Neftali [Germán.Estévez] View Post
Revisa que no estés generando el fichero con la codificación incorrecta (UTF8 sin BOM), lo del Byte 1 es sospehoso en ese sentido.
La correcta es UTF8.
De todas formas te adjunto un XML sin firmar.
Muchas gracias Germán, tenia dos errores, uno en la cabecera, solucionado con el ejemplo que has enviado, muchas gracias.
El otro era en los parámetros de AutoFirma, que he visto en otros post ejemplos y ya me funciona.
Mil gracias.
Reply With Quote
  #2962  
Old 28/03/2022
joselugrk joselugrk is offline
Miembro
 
Join Date: Apr 2021
Posts: 29
Poder: 0
joselugrk Va por buen camino
Thumbs up Solucionado

Quote:
Originally Posted by ermendalenda View Post
La verdad que no he llegado ahí, pero parece que no corresponde llo que estas poniendo en <FiltroConsultaIngresosConSG> con lo pone en el xsd de la definición correctamente:
<complexType name="FiltroConsultaIngresosConFacturaType">
<sequence>
<element name="Destinatario" type="tiposcomplejosocumentoType" minOccurs="0"/>
<element name="CabeceraFactura" type="tiposconsulta:CabeceraFacturaConsultaType" minOccurs="0"/>
<element name="Epigrafe" type="tiposbasicos:stringMax7Digits" minOccurs="0"/>
<element name="Estado" type="enum:EstadoRegistroConsultaEnum" minOccurs="0"/>
<element name="NumPaginaConsulta" type="tiposbasicos:intPositiveType"/>
</sequence>
</complexType>
Hola Ermendalenda,

Al final el problema era que estaba llamando a la a la URI de alta, modificación y anulación y debía ser a la de consulta:
https://pruesarrerak.bizkaia.eus/N3B4001M/kontsulta

Saludos y muchas gracias,
Joselu
Reply With Quote
  #2963  
Old 28/03/2022
Irreo Irreo is offline
Miembro
 
Join Date: Mar 2022
Posts: 70
Poder: 5
Irreo Va por buen camino
Quote:
Originally Posted by Alkavanyatur View Post
Hola

Estoy desarrollando un solución para TBAI y me he encontrado con un problemilla que quizás no tiene solución.

Lo comento por si a alguien le ha pasado lo mismo.

Los tiempos de respuesta de la llamada a generar la factura para obtener el QR son de aproximadamente 2 segundos en desarrollo. Por las características del negocio en el que me muevo es posible que se realicen 1000 operaciones por minuto o incluso más.

Las facturas tienen que ser secuenciales. Así que este problema limita totalmente ya que es imposible que funcione a esa velocidad.


¿Ideas? Decir que me he quedado sin conexión a internet cuando se de la casuística?

No sé si te servirá, pero yo hago lo siguiente:
- Lo primero de todo genero el registro de factura vacío, con solo el número, y fecha y hora de expedición.
- Genero un registro en la "cola" de facturas para ese ID.
- Empiezo a procesar los datos enviados (factura, líneas detalle, etc.)
- Actualizo la tabla de factura con los datos definitivos, guardo las líneas de factura en otra tabla etc.
- Genero XML, QR, etc...


La instrucción SQL que utilizo genera el número y actualiza al mismo tiempo por lo que nunca se van a repetir. Tengo una tabla de "configuración" donde guardo el último número para cada CIF y serie (son dos empresas).

PHP Code:
$sql "UPDATE tb_config ".
    
" SET factura_siguiente = (@factura_siguiente := factura_siguiente) + 1 ".
    
" WHERE id_serie = ".fQuote($eDb->real_escape_string($seriesId));
fQuery($sql);

$sql "SELECT @factura_siguiente AS factura_siguiente";
$rsNextInvoice fQuery($sql); 
Es decir, podrías por un lado hacer una llamada para simplemente generar la factura y obtener su ID, y después seguir haciendo tus cosas, y en principio ya da igual que tardes 2 segundos, porque si otro proceso va a generar otra factura, se le asignará el siguiente número.
Reply With Quote
  #2964  
Old 28/03/2022
Irreo Irreo is offline
Miembro
 
Join Date: Mar 2022
Posts: 70
Poder: 5
Irreo Va por buen camino
EDIT: Solucionado, explicación abajo

Buenas tardes,

A ver si alguien puede arrojarme algo de luz, porque tengo delante una pared y estoy dando palos de ciego.

Tengo ya funcionando el proceso de generar una factura, el XML y el QR.

Me he puesto con el tema de enviar a Hacienda, y por ahora he conseguido que me llegue el aviso de "001 - no se ha usado certificado de cliente".

- He generado un certificado de dispositivo usando la web de Izenpe (es gratuito).
- Se ha creado un P12, que he convertido a PEM y CRT con open_ssl, y lo he subido a Plesk.
- El certificado no puedo usarlo directamente en un dominio porque dice que "la conexión no es segura".
- Para probar a enviar algo firmado, me he descargado el Autofirma y he firmado usando ese certificado P12. En principio parece que OK.
- Al intentar subir por PHP este XML, me dice que no se ha usado certificado SSL.

En sí, el dominio desde el que envío los datos, tiene un certificado Let's Encrypt que funciona correctamente, pero no sé si esto se llega a usar o detectar.

He estado mirando diferentes opciones, y he visto que desde PHP se puede especificar qué fichero quieres usar como certificado.

Por un lado he probado esto:

PHP Code:
    // XML a Hacienda
    
$opts = array(
        
"ssl" => array(
            
"local_cert" => "/var/www/vhosts/xx/bai.pem",
            
"locak_pk" => "/var/www/vhosts/xx/bai_key.pem",
            
"passphrase" => "xxxxxx",
            
"allow_self_signed"    => true,
            
"cafile" =>'/var/www/vhosts/xxx/bai.pem',
            
"capath" =>'/var/www/vhosts/xxx/',
            
"verify_peer" => false
        
),
        
"http" => array (
            
"method" => "POST",
            
"header" =>
              
"Accept-language: es\r\n".
              
"Content-type: application/xml;charset=UTF-8\r\n",
            
"content" => $xml
        
)
    );
    
$context stream_context_create($opts);

    
$haciendaResult file_get_contents($eHaciendaUrlfalse$context); 
Decir que he estado jugando poniendo y quitando parámetros "local_pk", "ca_file", etc... sin resultado satisfactorio. He puesto el último ejemplo usado.

El error es este:

Code:
<br />
<b>Warning</b>:  file_get_contents(): Unable to set private key file `/var/www/vhosts/xxx/dkbai.pem' in <b>/var/www/vhosts/xxx/api/factura/index.php</b> on line <b>730</b><br />
<br />
<b>Warning</b>:  file_get_contents(): Failed to enable crypto in <b>/var/www/vhosts/xxx/api/factura/index.php</b> on line <b>730</b><br />
<br />
<b>Warning</b>:  file_get_contents(tbai-prep.egoitza.gipuzkoa.eus/WAS/HACI/HTBRecepcionFacturasWEB/rest/recepcionFacturas/alta): Failed to open stream: operation failed in <b>/var/www/vhosts/xxx/api/factura/index.php</b> on line <b>730</b><br />
Después he probado con CURL:

PHP Code:
$ch curl_init();

curl_setopt($chCURLOPT_SSL_VERIFYHOST2);
curl_setopt($chCURLOPT_CAINFO'/var/www/vhosts/xxx/bai.pem');

curl_setopt($chCURLOPT_URL$eHaciendaUrl);
curl_setopt($chCURLOPT_HTTPHEADER, array('Content-Type: text/xml'));
curl_setopt($chCURLOPT_HEADER0);
curl_setopt($chCURLOPT_POST1);
curl_setopt($chCURLOPT_SSH_PRIVATE_KEYFILE'/var/www/vhosts/xxx/bai_key.pem');
curl_setopt($chCURLOPT_SSLCERT'/var/www/vhosts/xxx/bai.pem');
curl_setopt($chCURLOPT_SSLCERTPASSWD"xxxxxx");
curl_setopt($chCURLOPT_POSTFIELDS$xml);
curl_setopt($chCURLOPT_FOLLOWLOCATION0);
curl_setopt($chCURLOPT_REFERER$eHaciendaUrl);
curl_setopt($chCURLOPT_RETURNTRANSFER1);
curl_setopt ($chCURLOPT_VERBOSE 1);

curl_setopt($chCURLOPT_SSL_VERIFYPEERfalse);

$ch_result curl_exec($ch); 
Y el resultado es el siguiente:

Code:
58unable to load client key: -8178 (SEC_ERROR_BAD_KEY)
Básicamente, no solo no tengo ni idea de qué está pasando o cómo solucionarlo. Ni siquiera se si voy bien encaminado intentando enviar así los XML.

¿Alguien me ilumina un poco el camino?

Entiendo que quizás es algún problema con el fichero de la Key, pero no me hago idea el qué...

Gracias!
Saludos.

EDIT: SOLUCIONADO!!

El problema era el comando que utilicé para convertir el P12 en PEM. Un usuario de Stackoverflow dice que se le solucionó con este comando:

Code:
openssl pkcs12 -in keyname.p12 -out keyname.pem -nodes -clcerts
Y me ha servido al parecer, porque ahora el error es Hacienda es "004", de que falta algún campo, etc.... pero yo diría que el primer obstáculo ya sido sorteado.

Last edited by Irreo : 28/03/2022 at 17:45. Reason: Problema solucionado.
Reply With Quote
  #2965  
Old 29/03/2022
edari edari is offline
Miembro
 
Join Date: Jun 2021
Posts: 334
Poder: 6
edari Va por buen camino
Quote:
Originally Posted by thinkows View Post
Hola, te adjunto en el zip ejemplos de cada tipo, yo he enviado a Guipuzkoa y Alava sin problemas.
Un Saludo

Gracias thinkows.


Luegop para subir tambié sería con curl como se hace con las altas de facturas?


Gracias de nuevo.
Reply With Quote
  #2966  
Old 29/03/2022
chenech chenech is offline
Miembro
 
Join Date: Dec 2013
Posts: 138
Poder: 13
chenech Va por buen camino
Servidor de Alava en pruebas

Buenas tardes, alguien puede enviar al servidor de Alava de pruebas?
Siempre me da error 002 de que no coincide la estructura con el XSD, he intentado incluso enviar los de la página de ellos de ejemplos y siempre da el mismo mensaje, desde SoapUI da el mismo error por lo que deduzco que es un problema de su servicio?
Gracias...

Ya funciona, tuvo que ser algo puntual ...
Reply With Quote
  #2967  
Old 30/03/2022
pulido pulido is offline
Registrado
 
Join Date: Mar 2022
Posts: 6
Poder: 0
pulido Va por buen camino
Buenas tardes:

Estoy intentado enviar en fichero XML al servidor de pruebas de Alava y no lo consigo.

¿Alguien puede subir el código fuente que usa para enviar el fichero XML a Álava?

Gracias
Reply With Quote
  #2968  
Old 31/03/2022
chenech chenech is offline
Miembro
 
Join Date: Dec 2013
Posts: 138
Poder: 13
chenech Va por buen camino
Convertir Delphi a C o C++

Alquien sabe o puede convertir este código copiado de anteriores post a C o C++? gracias
Code:
const
  CRC8_Table: array[0..255] of Byte = (
    $00, $07, $0E, $09, $1C, $1B, $12, $15,
    $38, $3F, $36, $31, $24, $23, $2A, $2D,
    $70, $77, $7E, $79, $6C, $6B, $62, $65,
    $48, $4F, $46, $41, $54, $53, $5A, $5D,
    $E0, $E7, $EE, $E9, $FC, $FB, $F2, $F5,
    $D8, $DF, $D6, $D1, $C4, $C3, $CA, $CD,
    $90, $97, $9E, $99, $8C, $8B, $82, $85,
    $A8, $AF, $A6, $A1, $B4, $B3, $BA, $BD,
    $C7, $C0, $C9, $CE, $DB, $DC, $D5, $D2,
    $FF, $F8, $F1, $F6, $E3, $E4, $ED, $EA,
    $B7, $B0, $B9, $BE, $AB, $AC, $A5, $A2,
    $8F, $88, $81, $86, $93, $94, $9D, $9A,
    $27, $20, $29, $2E, $3B, $3C, $35, $32,
    $1F, $18, $11, $16, $03, $04, $0D, $0A,
    $57, $50, $59, $5E, $4B, $4C, $45, $42,
    $6F, $68, $61, $66, $73, $74, $7D, $7A,
    $89, $8E, $87, $80, $95, $92, $9B, $9C,
    $B1, $B6, $BF, $B8, $AD, $AA, $A3, $A4,
    $F9, $FE, $F7, $F0, $E5, $E2, $EB, $EC,
    $C1, $C6, $CF, $C8, $DD, $DA, $D3, $D4,
    $69, $6E, $67, $60, $75, $72, $7B, $7C,
    $51, $56, $5F, $58, $4D, $4A, $43, $44,
    $19, $1E, $17, $10, $05, $02, $0B, $0C,
    $21, $26, $2F, $28, $3D, $3A, $33, $34,
    $4E, $49, $40, $47, $52, $55, $5C, $5B,
    $76, $71, $78, $7F, $6A, $6D, $64, $63,
    $3E, $39, $30, $37, $22, $25, $2C, $2B,
    $06, $01, $08, $0F, $1A, $1D, $14, $13,
    $AE, $A9, $A0, $A7, $B2, $B5, $BC, $BB,
    $96, $91, $98, $9F, $8A, $8D, $84, $83,
    $DE, $D9, $D0, $D7, $C2, $C5, $CC, $CB,
    $E6, $E1, $E8, $EF, $FA, $FD, $F4, $F3);


function Calculate_CRC8(Cadena: String):String;
var
  data: TArray;
  len, i: Integer;
  crc: byte;
begin
  data := TEncoding.UTF8.GetBytes(Cadena);
  len := Length(data);
  crc := 0;

  for i := 0 to len-1 do
    crc := CRC8_Table[(crc xor data[i]) and $FF];

  Result := Format('%.*d', [3, (crc and $FF)]);
end;
Reply With Quote
  #2969  
Old 31/03/2022
Neftali [Germán.Estévez]'s Avatar
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Join Date: Jul 2004
Location: Barcelona - España
Posts: 19,449
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
Quote:
Originally Posted by pulido View Post
Estoy intentado enviar en fichero XML al servidor de pruebas de Alava y no lo consigo.
¿Alguien puede subir el código fuente que usa para enviar el fichero XML a Álava?
Hola buenos días, veo que es tu primer post. Bienvenido.
Tendrías que intentar explicar un poco mejor (o con más detalles) cual es el problema.

Te recomiendo que leas la guía de estilo de los foros.

No comentas qué componentes estás usando.
No comentas qué lenguaje (podemos suponer que es Delphi, pero como rara excepción en este hilo hay gente que está programando en varios lenguajes).
Podrías añadir el código que estás utilizando, para que los demás vean si hay algíun error.

Dentro de este mismo hilo, hay un mensaje que repopila códigos que han colocado los usuarios sobre los diferentes pasos del proceso, en diferentes lenguajes y con diferentes componentes. Échale un vistazo:
https://www.clubdelphi.com/foros/sho...&postcount=436
__________________
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.
Reply With Quote
  #2970  
Old 31/03/2022
Mlopez Mlopez is offline
Miembro
 
Join Date: Mar 2022
Posts: 11
Poder: 0
Mlopez Va por buen camino
Servidor Alava de pruebas

Buenos días,
Ya teníamos implementado el proceso de enviar facturas al TBAI de Alava y en las últimas pruebas de la semana pasada se enviaban correctamente y nos las aceptaba con "Recibido" sin avisos de errores, pero hoy al retomar otra parte de las pruebas, cualquier envío que hacemos nos está devolviendo error en la firma:

008 - 034 Validar Firma Factura / Error al validar la firma: Error en la verificación de firma

cuando estamos enviando con el mismo certificado y proceso de firma y además al comprobar el fichero firmado con el validador de izenpe nos dice que es correcto.

A alguien más le ha empezado a ocurrir esto? sabéis si han cambiado algo de la validación/verificación de la firma?

Un saludo.
Reply With Quote
  #2971  
Old 31/03/2022
edari edari is offline
Miembro
 
Join Date: Jun 2021
Posts: 334
Poder: 6
edari Va por buen camino
Quote:
Originally Posted by Mlopez View Post
Buenos días,
Ya teníamos implementado el proceso de enviar facturas al TBAI de Alava y en las últimas pruebas de la semana pasada se enviaban correctamente y nos las aceptaba con "Recibido" sin avisos de errores, pero hoy al retomar otra parte de las pruebas, cualquier envío que hacemos nos está devolviendo error en la firma:

008 - 034 Validar Firma Factura / Error al validar la firma: Error en la verificación de firma

cuando estamos enviando con el mismo certificado y proceso de firma y además al comprobar el fichero firmado con el validador de izenpe nos dice que es correcto.

A alguien más le ha empezado a ocurrir esto? sabéis si han cambiado algo de la validación/verificación de la firma?

Un saludo.

Acabo de probar subir a pruebas y me funciona correctamente
Reply With Quote
  #2972  
Old 31/03/2022
Neftali [Germán.Estévez]'s Avatar
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Join Date: Jul 2004
Location: Barcelona - España
Posts: 19,449
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
Quote:
Originally Posted by Mlopez View Post
Ya teníamos implementado el proceso de enviar facturas al TBAI de Alava y en las últimas pruebas de la semana pasada se enviaban correctamente y nos las aceptaba con "Recibido" sin avisos de errores, pero hoy al retomar otra parte de las pruebas, cualquier envío que hacemos nos está devolviendo error en la firma:

008 - 034 Validar Firma Factura / Error al validar la firma: Error en la verificación de firma

cuando estamos enviando con el mismo certificado y proceso de firma y además al comprobar el fichero firmado con el validador de izenpe nos dice que es correcto.
Sé que hay determinadas validaciones que van cambiando, incluso que las van activando y desactivando en pruebas dependiendo de determinados factores.
Algunas relacionadas con la firma han estado inactivas durante periodos de tiempo (imagino que por temas de desarrollo suyo).

Puedes poner un fichero tal y como lo estás enviando (eliminando datos como licencia,...) y le echamos un vistazo a ver si vemos algo raro...
__________________
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.
Reply With Quote
  #2973  
Old 31/03/2022
chenech chenech is offline
Miembro
 
Join Date: Dec 2013
Posts: 138
Poder: 13
chenech Va por buen camino
Delphi a C++ Builder

Por si le sirve de ayuda a alguien, converido de Delphi a C++ Builder el calculo del crc8.

Code:
#define CRC8_INIT_VALUE 0x0000
#define CRC8_XOR_VALUE 0x0000
unsigned char __fastcall TForm138::CRC8Checksum(unsigned char *data, int length)
{
	unsigned char crc8table[256] =
	{
		0x00, 0x07, 0x0E, 0x09, 0x1C, 0x1B, 0x12, 0x15,
		0x38, 0x3F, 0x36, 0x31, 0x24, 0x23, 0x2A, 0x2D,
		0x70, 0x77, 0x7E, 0x79, 0x6C, 0x6B, 0x62, 0x65,
		0x48, 0x4F, 0x46, 0x41, 0x54, 0x53, 0x5A, 0x5D,
		0xE0, 0xE7, 0xEE, 0xE9, 0xFC, 0xFB, 0xF2, 0xF5,
		0xD8, 0xDF, 0xD6, 0xD1, 0xC4, 0xC3, 0xCA, 0xCD,
		0x90, 0x97, 0x9E, 0x99, 0x8C, 0x8B, 0x82, 0x85,
		0xA8, 0xAF, 0xA6, 0xA1, 0xB4, 0xB3, 0xBA, 0xBD,
		0xC7, 0xC0, 0xC9, 0xCE, 0xDB, 0xDC, 0xD5, 0xD2,
		0xFF, 0xF8, 0xF1, 0xF6, 0xE3, 0xE4, 0xED, 0xEA,
		0xB7, 0xB0, 0xB9, 0xBE, 0xAB, 0xAC, 0xA5, 0xA2,
		0x8F, 0x88, 0x81, 0x86, 0x93, 0x94, 0x9D, 0x9A,
		0x27, 0x20, 0x29, 0x2E, 0x3B, 0x3C, 0x35, 0x32,
		0x1F, 0x18, 0x11, 0x16, 0x03, 0x04, 0x0D, 0x0A,
		0x57, 0x50, 0x59, 0x5E, 0x4B, 0x4C, 0x45, 0x42,
		0x6F, 0x68, 0x61, 0x66, 0x73, 0x74, 0x7D, 0x7A,
		0x89, 0x8E, 0x87, 0x80, 0x95, 0x92, 0x9B, 0x9C,
		0xB1, 0xB6, 0xBF, 0xB8, 0xAD, 0xAA, 0xA3, 0xA4,
		0xF9, 0xFE, 0xF7, 0xF0, 0xE5, 0xE2, 0xEB, 0xEC,
		0xC1, 0xC6, 0xCF, 0xC8, 0xDD, 0xDA, 0xD3, 0xD4,
		0x69, 0x6E, 0x67, 0x60, 0x75, 0x72, 0x7B, 0x7C,
		0x51, 0x56, 0x5F, 0x58, 0x4D, 0x4A, 0x43, 0x44,
		0x19, 0x1E, 0x17, 0x10, 0x05, 0x02, 0x0B, 0x0C,
		0x21, 0x26, 0x2F, 0x28, 0x3D, 0x3A, 0x33, 0x34,
		0x4E, 0x49, 0x40, 0x47, 0x52, 0x55, 0x5C, 0x5B,
		0x76, 0x71, 0x78, 0x7F, 0x6A, 0x6D, 0x64, 0x63,
		0x3E, 0x39, 0x30, 0x37, 0x22, 0x25, 0x2C, 0x2B,
		0x06, 0x01, 0x08, 0x0F, 0x1A, 0x1D, 0x14, 0x13,
		0xAE, 0xA9, 0xA0, 0xA7, 0xB2, 0xB5, 0xBC, 0xBB,
		0x96, 0x91, 0x98, 0x9F, 0x8A, 0x8D, 0x84, 0x83,
		0xDE, 0xD9, 0xD0, 0xD7, 0xC2, 0xC5, 0xCC, 0xCB,
		0xE6, 0xE1, 0xE8, 0xEF, 0xFA, 0xFD, 0xF4, 0xF3
	};
	unsigned char crc = CRC8_INIT_VALUE;
	while(length--)
		crc = crc8table[crc ^ *data++];
	return crc ^= CRC8_XOR_VALUE;
}
//---------------------------------------------------------------------------
Quote:
Originally Posted by chenech View Post
Alquien sabe o puede convertir este código copiado de anteriores post a C o C++? gracias
Code:
const
  CRC8_Table: array[0..255] of Byte = (
    $00, $07, $0E, $09, $1C, $1B, $12, $15,
    $38, $3F, $36, $31, $24, $23, $2A, $2D,
    $70, $77, $7E, $79, $6C, $6B, $62, $65,
    $48, $4F, $46, $41, $54, $53, $5A, $5D,
    $E0, $E7, $EE, $E9, $FC, $FB, $F2, $F5,
    $D8, $DF, $D6, $D1, $C4, $C3, $CA, $CD,
    $90, $97, $9E, $99, $8C, $8B, $82, $85,
    $A8, $AF, $A6, $A1, $B4, $B3, $BA, $BD,
    $C7, $C0, $C9, $CE, $DB, $DC, $D5, $D2,
    $FF, $F8, $F1, $F6, $E3, $E4, $ED, $EA,
    $B7, $B0, $B9, $BE, $AB, $AC, $A5, $A2,
    $8F, $88, $81, $86, $93, $94, $9D, $9A,
    $27, $20, $29, $2E, $3B, $3C, $35, $32,
    $1F, $18, $11, $16, $03, $04, $0D, $0A,
    $57, $50, $59, $5E, $4B, $4C, $45, $42,
    $6F, $68, $61, $66, $73, $74, $7D, $7A,
    $89, $8E, $87, $80, $95, $92, $9B, $9C,
    $B1, $B6, $BF, $B8, $AD, $AA, $A3, $A4,
    $F9, $FE, $F7, $F0, $E5, $E2, $EB, $EC,
    $C1, $C6, $CF, $C8, $DD, $DA, $D3, $D4,
    $69, $6E, $67, $60, $75, $72, $7B, $7C,
    $51, $56, $5F, $58, $4D, $4A, $43, $44,
    $19, $1E, $17, $10, $05, $02, $0B, $0C,
    $21, $26, $2F, $28, $3D, $3A, $33, $34,
    $4E, $49, $40, $47, $52, $55, $5C, $5B,
    $76, $71, $78, $7F, $6A, $6D, $64, $63,
    $3E, $39, $30, $37, $22, $25, $2C, $2B,
    $06, $01, $08, $0F, $1A, $1D, $14, $13,
    $AE, $A9, $A0, $A7, $B2, $B5, $BC, $BB,
    $96, $91, $98, $9F, $8A, $8D, $84, $83,
    $DE, $D9, $D0, $D7, $C2, $C5, $CC, $CB,
    $E6, $E1, $E8, $EF, $FA, $FD, $F4, $F3);


function Calculate_CRC8(Cadena: String):String;
var
  data: TArray;
  len, i: Integer;
  crc: byte;
begin
  data := TEncoding.UTF8.GetBytes(Cadena);
  len := Length(data);
  crc := 0;

  for i := 0 to len-1 do
    crc := CRC8_Table[(crc xor data[i]) and $FF];

  Result := Format('%.*d', [3, (crc and $FF)]);
end;
Reply With Quote
  #2974  
Old 31/03/2022
Neftali [Germán.Estévez]'s Avatar
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Join Date: Jul 2004
Location: Barcelona - España
Posts: 19,449
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
Quote:
Originally Posted by chenech View Post
Por si le sirve de ayuda a alguien, converido de Delphi a C++ Builder el calculo del crc8.
Gracias.
Añadido al hilo de recopilación de códigos:
https://www.clubdelphi.com/foros/sho...231#post540231
__________________
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.
Reply With Quote
  #2975  
Old 31/03/2022
Mlopez Mlopez is offline
Miembro
 
Join Date: Mar 2022
Posts: 11
Poder: 0
Mlopez Va por buen camino
Quote:
Originally Posted by Neftali [Germán.Estévez] View Post
Sé que hay determinadas validaciones que van cambiando, incluso que las van activando y desactivando en pruebas dependiendo de determinados factores.
Algunas relacionadas con la firma han estado inactivas durante periodos de tiempo (imagino que por temas de desarrollo suyo).

Puedes poner un fichero tal y como lo estás enviando (eliminando datos como licencia,...) y le echamos un vistazo a ver si vemos algo raro...
Ok, subo el fichero xml firmado de una de las últimas pruebas que nos da fallo en la firma, pero editado para eliminar datos de licencia y nifs que van con **** por lo que si se intenta validar la firma de este fichero da error, pero por si como dice echándole un vistazo al fichero y su estructura detectas algo raro.
Gracias.
Attached Files
File Type: zip B-2022-25_Firmado.zip (4.4 KB, 13 views)
Reply With Quote
  #2976  
Old 31/03/2022
Neftali [Germán.Estévez]'s Avatar
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Join Date: Jul 2004
Location: Barcelona - España
Posts: 19,449
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
Busca en la documentación el valor para esto:
Quote:
<xades:SigPolicyHash>
<dsigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<dsigestValue>d69VEBc4ED4QbwnDtCA2JESgJiw+rwzfutcaSl5gYvM=</dsigestValue>
</xades:SigPolicyHash>
Es posible que el valor correcto sea: iOgvkX7/yHIDRRiPy/LYQ0UUn7QV8/11D1BFbs8yMuQ=

https://www.clubdelphi.com/foros/sho...postcount=1534
__________________
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.
Reply With Quote
  #2977  
Old 31/03/2022
thinkows's Avatar
thinkows thinkows is offline
Miembro
 
Join Date: Mar 2020
Location: Sabadell
Posts: 105
Poder: 7
thinkows Va por buen camino
Envio Curl

Quote:
Originally Posted by edari View Post
Gracias thinkows.


Luegop para subir tambié sería con curl como se hace con las altas de facturas?


Gracias de nuevo.
Hola, yo el envío lo hago con las librerías chilckat.....pero he visto varios hilos y ejemplos de envió con CURL.

Suerte y Salud.
Reply With Quote
  #2978  
Old 31/03/2022
Sistel Sistel is offline
Miembro
 
Join Date: Nov 2019
Location: Bilbao
Posts: 484
Poder: 7
Sistel Va por buen camino
Quote:
Originally Posted by Neftali [Germán.Estévez] View Post
Busca en la documentación el valor para esto:
Es posible que el valor correcto sea: iOgvkX7/yHIDRRiPy/LYQ0UUn7QV8/11D1BFbs8yMuQ=
https://www.clubdelphi.com/foros/sho...postcount=1534
Hola,

Álava cambió hace poco su política de firma (ahora se permite certificado de dispositivo en arquitecturas de firma en servidor).
La URL de la política de firma es la misma: https://ticketbai.araba.eus/tbai/sinadura/
Pero el hash ha cambiado. Hash de la política de Firma: d69VEBc4ED4QbwnDtCA2JESgJiw+rwzfutcaSl5gYvM=

Lo podéis ver en https://web.araba.eus/es/hacienda/ti...tacion-tecnica

Saludos
Reply With Quote
  #2979  
Old 31/03/2022
Sistel Sistel is offline
Miembro
 
Join Date: Nov 2019
Location: Bilbao
Posts: 484
Poder: 7
Sistel Va por buen camino
Por cierto, la política de firma de Gipuzkoa también cambió (por el mismo tema).
El nuevo hash es: vSe1CH7eAFVkGN0X2Y7Nl9XGUoBnziDA5BGUSsyt8mg=
Podéis ver en https://www.gipuzkoa.eus/es/web/ogas...on-y-normativa

Saludos

Last edited by Sistel : 31/03/2022 at 19:37. Reason: Error en el copia-pega
Reply With Quote
  #2980  
Old 01/04/2022
edari edari is offline
Miembro
 
Join Date: Jun 2021
Posts: 334
Poder: 6
edari Va por buen camino
Quote:
Originally Posted by thinkows View Post
Hola, yo el envío lo hago con las librerías chilckat.....pero he visto varios hilos y ejemplos de envió con CURL.

Suerte y Salud.



Las liberias de chilckat yo no las puedo usar. Cuando termine de preparar los xml cogeré la misma idea que usé para el curl a ver si tenemos suerte.


Gracias de nuevo

Buen día
Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
SII -Nuevo sistema de la Agencia Tributaria española de envío de datos vía Webservice newtron Internet 3716 19/01/2026 20:01
Como utilizar la ayuda del nuevo Sistema Operativo gluglu Humor 3 24/09/2007 09:39
Aplicacion Agencia De Viajes ArdiIIa Varios 9 20/01/2007 16:49
El Vasco Aguirre Al González La Taberna 5 26/05/2006 09:22
Microsoft ha lanzado su nuevo sistema operativo DarkByte Humor 0 25/01/2004 09:21


All times are GMT +2. The time now is 05:13.


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