Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Proyecto SIF/Veri*Factu/Ley Antifraude > Errores (relacionados con al AEAT)
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #21  
Antiguo 09-11-2025
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.759
Poder: 7
ermendalenda Va por buen camino
Cita:
Empezado por josejava Ver Mensaje
Yo lo que he hecho es que un ordenador encendido las 24 horas en mi casa reciba las facturas de las tiendas y desde mi casa las envíe directamente a la AEAT.

Así me quito dolores de cabeza de que si el cliente tiene windows XP o tiene un móvil.

Y si hay algún error me entero antes que nadie.
Buena idea, pero para disitintos OT, me obliga a tenrr todos los certificados o hacerme colaborador social,.
Tendras u a buena instalacion con SAI, doble conexion de internet con un multplexor o al menos un backup de internet y 2 entradas por si falla una...no? O te la juegas todo a una?
Al menos considera que los datos se suban a un cloud seguro vigilado 24×365 y desee ahi lo rescatas y subes

Última edición por ermendalenda fecha: 09-11-2025 a las 20:16:30.
Responder Con Cita
  #22  
Antiguo 21-11-2025
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.759
Poder: 7
ermendalenda Va por buen camino
Cita:
Empezado por emailesc Ver Mensaje
Sí, es cierto lo que dices. No obstante creo que esta configuración no accede a los certificados del almacén de certificados del equipo, los tienes que tener como archivo, ¿no?. Si es un equipo tuyo y controlado por ti puede ser una solución, pero para meterselo a un cliente por salvar el windows 7 yo no lo haría.
No, curl tiene opciones de obtener y usar los certificados de almacenes, es un poco tiquismiquis pero sabiendolo hacer se puede,
Responder Con Cita
  #23  
Antiguo 21-11-2025
emailesc emailesc is offline
Miembro
 
Registrado: jul 2023
Posts: 281
Poder: 3
emailesc Va por buen camino
Cita:
Empezado por ermendalenda Ver Mensaje
No, curl tiene opciones de obtener y usar los certificados de almacenes, es un poco tiquismiquis pero sabiendolo hacer se puede,
Por lo que yo he visto curl viene con dos compilaciones principales: curl + openssl y curl + schannel.
Curl + openssl no accede a los certificados del equipo, o al menos yo no he visto como hacerlo.
Curl + schannel sí accede a los certificados del equipo, pero no logra la conexión en Windows 7 CON HACIENDA (ojo, con hacienda, si con otros endpoints, y sí en las versiones posteriores de windows). La razón es que Hacienda envía al establecer la conexión un "ServerHello" con suites de cifrado TLS1.2 que Schannel en Windows 7 / 2012 no soporta, ni aunque tú las habilites desde el registro. Y a partir de aquí copy paste:
Cita:
En todas las conexiones a AEAT el servidor de Hacienda obliga a usar:
Ciphers modernos TLS1.2 basados en ECDHE-RSA + AES-GCM + SHA256

Ejemplos:
  • ECDHE-RSA-AES128-GCM-SHA256
  • ECDHE-RSA-AES256-GCM-SHA384
Además, el servidor pide:
  • TLS1.2 como mínimo
  • Intercambio de claves ECDHE moderno
  • Firmas SHA256
  • Curvas P-256 o P-384
¿Por qué Schannel fallaba aunque habilitases TLS1.2 y AES-GCM?


Porque tu Windows Server 2012 tiene estas limitaciones intrínsecas:
a) Implementación antigua de ECDHE en Schannel

→ No soporta las curvas o métodos modernos usados por la AEAT.
b) Matriz de cifrados de AES-GCM incompleta

→ Aunque aparezcan como “habilitados”, Schannel no implementa completamente los suites ECDHE-RSA-AES256-GCM-SHA384 ni ECDHE-RSA-AES128-GCM-SHA256.
c) Schannel NO permite usar --ciphers en curl

→ Las opciones de curl no pueden forzar nada.
Schannel decide por sí mismo la lista de suites aplicables.

Yo lo estuve probando en un windows server 2012 y no fui capaz de hacerlo (aunque quizá otro sí sepa claro). En Windows server 2012 R2 tengo entendido que sí funciona porque ya tiene implementado estos métodos, aunque por ahora no lo he probado. La verdad no se como será en Windows 7, si alguna actualización final los habrá implementado o no.
Por cierto esta limitación no la hay en Ticketbai, son menos exigentes con los cifrados.

Última edición por emailesc fecha: 21-11-2025 a las 18:59:04.
Responder Con Cita
  #24  
Antiguo 21-11-2025
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.759
Poder: 7
ermendalenda Va por buen camino
Cita:
Empezado por emailesc Ver Mensaje
Sí, es cierto lo que dices. No obstante creo que esta configuración no accede a los certificados del almacén de certificados del equipo, los tienes que tener como archivo, ¿no?. Si es un equipo tuyo y controlado por ti puede ser una solución, pero para meterselo a un cliente por salvar el windows 7 yo no lo haría.
Sí accede al almacen de window xp, 7( 10, 11 no recuerdo si lo probé pero creo que igual, ya que el certificado es el mismo y se importan igual en todos estas versiones de windows)
Pero tiene su historia, me tuve que romper la cabeza un pelín, pero seguro que la versión chatgpt 0.1 en pre ya lo dice,
Cuando tenga un hueco lo busco, es cierto que fi almente yo lo hago por fichero por que lo controlo y para actualizarlos es mas rapido, existen parametroa de curl para que funcione, hay que tener en cuenta alguna cosita extra pero va bien
Responder Con Cita
  #25  
Antiguo 21-11-2025
emailesc emailesc is offline
Miembro
 
Registrado: jul 2023
Posts: 281
Poder: 3
emailesc Va por buen camino
Cita:
Empezado por ermendalenda Ver Mensaje
Sí accede al almacen de window xp, 7( 10, 11 no recuerdo si lo probé pero creo que igual, ya que el certificado es el mismo y se importan igual en todos estas versiones de windows)
Pero tiene su historia, me tuve que romper la cabeza un pelín, pero seguro que la versión chatgpt 0.1 en pre ya lo dice,
Cuando tenga un hueco lo busco, es cierto que fi almente yo lo hago por fichero por que lo controlo y para actualizarlos es mas rapido, existen parametroa de curl para que funcione, hay que tener en cuenta alguna cosita extra pero va bien
A ver si tu lo consigues: windows 7 o server 2012 (no R2), accediendo al almacén de certificados y conectando con Hacienda, por ejemplo para verificar un NIF, por ejemplo (ojo, que con otros si vas a poder conectar, pero hacienda son más tocapelotas, como no puede ser menos)
Responder Con Cita
  #26  
Antiguo 21-11-2025
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.759
Poder: 7
ermendalenda Va por buen camino
Por otro lado aqui teneis la traza importante de conexiin curl probados en XP, W7, W10 y W11:
Info: TLSv1.3 (IN),.TLS handshake, Server hello(2) Recv SSL data, 91 bytes (0×5b)
No, es para enseñaros que incluso con xp usa el tlsv1.3, pero funcionaria igual con certificadks de almacen

Última edición por ermendalenda fecha: 21-11-2025 a las 22:27:03.
Responder Con Cita
  #27  
Antiguo 21-11-2025
emailesc emailesc is offline
Miembro
 
Registrado: jul 2023
Posts: 281
Poder: 3
emailesc Va por buen camino
Cita:
Empezado por ermendalenda Ver Mensaje
Por otro lado aqui teneis la traza importante de conexiin curl probados en XP, W7, W10 y W11:
Info: TLSv1.3 (IN),.TLS handshake, Server hello(2) Recv SSL data, 91 bytes (0×5b)
¿con Hacienda? ¿con certificado de almacén de certificados?
Responder Con Cita
  #28  
Antiguo 21-11-2025
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.759
Poder: 7
ermendalenda Va por buen camino
Cita:
Empezado por emailesc Ver Mensaje
A ver si tu lo consigues: windows 7 o server 2012 (no R2), accediendo al almacén de certificados y conectando con Hacienda, por ejemplo para verificar un NIF, por ejemplo (ojo, que con otros si vas a poder conectar, pero hacienda son más tocapelotas, como no puede ser menos)
El truco estaba, si no recuerdo mal, es que habia que indicarle el certificado del almacen con alguna cadena incluida en el mismo que sea unica, y ... que mejor que el NIF del emisor o de reprrsentante que ademas lo puedes parametrizar, con lo cual hay que tener en cuenta que no puedes tener instalado certificados caducados y que sean solo los validos para evitar errores para que no te pille uno malo A ver si lo busco, es que las pruebas las hice rato 2021-2022

Última edición por ermendalenda fecha: 21-11-2025 a las 22:25:27.
Responder Con Cita
  #29  
Antiguo 21-11-2025
emailesc emailesc is offline
Miembro
 
Registrado: jul 2023
Posts: 281
Poder: 3
emailesc Va por buen camino
Cita:
Empezado por ermendalenda Ver Mensaje
El truco estaba, si no recuerdo mal, es que habia que indicarle el certificado del almacen con alguna cadena incluida en el mismo que sea unica, y ... que mejor que el NIF del emisor o de reprrsentante que ademas lo puedes parametrizar, con lo cual hay que tener en cuenta que no puedes tener instalado cerrificados caducados y validos para evitar errores. A ver si lo busco, es que las pruebas las hice rato 2021-2022
Como veas, de todas formas con certificado en archivo funciona correctamente, así que tampoco merece la pena complicarse la vida, que es viernes y son las 22:26. YO me voy a cenar que ya es hora
Responder Con Cita
  #30  
Antiguo 22-11-2025
daniloversion daniloversion is offline
Registrado
 
Registrado: nov 2025
Posts: 1
Poder: 0
daniloversion Va por buen camino
Hay una aplicación que facilita muchísimo toda esta configuración de protocolos y Cyphers. Se llama IIS Crypto por si a alguno le puede ayudar.


Yo he probado ya todas las configuraciones, y nada.. desde una máquina Windows Server 2012 R2 no lo consigo. Nosotros tenemos que usar ahora mismo .net si o si, asi que supongo que tocará migrar el servidor. El fallo se ve facil desde un comando de PowerShell:

Código:
Invoke-WebRequest -Uri URLDelServicioVerifactu
Devuelve:
Código:
Invoke-WebRequest : Anulada la solicitud: No se puede crear un canal seguro SSL/TLS.
En línea: 1 Carácter: 1
+ Invoke-WebRequest -Uri URLDelServicioVerifactu  ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
Responder Con Cita
  #31  
Antiguo 22-11-2025
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.759
Poder: 7
ermendalenda Va por buen camino
Cita:
Empezado por daniloversion Ver Mensaje
Hay una aplicación que facilita muchísimo toda esta configuración de protocolos y Cyphers. Se llama IIS Crypto por si a alguno le puede ayudar.


Yo he probado ya todas las configuraciones, y nada.. desde una máquina Windows Server 2012 R2 no lo consigo. Nosotros tenemos que usar ahora mismo .net si o si, asi que supongo que tocará migrar el servidor. El fallo se ve facil desde un comando de PowerShell:

Código:
Invoke-WebRequest -Uri URLDelServicioVerifactu
Devuelve:
Código:
Invoke-WebRequest : Anulada la solicitud: No se puede crear un canal seguro SSL/TLS.
En línea: 1 Carácter: 1
+ Invoke-WebRequest -Uri URLDelServicioVerifactu  ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
Interesante, otro método alternativo a curl para enviar a Verifactu
Quedando algo así, por si alguien quiere imvestigar
Código:
Invoke-WebRequest -Uri "https://www1.agenciatributaria.gob.es/wlpl/VERI_FACTU/registro" -Method POST -ContentType "text/xml;charset=UTF-8" -Certificate (Get-PfxCertificate "C:\certs\certificado.pfx") -Body ([System.Text.Encoding]::UTF8.GetBytes((Get-Content "C:\verifactu\soap.xml" -Raw)))
Responder Con Cita
  #32  
Antiguo 22-11-2025
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.759
Poder: 7
ermendalenda Va por buen camino
Ponngo ejemplo, sin haberlo probado, con endpoint de entorno de pruebas por ai alguien quiere probar
Código PHP:
powershell -Command "Invoke-WebRequest -Uri 'https://prewww1.aeat.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VeriFactuSOAP' -Method POST -ContentType 'text/xml;charset=UTF-8' -Certificate (Get-PfxCertificate 'C:\certs\certificado.pfx') -Body ([System.Text.Encoding]::UTF8.GetBytes((Get-Content 'C:\verifactu\soap.xml' -Raw))) | Out-File "C:\verifactu\respuesta.xml
Gracias por el aporte de invoke-...
Responder Con Cita
  #33  
Antiguo 22-11-2025
ermendalenda ermendalenda is offline
Miembro
 
Registrado: ago 2021
Posts: 2.759
Poder: 7
ermendalenda Va por buen camino
Cita:
Empezado por emailesc Ver Mensaje
Como veas, de todas formas con certificado en archivo funciona correctamente, así que tampoco merece la pena complicarse la vida, que es viernes y son las 22:26. YO me voy a cenar que ya es hora
Ya he repasado los apuntes de 2022
Efectivamente no es posible usar directamente certificados, pero desde w7 si lo puedes automatizar, con ceutil extraes el certificado del almacen (indicandole la huella del certificado) y despues lo usas con curl.
Lo que si se podia usar directamente es con autofirmacommandline.exe, pudiendo apuntar directamente al certificado que quieres sin que te muestre la pantalla de selección.
El autofirmacommandline.exe no es recomendable para firmar cuando son ventas rapidas (comercio retail) por que puede tardar unos cuantos segundos en ocasiones.

Última edición por ermendalenda fecha: 22-11-2025 a las 08:45:31.
Responder Con Cita
  #34  
Antiguo 22-11-2025
emailesc emailesc is offline
Miembro
 
Registrado: jul 2023
Posts: 281
Poder: 3
emailesc Va por buen camino
Cita:
Empezado por daniloversion Ver Mensaje
Hay una aplicación que facilita muchísimo toda esta configuración de protocolos y Cyphers. Se llama IIS Crypto por si a alguno le puede ayudar.


Yo he probado ya todas las configuraciones, y nada.. desde una máquina Windows Server 2012 R2 no lo consigo. Nosotros tenemos que usar ahora mismo .net si o si, asi que supongo que tocará migrar el servidor. El fallo se ve facil desde un comando de PowerShell:

Código:
Invoke-WebRequest -Uri URLDelServicioVerifactu
Devuelve:
Código:
Invoke-WebRequest : Anulada la solicitud: No se puede crear un canal seguro SSL/TLS.
En línea: 1 Carácter: 1
+ Invoke-WebRequest -Uri URLDelServicioVerifactu  ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
 + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

Desde Windows Server 2012 R2 tenía entendido que sí funcionaba, pero no lo he probado aun. No obstante, puedes salvarte de cambiar el servidor, o al menos no tener que hacerlo deprisa y corriendo, puedes enviar desde .NET con curl + openssl, la compilación que lleva ambas, y el certificado en archivo, no en el almacén de certificados de windows. Curl + Openssl usan sus propias librerías, no las de Schannell y funciona bien.
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
Aplicación hecha con Delphi 10.2 no funciona en Windows 10, pero sí en otros windows lgarcia Varios 5 09-07-2018 10:13:21
¿Estás pensando en actualizar Windows? Te encantará Windows 10 nlsgarcia La Taberna 6 25-02-2015 10:38:40
Compartir archivos entre Windows Vista sobre VirtualBox y Windows XP como host mlara Windows 2 27-03-2009 09:27:28
Microsoft autoriza a los fabricantes a instalar Windows XP en vez de Windows Vista Ñuño Martínez Noticias 4 26-09-2007 06:11:19
Windows cede ante Google y modificará Windows Vista Bicho Noticias 5 20-06-2007 23:31:04


La franja horaria es GMT +2. Ahora son las 06:34:14.


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