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)

YellowStone 10-02-2025 15:54:26

401 De buenas a primeras
 
Os pasa a alguien más? No recuerdo ningún cambio en la programación, y estamos recibiendo el error 401 de no autorizado.

rci 10-02-2025 16:35:47

Cita:

Empezado por YellowStone (Mensaje 561890)
Os pasa a alguien más? No recuerdo ningún cambio en la programación, y estamos recibiendo el error 401 de no autorizado.


Hola YellowStone, revisa el certificado que usas,
El error 401 creo que indica que se ha producido un error al verificar el certificado presentado.
Puede que se haya revocado o caducado?

Saludos

YellowStone 10-02-2025 16:44:57

Cita:

Empezado por rci (Mensaje 561892)
Hola YellowStone, revisa el certificado que usas,
El error 401 creo que indica que se ha producido un error al verificar el certificado presentado.
Puede que se haya revocado o caducado?

Saludos

Pues me resulta muy extraño, porque esta mañana he estado realizando envíos sin problemas, y cuando he ido a probar unas cuestiones esta tarde, ha empezado a fallar.

rci 10-02-2025 16:51:39

Cita:

Empezado por YellowStone (Mensaje 561893)
Pues me resulta muy extraño, porque esta mañana he estado realizando envíos sin problemas, y cuando he ido a probar unas cuestiones esta tarde, ha empezado a fallar.

Cuando te ocurre ese error?

Acabo de mandar un registro de facturación a Veri*Factu y no me ha fallado

Solo me da el 401 cuando uso un certificado revocado

YellowStone 10-02-2025 17:03:06

Cita:

Empezado por rci (Mensaje 561894)
Cuando te ocurre ese error?

Acabo de mandar un registro de facturación a Veri*Factu y no me ha fallado

Solo me da el 401 cuando uso un certificado revocado

Al hacer el Post con Indy, como siempre. Voy a tratar de hacerlo con otro certificado, a ver si dice lo mismo. Acabo de comprobar el certificado en redsara.es y el certificado es válido.

YellowStone 10-02-2025 17:12:53

Pues con otro certificado, el resultado es el mismo, 401 Unauthorized. Lo único es que los certificados que estamos usando son de UANATACA, no de la FNMT, pero que han estado funcionando hasta ahora, es lo único que puede ser. Voy a probar ahora con el mío propio que si es de la FNMT, no me gusta, pero bueno.

YellowStone 10-02-2025 17:21:56

Pues confirmo que con el certificado mío propio de la FNMT funciona. Algo han cambiado que ahora no se admiten los certificados de al menos el proveedor de certificados UANATACA. El certificado es totalmente válido, y está dentro de los proveedores admitidos por la propia AEAT, pero...

Alguien que tuviese un certificado de UANATACA, podría probar si estoy en lo cierto? A mi me ha fallado con dos distintos.

rci 10-02-2025 17:27:18

Cita:

Empezado por YellowStone (Mensaje 561898)
Pues confirmo que con el certificado mío propio de la FNMT funciona. Algo han cambiado que ahora no se admiten los certificados de al menos el proveedor de certificados UANATACA. El certificado es totalmente válido, y está dentro de los proveedores admitidos por la propia AEAT, pero...

Alguien que tuviese un certificado de UANATACA, podría probar si estoy en lo cierto? A mi me ha fallado con dos distintos.

Pues vaya coincidencia, el que tengo revocado y me devuelve error 401 es de UANATACA, pero este ya se que realmente si está revocado desde hace un tiempo.

YellowStone 10-02-2025 17:30:14

Tipo de certificado: UANATACA Representante PJ AAPP SW

Uso del certificado: digitalSignature | nonRepudiation | keyEncipherment

Válido desde: 2023-06-29 jue 12:32:00 +0200

Válido hasta: 2028-06-27 mar 12:32:00 +0200

Versión política: 23


Esta es información de h t t p s://v a lide.redsara.es

Acabo de escribir a la AEAT, a ver si me dicen algo

YellowStone 10-02-2025 17:41:42

El / Los mismos certificados, en la consulta de NIFS en Hacienda, funcionan. :mad:

Gracias, rci.

rci 10-02-2025 17:56:17

Cita:

Empezado por YellowStone (Mensaje 561902)
El / Los mismos certificados, en la consulta de NIFS en Hacienda, funcionan. :mad:

Gracias, rci.

Algún problema tendrán a la hora de validar los CIFs. A ver que te contestan.

de nada YellowStone

Saludos

YellowStone 11-02-2025 15:48:02

Pues aún estoy esperando la respuesta de la AEAT, que puedo estar sentado, pero ya he solucionado este problema.

Los Certificados de UANATACA son muy especiales, e incluyen "varios" certificados dentro del certificado. Hasta ahora por lo visto no habían puesto ninguna pega a esto y lo tragaban, pero parece ser que ahora hay que buscar dentro del certificado (utilizo PFX o P12) el certificado real que tengo que usar. Eso es algo que con Indy no he podido hacer hasta ahora, así que al cambiar la programación y utilizar las librerías de Clever, si he podido localizar le correcto.

Tendré prevista para usar las dos programaciones, y los certificados que sean de UANATACA que utilicen un código y los de la FNMT el otro, por si acaso.

xevi 11-02-2025 16:44:49

Tengo un certificado de UANATACA que no me funciona, cuando con un certificado de FNMT me funciona perfectamente.

No se que tengo que hacer en este certificado para que me lo admita, si tienes una solución y puedes aportarla, te lo agradecería.

Yo no utilizo Delphi, programo con Harbour y objeto WinHttpRequest.5.1
Solo me limito a decirle el nombre del certificado instalado en el almacén de windows, y no veo en que lugar le tendría de cambiar o poner alguna opción distinta para que me pueda servir un certificado que lleva incluidos distintos certificados.

Gracias.

YellowStone 11-02-2025 17:33:33

Cita:

Empezado por xevi (Mensaje 561941)
Tengo un certificado de UANATACA que no me funciona, cuando con un certificado de FNMT me funciona perfectamente.

No se que tengo que hacer en este certificado para que me lo admita, si tienes una solución y puedes aportarla, te lo agradecería.

Yo no utilizo Delphi, programo con Harbour y objeto WinHttpRequest.5.1
Solo me limito a decirle el nombre del certificado instalado en el almacén de windows, y no veo en que lugar le tendría de cambiar o poner alguna opción distinta para que me pueda servir un certificado que lleva incluidos distintos certificados.

Gracias.

Yo programo en Delphi. Te puedo decir cómo selecciono el certificado necesario, pero es con las librerías de Clever Internet Suite.

El componente TclHTTP, tiene un evento OnGetCertificate que es el que se encarga de leer el certificado:

P. ej.
hServidor.OnGetCertificate := rGetCertificado.hServidorGetCertificate;

Es en ese evento donde se carga el certificado, que como ya he dicho, en UANATACA contiene varios certificados, y normalmente el que necesitamos NO ES EL PRIMERO, y se busca dentro:

Código PHP:

procedure TGetCertificado.hServidorGetCertificate(SenderTObject;
      var 
ACertificateTclCertificateAExtraCertsTclCertificateList;
      var 
HandledBoolean);
var 
CertificadosTclCertificateStore;
    
iinteger;
begin
  Certificados 
:= TclCertificateStore.Create(nil);
  
Certificados.ImportFromPFX(xrVerifactu.CertificadoxrVerifactu.Password);  // Importamos desde PFX.
  
if Certificados.Items.Count 0 then
    begin
      
for := 0 to Certificados.Items.Count -do
        
begin
          
if Pos(rDatosEmisor.NifCertificados.Items[i].Subject) > 0 then  // Cuando el Nif del emisor me coincide, ese es el certificado que necesito
            
begin
              ACertificate 
:= Certificados.Items[i];
              
Handled:=True;
              break;
            
end;
        
end;
    
end;
end

No sé si en Harbour tienes algo parecido para ir "navegando" por los certifidados PFX de UANATACA.

Mucha suerte, por lo visto, estos de UANATACA los utilizan multitud de empresas, no entiendo bien por qué no usan los de la FNMT.

YellowStone 12-02-2025 09:35:04

No llegan los mensajes de correo a Verifactu:

[email protected] me llegan rechazados los mensajes tras múltiples intentos de intento de envío

[<00>] XMail bounce: Rcpt=[[email protected]];Error=[The maximum number of delivery attempts has been reached]

Así que no sé nada sobre qué cambiaron con los certificados.

RanNav 03-07-2025 14:20:12

Buenas,
A mí me está devolviendo desde ayer el error 401, con la descripción "Código[401]. Error interno del Servidor, Id. del Error: null".
¿Esto es error suyo o de mi programa? Que yo sepa no he hecho ningún cambio y hasta hace poco podía enviar registros con normalidad

Faneka 03-07-2025 14:32:29

Cita:

Empezado por RanNav (Mensaje 566066)
Buenas,
A mí me está devolviendo desde ayer el error 401, con la descripción "Código[401]. Error interno del Servidor, Id. del Error: null".
¿Esto es error suyo o de mi programa? Que yo sepa no he hecho ningún cambio y hasta hace poco podía enviar registros con normalidad

¿Tienes el certificado de pruebas? A mí me dío hace unos días con el certificado de pruebas, he cambiado al de la empresa y funciona bien.

rci 03-07-2025 15:25:56

Cita:

Empezado por Faneka (Mensaje 566068)
¿Tienes el certificado de pruebas? A mí me dío hace unos días con el certificado de pruebas, he cambiado al de la empresa y funciona bien.

Los certificados de pruebas de la AEAT ya no funcionan, uno caducó ayer y el otro lo revocaron porque están renovándolos.
Uno da error 401 y el otro 403

Si los quieres, se tiene que volver a pedir y cuando los tengan, los enviaran.

RanNav 03-07-2025 17:24:28

Buenas tardes, pues va a tener que ser esto que me comentáis, muchas gracias! :D

rci 03-07-2025 17:29:07

Cita:

Empezado por rci (Mensaje 566077)
Los certificados de pruebas de la AEAT ya no funcionan, uno caducó ayer y el otro lo revocaron porque están renovándolos.
Uno da error 401 y el otro 403

Si los quieres, se tiene que volver a pedir y cuando los tengan, los enviaran.

Ya hemos recibido los nuevos. previa petición y envio del formulario

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 12:53:50.

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