Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Errores (relacionados con al AEAT) (https://www.clubdelphi.com/foros/forumdisplay.php?f=78)
-   -   401 De buenas a primeras (https://www.clubdelphi.com/foros/showthread.php?t=97219)

programadorphp7 20-10-2025 09:47:25

Problemas recibiendo 401 en entorno de pruebas
 
Hola,


No se si me podéis ayudar...


Hasta hace unas semana estábamos enviando facturas de verifactu al entorno de pruebas (url es la de prewww1.aeat.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP) sin problemas, pero por alguna razón de repente el viernes y hoy hemos intentado hacerlo pero siempre nos responde con un 401 (cierto que estuvimos un par de semanas sin mandar nada)... El certificado que usamos es uno expedido por la FNMT que caduca en el año 2027
Lo único que se me ocurre es que hace unas semanas solicitamos que nos dieran de alta como colaborador social para poder además de mandar nuestras propias facturas a verifactu mandar las facturas de nuestros clientes pero eso no debería cambiar que pudiéramos seguir mandando las nuestras como hasta ahora...
Si a alguien se le ocurre porque puede pasar le agradecería que me lo comentase, gracias

newtron 20-10-2025 10:30:00

Cita:

Empezado por programadorphp7 (Mensaje 568717)
Hola,


No se si me podéis ayudar...


Hasta hace unas semana estábamos enviando facturas de verifactu al entorno de pruebas (url es la de prewww1.aeat.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP) sin problemas, pero por alguna razón de repente el viernes y hoy hemos intentado hacerlo pero siempre nos responde con un 401 (cierto que estuvimos un par de semanas sin mandar nada)... El certificado que usamos es uno expedido por la FNMT que caduca en el año 2027
Lo único que se me ocurre es que hace unas semanas solicitamos que nos dieran de alta como colaborador social para poder además de mandar nuestras propias facturas a verifactu mandar las facturas de nuestros clientes pero eso no debería cambiar que pudiéramos seguir mandando las nuestras como hasta ahora...
Si a alguien se le ocurre porque puede pasar le agradecería que me lo comentase, gracias


¿Habéis probado con otro certificado? El de pruebas por ejemplo...

emailesc 20-10-2025 10:36:05

Cita:

Empezado por programadorphp7 (Mensaje 568717)
Hola,


No se si me podéis ayudar...


Hasta hace unas semana estábamos enviando facturas de verifactu al entorno de pruebas (url es la de prewww1.aeat.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP) sin problemas, pero por alguna razón de repente el viernes y hoy hemos intentado hacerlo pero siempre nos responde con un 401 (cierto que estuvimos un par de semanas sin mandar nada)... El certificado que usamos es uno expedido por la FNMT que caduca en el año 2027
Lo único que se me ocurre es que hace unas semanas solicitamos que nos dieran de alta como colaborador social para poder además de mandar nuestras propias facturas a verifactu mandar las facturas de nuestros clientes pero eso no debería cambiar que pudiéramos seguir mandando las nuestras como hasta ahora...
Si a alguien se le ocurre porque puede pasar le agradecería que me lo comentase, gracias

Revisar que las url's a las que estáis enviando son las correctas según sea sello o certificado. Creo que antes se las comía si, por ejemplo, mandabas con sello a la url de certificado y viceversa y lo arreglaron para que solo aceptase cada url las suyas: la de sello envíos con sello y la de certificado envíos con certificados.
En principio lo de Colaborador Social no afecta al certificado para enviar tus propias facturas. Nosotros lo somos y tras concederlo funciona bien.

programadorphp7 20-10-2025 10:54:50

Problemas recibiendo 401 en entorno de pruebas
 
Hola,
Siempre he usado la misma url de envio para el entorno de pruebas, no sabia que existían 2 para dar de alta las facturas de Verifactu en pre, la que uso es prewww1.aeat.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP ¿me puedes indicar cual es la otra?
Gracias


Cita:

Empezado por emailesc (Mensaje 568723)
Revisar que las url's a las que estáis enviando son las correctas según sea sello o certificado. Creo que antes se las comía si, por ejemplo, mandabas con sello a la url de certificado y viceversa y lo arreglaron para que solo aceptase cada url las suyas: la de sello envíos con sello y la de certificado envíos con certificados.
En principio lo de Colaborador Social no afecta al certificado para enviar tus propias facturas. Nosotros lo somos y tras concederlo funciona bien.


programadorphp7 20-10-2025 10:56:25

Problemas recibiendo 401 en entorno de pruebas
 
Hola,
La verdad desde que comenzamos a preparar el sistema de verifactu siempre hemos usado nuestro propio certificado y dado que siempre nos había funcionado no hemos llegado a pedir certificados de prueba...


Cita:

Empezado por newtron (Mensaje 568722)
¿Habéis probado con otro certificado? El de pruebas por ejemplo...


Faneka 20-10-2025 11:07:11

Cita:

Empezado por programadorphp7 (Mensaje 568724)
Hola,
Siempre he usado la misma url de envio para el entorno de pruebas, no sabia que existían 2 para dar de alta las facturas de Verifactu en pre, la que uso es prewww1.aeat.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP ¿me puedes indicar cual es la otra?
Gracias

Código:

<!--  VERIFACTU. Entorno de PRUEBAS  -->
<wsdl:port name="SistemaVerifactuPruebas" binding="sfWdsl:sfVerifactu">
        <soap:address location="https://prewww1.aeat.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP"/>
</wsdl:port>
<!--  VERIFACTU. Entorno de PRUEBAS para acceso con certificado de sello  -->
<wsdl:port name="SistemaVerifactuSelloPruebas" binding="sfWdsl:sfVerifactu">
        <soap:address location="https://prewww10.aeat.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP"/>
</wsdl:port>

Lo tienes dentro del fichero SistemaFacturacion.wsdl

emailesc 20-10-2025 11:08:49

Cita:

Empezado por programadorphp7 (Mensaje 568724)
Hola,
Siempre he usado la misma url de envio para el entorno de pruebas, no sabia que existían 2 para dar de alta las facturas de Verifactu en pre, la que uso es prewww1.aeat.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP ¿me puedes indicar cual es la otra?
Gracias

https://prewww1.aeat.es/wlpl/TIKE-CO.../VerifactuSOAP para certificados, https://prewww10.aeat.es/wlpl/TIKE-C.../VerifactuSOAP para sellos de empresa. Si estáis usando un certificado y no un sello de empresa está bien.

programadorphp7 20-10-2025 11:18:43

Problemas recibiendo 401 en entorno de pruebas
 
Hola,
Pues puede que fuera eso... Dado que acabo de probar a mandarlo a la url de prewww10.aeat.es y me acaba de responder como que es correcto mi envío ... Antes usábamos un certificado de representante, no se si la última vez que se tuvo que actualizar porque caducó el anterior tal vez se cambio por un sello de empresa (son otros compañeros lo que llevan esta parte), de todas maneras muchas gracias...

FacilIng 22-10-2025 09:02:27

Cita:

Empezado por emailesc (Mensaje 568723)
Revisar que las url's a las que estáis enviando son las correctas según sea sello o certificado. Creo que antes se las comía si, por ejemplo, mandabas con sello a la url de certificado y viceversa y lo arreglaron para que solo aceptase cada url las suyas: la de sello envíos con sello y la de certificado envíos con certificados.
En principio lo de Colaborador Social no afecta al certificado para enviar tus propias facturas. Nosotros lo somos y tras concederlo funciona bien.

Buenos días,

Pues igual que le ha pasado a @programadorphp7 le puede pasar a infinidad de clientes :( ...
La pregunta que se nos plantea es, después que el usuario nos proporcione su certificado electrónico, del que seguramente no tiene ni idea si es certificado o sello, ¿hay forma de que nosotros, desde código, podamos saber si un certificado es certificado (persona física) o sello (persona jurídica)? :confused:
Porqué de no ser así, lo único que nos queda es que sea el usuario el que nos diga lo que es, añadiendo todavía más confusión al tema !!!:-| ...

A ver si nos podéis ayudar.
Muchas gracias! :)

ermendalenda 22-10-2025 09:37:03

Cita:

Empezado por FacilIng (Mensaje 568840)
Buenos días,

Pues igual que le ha pasado a @programadorphp7 le puede pasar a infinidad de clientes :( ...
La pregunta que se nos plantea es, después que el usuario nos proporcione su certificado electrónico, del que seguramente no tiene ni idea si es certificado o sello, ¿hay forma de que nosotros, desde código, podamos saber si un certificado es certificado (persona física) o sello (persona jurídica)? :confused:
Porqué de no ser así, lo único que nos queda es que sea el usuario el que nos diga lo que es, añadiendo todavía más confusión al tema !!!:-| ...

A ver si nos podéis ayudar.
Muchas gracias! :)


Y tengo un php que extraer toda la información de los certificados (teniendo la clave), pero como no tengo ningun certificado de sello no puedo verificar la diferencia.
Pero te invito a que hagas lo siguiente:
Envias una primera emision en pruebas a ambos serviciops y el que te de ok ya sabes cual es y lo dejas grabado para ese certificado-
Saludos.

emailesc 22-10-2025 10:06:24

Cita:

Empezado por ermendalenda (Mensaje 568843)
Y tengo un php que extraer toda la información de los certificados (teniendo la clave), pero como no tengo ningun certificado de sello no puedo verificar la diferencia.
Pero te invito a que hagas lo siguiente:
Envias una primera emision en pruebas a ambos serviciops y el que te de ok ya sabes cual es y lo dejas grabado para ese certificado-
Saludos.

Nosotros tenemos de ambos y accedemos a la información de los mismos para mostrarla en pantalla, pero la distinción en los clientes la hacemos a la antigua usanza: preguntando. Según indica Chatgpt se pueden distinguir "perfectamente" por los códigos OID:
Cita:

Puedes distinguirlos sin ambigüedad mediante sus OIDs de Extended Key Usage y los campos del Subject (CN y SERIALNUMBER).
  • �� OID 0.4.0.194112.1.2 → Representante legal o voluntario (persona física)
  • �� OID 0.4.0.194112.1.1 o .1.3 o .1.4 → Sello electrónico cualificado de empresa

Pero no sé cuantos OIDs puede haber, en principio al preguntarle solo nos decía como sellos los 1.3 y 1.4, pero el nuestro es 1.1 (por eso lo he añadido), así que, a saber cuantos más hay y te puedes encontrar.
No obstante hay un prueba inequívoca, el sello cuesta como 20 ó 30 veces más que el certificado, tiene muchos menos propósitos, y es más complicado de obtener, al menos con la FNMT: si el cliente se queja del sello y te echa la culpa a ti, no falla, es sello...:D

FacilIng 22-10-2025 11:03:11

Cita:

Empezado por ermendalenda (Mensaje 568843)
Pero te invito a que hagas lo siguiente:
Envías una primera emisión en pruebas a ambos servicios y el que te de ok ya sabes cual es y lo dejas grabado para ese certificado.

Vamos a tirar por aquí, nos parece lo más seguro ya que ni ChatGPT ni Copilot nos da un criterio 100% fiable que nos asegure la diferenciación de los tipos de certificado.

Cita:

Puedes distinguirlos sin ambigüedad mediante sus OIDs de Extended Key Usage y los campos del Subject (CN y SERIALNUMBER).
OID 0.4.0.194112.1.2 → Representante legal o voluntario (persona física)
OID 0.4.0.194112.1.1 o .1.3 o .1.4 → Sello electrónico cualificado de empresa
Esto es lo que le indicaba ChatGPT a @emailesc ...

Cita:

Case "1.3.6.1.4.1.5734.1.1" ' FNMT Persona Física
Case "1.3.6.1.4.1.5734.1.2" ' FNMT Sello Electrónico
... y esto es lo que nos dice Copilot a nosotros.

Como no nos fiamos ni queremos problemas con los clientes, optamos por la opción de @ermendalenda :) ...
Gracias!

Neftali [Germán.Estévez] 22-10-2025 11:48:06

Nosotros hemos tirado por buscar OID "1.3.6.1.4.1.5734.1" y este "0.4.0.1862.1.6.2", pero digamos que para inicializar el valor, porque no es seguro que quien lo emite lo rellene.
A posteriori, el usuario puede modificar ese valor manualmente (suponiendo que sepa lo que está haciendo :D) y ese tiene preferencia.

emailesc 22-10-2025 12:18:50

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 568853)
Nosotros hemos tirado por buscar OID "1.3.6.1.4.1.5734.1" y este "0.4.0.1862.1.6.2", pero digamos que para inicializar el valor, porque no es seguro que quien lo emite lo rellene.
A posteriori, el usuario puede modificar ese valor manualmente (suponiendo que sepa lo que está haciendo :D) y ese tiene preferencia.

Creo que estais mezclando dos tipos de OID:
  • Cita:

  • Los que comienzan por 1.3.6.1.4.1.… dependen del emisor concreto (Camerfirma, EADTrust, FNMT…).
  • Los que comienzan por 0.4.0.194112.… son universales en toda la UE, y son los que distinguen legalmente un tipo de certificado de otro conforme al Reglamento eIDAS . Son los únicos estandarizados y legalmente vinculantes en toda la UE.910/2014.
Si un certificado es cualificado (de firma, sello o autenticación web) debe incluir al menos un OID “estándar europeo” del espacio 0.4.0.194112.… que identifique explícitamente qué tipo de certificado cualificado es.Y por otro lado el usuario del certificado no puede cambiar el OID, si lo hace inhabilitaría el certificado (en teoría, que yo no me he puesto a verificarlo)

emailesc 22-10-2025 12:21:33

Por cierto, lo de persona física son 0.4.0.194112.1.0, al menos el mío de la FNMT.


La franja horaria es GMT +2. Ahora son las 00:31:01.

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