Closed fdelapena closed 2 years ago
Hola @fdelapena Tienes algún XML firmado usando esta version de código? fdelapena:xmldsig-sha256
Para dejarlo como registro de cómo luce el XML firmado con SHA256
Hola @fdelapena Tienes algún XML firmado usando esta version de código?
Hola @JeanCarlosChavarriaHughes, muchas gracias, todavía no está probado.
Adjunto un XML firmado (sin estructura de comprobante, solo firma XAdES) con otro ejemplo firmado con (una herramienta externa, no con php todavía) con el tipo de estructura con resúmenes SHA256 que se intentaría lograr con este Pull Request, para que sirva como referencia:
Puedo tratar de probar el código de esta rama en unas horas, no tengo montado el sistema todavía en local.
Ok entiendo me avisas @fdelapena La idea es para validar si el xml firmado con estructura de comprobante pasa bien con el validador https://apis.gometa.org/validar/
Hola @fdelapena Logré poner un nuevo ambiente de la API Hacienda a correr con la versión de tu pull request. Todo se ve bien, Así es como se ve la validación. En general lo veo mejor de cómo estaba antes ya que solo aparece un error en lugar de dos.
Firma sin determinación, formato XAdES-BASELINE-B.
Subindicación: NO_CERTIFICATE_CHAIN_FOUND
Detalles de validación AdES:
ERROR: The certificate chain for signature is not trusted, it does not contain a trust anchor.
Fecha declarada de la firma: 2022-06-03 00:44:23 (hora UTC)
Fecha mínima probada de la existencia de la firma: 2022-06-03 00:56:55 (hora UTC)
Así se ve con la versión anterior al Pull Request.
Firma sin determinación, formato XAdES-BASELINE-B.
Subindicación: SIGNATURE_POLICY_NOT_AVAILABLE
Detalles de validación AdES:
ERROR: The signature policy is not available!
ERROR: The certificate chain for signature is not trusted, it does not contain a trust anchor.
Fecha declarada de la firma: 2019-07-12 16:34:42 (hora UTC)
Fecha mínima probada de la existencia de la firma: 2022-06-03 00:59:09 (hora UTC)
Las pruebas relevantes en DSS superaron la prueba. Se muestran pantallazos detallados:
En cuanto a EPES (Explicit Policy Electronic Signature), al no estar disponible el PDF en línea (la URL está caída desde el evento de Conti), esa parte no valida bien en el validador DSS (signature policy not available) porque no logra descargar el PDF para calcular si el hash es correcto, salvo que se aplique el parche offline para que reconozca esta URL proporcionado una copia local y en ese caso también valida correctamente el hash proporcionado.
El Signatures Conformance Checker de ETSI supera la prueba para la versión de XAdES de la norma clásica (previa a Baseline):
Por lo que estructuralmente valida estructuralmente con respecto a la especificación ETSI TS 101 903 (XAdES). Este validador de estructura lo prueba contra la especificación de la v1.4.2.
Xolido también dice en las partes relevantes que está en orden:
Parece que todo fue bien y que el PR estaría listo. Muchas gracias @JeanCarlosChavarriaHughes :+1:.
Confirmado y Verificado.
Utiliza SHA2 en la política de firma y otros lugares. Actualiza el hash y la URL de la resolución a una URL de PDF válida (al menos antes de la situación de contingencia). En el README.md se agrega una URL de web.archive.org para que pueda acederse por ahora.