Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   General/Noticias (https://www.clubdelphi.com/foros/forumdisplay.php?f=64)
-   -   Certificado deja de funcionar (https://www.clubdelphi.com/foros/showthread.php?t=97943)

marccabra 15-12-2025 11:50:10

Certificado deja de funcionar
 
Hola buenas, escribo por aquí para ver si alguien se ha encontrado en la misma situación que yo o sabe ver que pasa.
He desarrollado un programa con delphi basándome en el programa de muestra de este foro. Para realizar el envío hago lo siguiente:

Código Delphi [-]
 HTTPRIO1:=THTTPRIO.create(nil);
 HTTPRIO1.onBeforeExecute:=HTTPRIO1BeforeExecute;
 HTTPRIO1.onAfterExecute :=HTTPRIO1AfterExecute;
      try
          HTTPRIO1.HTTPWebNode.ClientCertificate.SerialNum := Buscar_Certificado_SERIAL(certificadoName);

          res:= RespuestaRegFactuSistemaFacturacionType.Create;

          res:= GetsfPortTypeVerifactu( False, URL_VERIFACTU_SOAP, HTTPRIO1 ).RegFactuSistemaFacturacion( veriFactu );

except
            on E:Exception do
            begin
                  Application.MessageBox(pchar(Format('Se ha producido un error. (%s)-%s',[E.ClassName, E.Message])), 'Error', MB_ICONERROR)   ;
                 
            end

      end;

Desde siempre me ha funcionado todo correctamente hasta la semana pasada.



Estoy usando verifactu con 2 empresas distintas, en las 2 funcionaba todo correctamente hasta que el otro día una de las 2 empresas me dejó de funcionar bien. Al hacer las peticiones siempre me salta el error de ESOAPHTTPException se requiere un certificado para completar la autenticación de cliente.

El certificado está instalado igual que el otro con el que si que me funciona. He hecho pruebas en diferentes ordenadores y siempre pasa lo mismo. Como ya digo dejó de funcionar de un día para otro sin tocar el código ni nada.

También he probado de hacer una petición usando el sdk de ejemplo del foro y si que me ha funcionado pero miro los códigos y parecen iguales.

A ver si alguien me puede ayudar a ver dónde puede estar el problema.

Muchas gracias

Faneka 15-12-2025 11:57:57

No estara caducado.....

marccabra 15-12-2025 12:06:30

Cita:

Empezado por Faneka (Mensaje 571320)
No estara caducado.....


No, es un certificado que funciona y, de hecho puedo entrar a la web usando el certificado o usar el sdk del foro con este mismo certificado.

duilioisola 15-12-2025 12:09:12

Puede que tengas dos certificados con el mismo nombre. Uno actual y el otro caducado o deshabilitado.
Mira qué te devuelve la función Buscar_Certificado_SERIAL().

Por ejemplo utilizando certmgr.msc en el ordenador que falle, loqueado con el usuario que falle mira los certificados instalados.
Puedes hacer doble click sobre el certificado y en la solapa detalles de la ventana que se abre podrás ver el número de serie.

Faneka 15-12-2025 12:11:32

Eso podría ser, si tienes el caducado y el nuevo no funciona, yo tuve que poner que revise y elimine los certificados caducados antes de enviar. Lo usuarios cuando instalan el nuevo el 99% no van a eliminar el caducado.

marccabra 15-12-2025 12:12:23

Cita:

Empezado por duilioisola (Mensaje 571322)
Puede que tengas dos certificados con el mismo nombre. Uno actual y el otro caducado o deshabilitado.
Mira qué te devuelve la función Buscar_Certificado_SERIAL().

Por ejemplo utilizando certmgr.msc en el ordenador que falle, loqueado con el usuario que falle mira los certificados instalados.
Puedes hacer doble click sobre el certificado y en la solapa detalles de la ventana que se abre podrás ver el número de serie.

Gracias por tu respuesta.

También he mirado esto, no hay ningún certificado caducado ni duplicados con el mismo nombre. El número de serie que me devuelve el Buscar_Certificado_SERIAL es el del certificado con el endianness cambiado que, según tengo entendido, es lo que debe devolver.

Gracias!

Neftali [Germán.Estévez] 15-12-2025 12:35:14

Cita:

Empezado por marccabra (Mensaje 571319)
Hola buenas, escribo por aquí para ver si alguien se ha encontrado en la misma situación que yo o sabe ver que pasa.

Por favor, revisa la Guía de estilo de los foros.
Utiliza TAGs cuando pongas código en los mensajes.

seccion_31 15-12-2025 15:16:55

¿ Cuantas facturas estas intentando enviar a la vez ?

marccabra 15-12-2025 15:35:32

Cita:

Empezado por seccion_31 (Mensaje 571326)
¿ Cuantas facturas estas intentando enviar a la vez ?


17, no debería ser problema, no?

seccion_31 15-12-2025 17:26:11

Si
Ese es el problema

Envía 10 verás que funciona.

Si estás fuera del componente tendrás que buscar una solución, para tu proyecto, el componente con mis últimas pruebas puede enviar 1000 facturas. Es un problema de las librerías de tu versión de delphi

En el foro hubo un compañero que solucionó más o menos eso, pero no tengo claro la Version ni el hilo.

seccion_31 15-12-2025 18:53:28

Aqui tienes una solucion para investigar:

https://www.clubdelphi.com/foros/showthread.php?t=97826

Creo que desde D11 en adelante este problema quedo solucionado.


La franja horaria es GMT +2. Ahora son las 04:14:48.

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