Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Envío de registros y sus respuestas (https://www.clubdelphi.com/foros/forumdisplay.php?f=66)
-   -   Firmar con AutoFirma y fichero PFX (https://www.clubdelphi.com/foros/showthread.php?t=97123)

razorxxx 20-01-2025 11:08:04

Cita:

Empezado por bmfranky (Mensaje 561293)
Hola, ya se ha publicado...

Pues manda narices. Ahora dicen que el algoritmo de hash es 'http://www.w3.org/2001/04/xmlenc#sha1', y resulta que al firmar con Autofirma da error. Sin embargo, si le dejamos el anterior valor 'http://www.w3.org/2000/09/xmldsig#sha1' sí firma, y de hecho es el mismo que sigue estando en el ejemplo firmado. No entiendo nada...

Por cierto, he conseguido aplicar el algoritmo sha256 para la firma en el AutoFirmaCommandline, pero me siguen faltando 4 líneas en las que se sigue especificando 'http://www.w3.org/2001/04/xmlenc#sha512':

Código:

AutoFirmaCommandLine.exe sign -i "fichero_entrada.xml" -o "fichero_salida.xml" -format xades -algorithm SHA256withRSA -config "format=XAdES Enveloped \nincludeOnlySignningCertificate=true \npolicyIdentifier=urn:oid:2.16.724.1.3.1.1.2.1.9 \npolicyIdentifierHash=G7roucf600+f03r/o0bAOQ6WAs0= \npolicyIdentifierHashAlgorithm=http://www.w3.org/2000/09/xmldsig#sha1 \npolicyQualifier=https://sede.administracion.gob.es/politica_de_firma_anexo_1.pdf" -store pkcs12:"certificado.pfx" -password 1234 -filter subject.contains:XXXXXXXXX
No obstante, la web valide.redsara.es me dice que la firma es válida, pero no sé si estaría cumpliendo al 100% con lo que manda el reglamento.

razorxxx 20-01-2025 12:34:31

Cita:

Empezado por razorxxx (Mensaje 561318)
Pues manda narices. Ahora dicen que el algoritmo de hash es 'http://www.w3.org/2001/04/xmlenc#sha1', y resulta que al firmar con Autofirma da error. Sin embargo, si le dejamos el anterior valor 'http://www.w3.org/2000/09/xmldsig#sha1' sí firma, y de hecho es el mismo que sigue estando en el ejemplo firmado. No entiendo nada...

Por cierto, he conseguido aplicar el algoritmo sha256 para la firma en el AutoFirmaCommandline, pero me siguen faltando 4 líneas en las que se sigue especificando 'http://www.w3.org/2001/04/xmlenc#sha512':

Código:

AutoFirmaCommandLine.exe sign -i "fichero_entrada.xml" -o "fichero_salida.xml" -format xades -algorithm SHA256withRSA -config "format=XAdES Enveloped \nincludeOnlySignningCertificate=true \npolicyIdentifier=urn:oid:2.16.724.1.3.1.1.2.1.9 \npolicyIdentifierHash=G7roucf600+f03r/o0bAOQ6WAs0= \npolicyIdentifierHashAlgorithm=http://www.w3.org/2000/09/xmldsig#sha1 \npolicyQualifier=https://sede.administracion.gob.es/politica_de_firma_anexo_1.pdf" -store pkcs12:"certificado.pfx" -password 1234 -filter subject.contains:XXXXXXXXX
No obstante, la web valide.redsara.es me dice que la firma es válida, pero no sé si estaría cumpliendo al 100% con lo que manda el reglamento.

Me confirman que ha sido una errata y que ya lo han corregido y publicado. Estoy esperando a que me digan si el fichero de firma tal cual lo tengo cumpliría con las exigencias del reglamento.

bmfranky 05-02-2025 16:02:11

Parametros correctos
 
Hola podriais confirmarme que estos parametros serian correctos para la firma.




Código:

//Esto esta definido por la dll no lo puedo cambiar

public static DigestMethod SHA1 = new DigestMethod("SHA1", "http://www.w3.org/2000/09/xmldsig#sha1", "1.3.14.3.2.26");
//



parametros.SignaturePolicyInfo = new SignaturePolicyInfo
{
    PolicyIdentifier = "urn:oid:2.16.724.1.3.1.1.2.1.9",
    PolicyDigestAlgorithm = DigestMethod.SHA1,
    PolicyHash = "G7roucf600+f03r/o0bAOQ6WAs0=",
    PolicyUri = "https://sede.administracion.gob.es/politica_de_firma_anexo_1.pdf"
};


razorxxx 06-02-2025 10:19:51

Cita:

Empezado por bmfranky (Mensaje 561751)
Hola podriais confirmarme que estos parametros serian correctos para la firma.




Código:

//Esto esta definido por la dll no lo puedo cambiar

public static DigestMethod SHA1 = new DigestMethod("SHA1", "http://www.w3.org/2000/09/xmldsig#sha1", "1.3.14.3.2.26");
//



parametros.SignaturePolicyInfo = new SignaturePolicyInfo
{
    PolicyIdentifier = "urn:oid:2.16.724.1.3.1.1.2.1.9",
    PolicyDigestAlgorithm = DigestMethod.SHA1,
    PolicyHash = "G7roucf600+f03r/o0bAOQ6WAs0=",
    PolicyUri = "https://sede.administracion.gob.es/politica_de_firma_anexo_1.pdf"
};


Me confirman por mail desde VeriFactu que van a publicar en breve una nueva versión de la documentación de firma. Por un lado, explicitarán que se pueden usar algoritmos de firma superior al SHA256 y se realizan una serie de recomendaciones. Por otro lado, se corregirán los ficheros de ejemplo cambiando de sum:RegistroAlta a sum1:RegistroAlta. Así que interpreto que SHA1 ya no será válido.

Con la línea que les puse en mi anterior post sobre firmar con AutoFirma me han dicho que casi seguro que si la web valide.redsara.es la da por buena, entonces será válida. Pero que, no obstante, en las próximas semanas publicarán un servicio de validación de registros y de firma electrónica con lo cual podremos terminar de confirmar si la firma de un fichero es correcta.

bmfranky 06-02-2025 14:04:49

Cita:

Empezado por razorxxx (Mensaje 561782)
Me confirman por mail desde VeriFactu que van a publicar en breve una nueva versión de la documentación de firma. Por un lado, explicitarán que se pueden usar algoritmos de firma superior al SHA256 y se realizan una serie de recomendaciones. Por otro lado, se corregirán los ficheros de ejemplo cambiando de sum:RegistroAlta a sum1:RegistroAlta. Así que interpreto que SHA1 ya no será válido.

Con la línea que les puse en mi anterior post sobre firmar con AutoFirma me han dicho que casi seguro que si la web valide.redsara.es la da por buena, entonces será válida. Pero que, no obstante, en las próximas semanas publicarán un servicio de validación de registros y de firma electrónica con lo cual podremos terminar de confirmar si la firma de un fichero es correcta.

Pues, nada a esperar se ha dicho, gracias.
La verdad es que me da como ok, pero por si acaso.

mmm 01-07-2025 11:47:05

Verifactu con autofirma
 
Buenos días

Viendo la documentación el nodo <Signature> debe encontrarse en cada nodo de RegistroAlta o RegistroAnulacion ¿Como estáis resolviendo el poder firmar cada nodo y no el xml completo con autofirma?

Opción1. Generar diferentes xml por cada registro de facturación (RegistroAlta o RegistroAnulacion) y luego juntarlo en un único xml.
Lo he probado y da errores de validación de firma ya que añade a cada xml la cabecera
<?xml version="1.0" encoding="UTF-8"?>
¿Conocéis la forma con autofirma de que no lo añada?

Opción2. Generar un único xml y firmar cada nodo de RegistroAlta o RegistroAnulacion
¿Cómo se podría hacer con autofirma?

Gracias

bmfranky 02-07-2025 16:57:30

Cita:

Empezado por mmm (Mensaje 565962)
Buenos días

Viendo la documentación el nodo <Signature> debe encontrarse en cada nodo de RegistroAlta o RegistroAnulacion ¿Como estáis resolviendo el poder firmar cada nodo y no el xml completo con autofirma?

Opción1. Generar diferentes xml por cada registro de facturación (RegistroAlta o RegistroAnulacion) y luego juntarlo en un único xml.
Lo he probado y da errores de validación de firma ya que añade a cada xml la cabecera
<?xml version="1.0" encoding="UTF-8"?>
¿Conocéis la forma con autofirma de que no lo añada?

Opción2. Generar un único xml y firmar cada nodo de RegistroAlta o RegistroAnulacion
¿Cómo se podría hacer con autofirma?

Gracias

Hola, los xml, que se firman son unicamente los de alta y baja, que se guardan en el modo no Veri*Factu, de momento no hay que encolarlos para nada, solo guardarlos completos.

fmxsg 16-10-2025 08:59:16

Hola! Estoy usando esta librería pero no consigo que me firme dentro del Evento, siempre lo hace en RegistroEvento. Lo has conseguido hacer de alguna manera?


La franja horaria es GMT +2. Ahora son las 20:58:11.

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