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
  #2961  
Antiguo 28-03-2022
chenech chenech is offline
Miembro
 
Registrado: dic 2013
Posts: 72
Poder: 11
chenech Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
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.
Responder Con Cita
  #2962  
Antiguo 28-03-2022
joselugrk joselugrk is offline
Miembro
 
Registrado: abr 2021
Posts: 28
Poder: 0
joselugrk Va por buen camino
Thumbs up Solucionado

Cita:
Empezado por ermendalenda Ver Mensaje
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
Responder Con Cita
  #2963  
Antiguo 28-03-2022
Irreo Irreo is offline
Miembro
 
Registrado: mar 2022
Posts: 70
Poder: 3
Irreo Va por buen camino
Cita:
Empezado por Alkavanyatur Ver Mensaje
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).

Código PHP:
$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.
Responder Con Cita
  #2964  
Antiguo 28-03-2022
Irreo Irreo is offline
Miembro
 
Registrado: mar 2022
Posts: 70
Poder: 3
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:

Código PHP:
    // 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:

Código:
<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:

Código PHP:
$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:

Código:
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:

Código:
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.

Última edición por Irreo fecha: 28-03-2022 a las 17:45:46. Razón: Problema solucionado.
Responder Con Cita
  #2965  
Antiguo 29-03-2022
edari edari is offline
Miembro
 
Registrado: jun 2021
Posts: 178
Poder: 3
edari Va por buen camino
Cita:
Empezado por thinkows Ver Mensaje
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.
Responder Con Cita
  #2966  
Antiguo 29-03-2022
chenech chenech is offline
Miembro
 
Registrado: dic 2013
Posts: 72
Poder: 11
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 ...
Responder Con Cita
  #2967  
Antiguo 30-03-2022
pulido pulido is offline
Registrado
 
Registrado: 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
Responder Con Cita
  #2968  
Antiguo 31-03-2022
chenech chenech is offline
Miembro
 
Registrado: dic 2013
Posts: 72
Poder: 11
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
Código:
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;
Responder Con Cita
  #2969  
Antiguo 31-03-2022
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.285
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 pulido Ver Mensaje
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.
Responder Con Cita
  #2970  
Antiguo 31-03-2022
Mlopez Mlopez is offline
Miembro
 
Registrado: mar 2022
Posts: 3
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.
Responder Con Cita
  #2971  
Antiguo 31-03-2022
edari edari is offline
Miembro
 
Registrado: jun 2021
Posts: 178
Poder: 3
edari Va por buen camino
Cita:
Empezado por Mlopez Ver Mensaje
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
Responder Con Cita
  #2972  
Antiguo 31-03-2022
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.285
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 Mlopez Ver Mensaje
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.
Responder Con Cita
  #2973  
Antiguo 31-03-2022
chenech chenech is offline
Miembro
 
Registrado: dic 2013
Posts: 72
Poder: 11
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.

Código:
#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;
}
//---------------------------------------------------------------------------
Cita:
Empezado por chenech Ver Mensaje
Alquien sabe o puede convertir este código copiado de anteriores post a C o C++? gracias
Código:
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;
Responder Con Cita
  #2974  
Antiguo 31-03-2022
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.285
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 chenech Ver Mensaje
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.
Responder Con Cita
  #2975  
Antiguo 31-03-2022
Mlopez Mlopez is offline
Miembro
 
Registrado: mar 2022
Posts: 3
Poder: 0
Mlopez Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
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.
Archivos Adjuntos
Tipo de Archivo: zip B-2022-25_Firmado.zip (4,4 KB, 13 visitas)
Responder Con Cita
  #2976  
Antiguo 31-03-2022
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.285
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:
Cita:
<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.
Responder Con Cita
  #2977  
Antiguo 31-03-2022
Avatar de thinkows
thinkows thinkows is offline
Miembro
 
Registrado: mar 2020
Ubicación: Sabadell
Posts: 70
Poder: 5
thinkows Va por buen camino
Envio Curl

Cita:
Empezado por edari Ver Mensaje
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.
Responder Con Cita
  #2978  
Antiguo 31-03-2022
Sistel Sistel is offline
Miembro
 
Registrado: nov 2019
Ubicación: Bilbao
Posts: 372
Poder: 5
Sistel Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
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
Responder Con Cita
  #2979  
Antiguo 31-03-2022
Sistel Sistel is offline
Miembro
 
Registrado: nov 2019
Ubicación: Bilbao
Posts: 372
Poder: 5
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

Última edición por Sistel fecha: 31-03-2022 a las 19:37:11. Razón: Error en el copia-pega
Responder Con Cita
  #2980  
Antiguo 01-04-2022
edari edari is offline
Miembro
 
Registrado: jun 2021
Posts: 178
Poder: 3
edari Va por buen camino
Cita:
Empezado por thinkows Ver Mensaje
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
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 20 Horas 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 14:40:57.


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