FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Firma Electronica con OpenSSL
Buenas noches, tengo un un problema con la firma digital para la facturación electrónica en linea, no entiendo a que parte del XML se refiere en el punto 6 del proceso de firmado https://siatinfo.impuestos.gob.bo/in.../firma-digital, genero la factura en XML hago el proceso de canonicalización del XML (c14n), tengo la llave privada y publica generada con OpenSSL a partir del certificado que me otorgan, no se de donde o en que parte esta la sección de la firma o a que se refiere
Este es el error que me devuelve al enviar la factura Código:
<mensajesList> <codigo>921</codigo> <descripcion>EL FIRMADO DEL XML ES INCORRECTO: Validacion Signature, false,</descripcion> </mensajesList> Proceso de Firmado A efectos de poder firmar un documento, es necesario disponer de una llave pública y una privada; tener implementado algoritmos de conversión a Base 64, canonicalización, SHA256 y RSA Sha256 V2 y seguir los siguientes pasos:
|
#2
|
||||
|
||||
Te diría que busques en los hilos de TicketBAI y Factura electrónica.
En ambos se firman XMLs y ahí puedes ver diferentes formas de firmarlos y diferentes componentes para hacerlo. Creo recordar que en alguno he visto algo de OpenSSL. También puedes encontrar algunos códigos de ejemplo, que te ayuden a empezar y aunque no sea exactamente lo que necesitas te pueden dar una guía.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
|||
|
|||
Muchas gracias, revisare TicketBAI y Factura electrónica, pero mi duda es más a que le llaman sección de la firma
|
#4
|
||||
|
||||
Cita:
Debemos enviar un XML y ese mismo fichero tiene que tener una sección de firma. El algoritmo debe ser SHA256 (igual que el tuyo) y en cuanto a las etiquetas que debe rellenar en la firma deben ser muy similares a las que tenemos que rellenar nosotros.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#5
|
|||
|
|||
Cita:
Gracias Neftali, se parece bastante similar, haré algunas pruebas con esa guia |
#6
|
|||
|
|||
Cita:
Saludos. Última edición por Neftali [Germán.Estévez] fecha: 28-03-2023 a las 14:57:43. Razón: Corregidos los links. |
#7
|
|||
|
|||
Cita:
Muchas gracias JCz, no es obligatorio lo del OpenSSL pero me parece la mejor opción, baje el ejemplo de proyectoacbr, y esta bien tiene toda la implementación de OpenSSL, también intente con las librerías DLL de Chilkat, pero no logre firmar o me falta implementar algunas cosas más en el envió, aun no provee Secure Black Box |
#8
|
|||
|
|||
Cita:
Espero te sirva de ayuda. |
#9
|
|||
|
|||
Cita:
|
#10
|
|||
|
|||
Estimado JCz, no dio, genere el código con Chilkat, todo va bien mando mi factura generada en XML, comienza el proceso hasta el momento que realiza la firma, hay sale "Failed" y termina no hay más información, tampoco encuentro soporte
|
#11
|
|||
|
|||
Cita:
es el mismo error que me da cuando genero manualmente la firma con el openssl saludos |
#12
|
|||
|
|||
Es posible que puedas pasar un XML válido, que haya sido aprobado por el SIAT? También el xml que lo generas.
|
#13
|
||||
|
||||
Cita:
No me carga el sitio web, pero con la serie de pasos que envías parece que debes de obtener en un string todo el nodo que contiene la firma y codificarlo en SHA256 y luego el nodo con el valor ya codificado en SHA256 debes de exportarlo a un .txt y luego hacer una digestión con OPENSSL y la llave privada en RSA SHA256 donde exportaras un archivo .bin y luego ese .bin codearlo a base 64 Algo así se hace en los webservice de hacienda en México y parece que es muy similar con ustedes. |
#14
|
|||
|
|||
Cita:
Muchas gracias pgranados, si hice lo que me sugieres tengo la parte de la factura que le saco el has256 y lo convierto en base64, el resultado obtenido lo pongo en la etiqueta DigestValue que genero el XML de signature con la configuración a ese le saco el SHA256 y lo encripto con RSA mediante el OpenSSL con la llave privada obteniendo el resultado lo codifico con base64 y lo pongo en la etiqueta SignatureValue y para finalizar relleno el X590Certificate con la llave publica, combino los 2 archivo XML de la factura con signature, verificando con XSD que no devuelve y procedo al envió dando el error "EL FIRMADO DEL XML ES INCORRECTO: Validacion Signature, false," de este XML obtengo el RSA+SHA256+Base64 para ponerla en SignatureValue, creo que el error esta en esta parte, no se si obtine de todo este fragmento o solo de la etiqueta "DigestValue" o de otra Código PHP:
este es el XML unido, validado con XSD y enviado a grandes rasgos Código PHP:
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Alguien con experiencia en firma electrónica de PDF? | starlet | Varios | 9 | 05-06-2017 19:52:30 |
Firma en factura electrónica facturaE | Galahad | Varios | 8 | 19-06-2016 01:45:14 |
Validar firma de factura electrónica (formato Facturae) | maro | Varios | 79 | 22-09-2015 10:45:17 |
problema con openssl | expertis | Varios | 1 | 11-10-2012 23:53:54 |
capturador firma electronica | elguille | Varios | 2 | 26-04-2011 09:16:10 |
|