Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #11  
Antiguo 28-03-2023
Avatar de pgranados
pgranados pgranados is offline
Miembro
 
Registrado: sep 2022
Ubicación: México
Posts: 266
Poder: 2
pgranados Va por buen camino
Cita:
Empezado por CrazySoft Ver Mensaje
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>
Muchas gracias por su colaboración de antemano



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:
  • Aplicar el algoritmo de canonicalización al documento XML, es decir realizar un procesamiento que permita obtener su forma canónica o se normalice el documento original.
  • Aplicara al resultado el algoritmo sha256 a objeto de obtener el HASH.
  • Obtener una cadena aplicando al anterior HASH el algoritmo Base64.
  • Adicionar las etiquetas de signature al XML.
  • Agregar a la etiqueta Digest Value el valor obtenido en el paso 4.
  • Tomar la sección de la firma y obtener un HASH del mismo aplicando el algoritmo SHA256.
  • Encriptar el HASH obtenido utilizando el algoritmo RSA SHA256 con la llave privada.
  • Aplicar a la cadena resultante el algoritmo Base64 para obtener una cadena.
  • Adicionar a la etiqueta de Signature Value la cadena anterior.
  • Finalmente colocar en la etiqueta X509 Certificate la llave publica.
  • Devolver el XML firmado.

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.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Alguien con experiencia en firma electrónica de PDF? starlet Varios 9 05-06-2017 18:52:30
Firma en factura electrónica facturaE Galahad Varios 8 19-06-2016 00:45:14
Validar firma de factura electrónica (formato Facturae) maro Varios 79 22-09-2015 09:45:17
problema con openssl expertis Varios 1 11-10-2012 22:53:54
capturador firma electronica elguille Varios 2 26-04-2011 08:16:10


La franja horaria es GMT +2. Ahora son las 03:11:47.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi