Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-09-2011
vicvil vicvil is offline
Miembro
 
Registrado: may 2003
Ubicación: Chile
Posts: 157
Poder: 21
vicvil Va por buen camino
Factura electronica en Chile

A ver si alguien puede orientarme un poco en esto de la firma electronica.
Estoy creando un programa de facturacion electronica en Chile, y entre uno de los requerimientos para enviar el archivo es que obviamente se debe crear una firma electronica.
Para ello se tiene un string con datos sin espacios entre ellos que es el que tiene que ser firmado con una llave privada que entrega el SII (Servicio de Impuesto Interno), que la tengo guardada tanto en un archivo xml como tambien en un campo de mi base de datos.
Tengo Delphi 5 y agregue los componentes LockBox uno de los cuales es lbRSASSA que se supone sirve para firmar un string. Le asigno llave privada con el loadfromfile pero me envia un error "Invalid RSA key" y no se a que se puede deber. Podria usar el OpenSSL pero no se cual de todas las opciones tendría que usar.
Alguien puede orientarme con el componente LockBox o con el OpenSSL...
Responder Con Cita
  #2  
Antiguo 02-09-2011
jgutti jgutti is offline
Miembro
 
Registrado: may 2003
Posts: 189
Poder: 21
jgutti Va por buen camino
hola, desarrolle factura electronica en chile pero en java, para firmar debes comprar certificado digital a empresas proveedores de certificado digital como e-sing, ademas convertir la firma eléctronica a .pfx

Saludos, desde concepción Chile
Responder Con Cita
  #3  
Antiguo 02-09-2011
vicvil vicvil is offline
Miembro
 
Registrado: may 2003
Ubicación: Chile
Posts: 157
Poder: 21
vicvil Va por buen camino
Que tal jgutti.
Si eso lo tengo claro, ya tengo el certificado digital, pero el problema lo tengo en generar la firma. He visto una pagina de alguien que ayudo en la creación de la factura electronica de NIC Chile y ellos tienen los procedimientos para generar la firma y timbre totalmente libres pero está todo en java y este tiene procedimientos nativos para firmar y encriptar que no los tiene Delphi por lo menos en la versión 5
Responder Con Cita
  #4  
Antiguo 02-09-2011
Avatar de Young
Young Young is offline
Miembro
 
Registrado: abr 2006
Ubicación: San Felipe, Chile
Posts: 86
Poder: 18
Young Va por buen camino
Hola, al parecer el procedimiento que haces es el correcto, pero viendo el componente LbRSASSA, tiene un par de propiedades: HashMethod (hmMD5, hmSHA1) y KeySize (aks128, aks256, aks512, aks768, aks1024). Talvez por ahí va el problema.

Saludos.
Responder Con Cita
  #5  
Antiguo 02-09-2011
ogonza ogonza is offline
Registrado
 
Registrado: jul 2006
Posts: 8
Poder: 0
ogonza Va por buen camino
Factura electronica en Chile

Hola vicvil, Estoy también comenzando a desarrollar para facturación electrónica con el SII, puedes indicarme desde donde bajaste la librería que mencionas ??

Gracias de antemano y veamos si podemos ayudarnos en este tema.
Responder Con Cita
  #6  
Antiguo 02-09-2011
vicvil vicvil is offline
Miembro
 
Registrado: may 2003
Ubicación: Chile
Posts: 157
Poder: 21
vicvil Va por buen camino
Young, he probado con todos los formatos y aun me aparece el mismo error.
Responder Con Cita
  #7  
Antiguo 02-09-2011
vicvil vicvil is offline
Miembro
 
Registrado: may 2003
Ubicación: Chile
Posts: 157
Poder: 21
vicvil Va por buen camino
ogonza, buscalo en google por turbopower lockbox. Yo no lo tengo a mano en este momento si no te lo enviaria.
Bueno ogonza ya somos dos que vamos a sufrir con esto de la factura electronica, ya que del sii se puede esperar poca o nula ayuda y si llamas a la mesa de ayuda no cachan ni una. Podrian tener alguna asesoria.
Responder Con Cita
  #8  
Antiguo 02-09-2011
ogonza ogonza is offline
Registrado
 
Registrado: jul 2006
Posts: 8
Poder: 0
ogonza Va por buen camino
Ok vicvil tengo instalada la librería, veré algunos ejemplos para ver como funciona y te comento como me va. Saludos
Responder Con Cita
  #9  
Antiguo 02-09-2011
jgutti jgutti is offline
Miembro
 
Registrado: may 2003
Posts: 189
Poder: 21
jgutti Va por buen camino
Vicvil, otra alternativa es utilizar generar el xml desde delphi y firmarlo con java
saludos
jgutti
Responder Con Cita
  #10  
Antiguo 02-09-2011
vicvil vicvil is offline
Miembro
 
Registrado: may 2003
Ubicación: Chile
Posts: 157
Poder: 21
vicvil Va por buen camino
jguti, la idea es hacerlo en Delphi pero como ultima alternativa buscaré la forma de hacerlo asi, ya lo habia pensado pero el problema que no cacho mucho java y de donde sacar librerias funcionales.
Responder Con Cita
  #11  
Antiguo 05-09-2011
vicvil vicvil is offline
Miembro
 
Registrado: may 2003
Ubicación: Chile
Posts: 157
Poder: 21
vicvil Va por buen camino
ogonza has podido ver algo?
Responder Con Cita
  #12  
Antiguo 05-09-2011
ogonza ogonza is offline
Registrado
 
Registrado: jul 2006
Posts: 8
Poder: 0
ogonza Va por buen camino
Bajé la librería LockBox versión 2.07 (la mas reciente no logré instalarla) y probé el ejemplo que permite obtener de digest value del texto previo a firmar, no he llegado aún a la parte de la firma. Estoy intentando ver cuál es el componente adecuado. No tengo experiencia en firmas electrónicas y demases, así es que estoy dando recién los primeros pasos.

Saludos,
Responder Con Cita
  #13  
Antiguo 06-09-2011
vicvil vicvil is offline
Miembro
 
Registrado: may 2003
Ubicación: Chile
Posts: 157
Poder: 21
vicvil Va por buen camino
El componente para firmar es el LbRSASSA, pero el problema está que el SII pide que se le pase la llave privada de este tipo

-----BEGIN RSA PRIVATE KEY-----
MIIBOwIBAAJBANRXX9m8NL+5eBkfBPYeUbHZwuNxlK3Vri+aAcZeBnABfz3QhFzQ
x/2xCiENEFeIyBmxboZA3wolc1c7IBvj3GECAQMCQQCNj5U70s3VJlAQv1ikFDZ2
kSyXoQ3JOR7KZqvZlARKqnNKkeY0pGEHsgu2bjdTDzaF/7uSAyeHMPDpTGmfnxCr
AiEA6e35JaRkQRHTYfOcTuLib6lcLMHmtRlLuP+yuQqkEjECIQDoX/yFaXX1YFKW
m8tueA+Gp1WoaVVuphBQ+ZXIodExMQIhAJvz+25tmCthN5aiaDSXQZ/GPXMr7yNm
MntVIdCxwrbLAiEAmuqoWPD5TkA3DxKHnvq1BG+OcEY49G61i1EOhcE2IMsCIQC9
ur75PCa+Gf7Xl6YjvHidtf+mIe1NuBFdMnVkkdW7Yg==
-----END RSA PRIVATE KEY-----

pero cuando le paso este valor me manda el error Invalid private key.
Responder Con Cita
  #14  
Antiguo 07-09-2011
ogonza ogonza is offline
Registrado
 
Registrado: jul 2006
Posts: 8
Poder: 0
ogonza Va por buen camino
Vicvil

Tengo la impresión de que el formato PEM que utilizas no es el adecuado para el componente lbRSASSA. En los ejemplos que he visto utilizan un llave con extensión .cer. Hice la prueba pero falla por Invalid Asymmetric Key.

No tengo permitido colocar enlaces, pero haz una búsqueda en google (cl) con la siguiente consulta "ASN.1 lockbox" sin las comillas y mira lo que aparece en la segunda respuesta.

Saludos,
Responder Con Cita
  #15  
Antiguo 07-09-2011
ogonza ogonza is offline
Registrado
 
Registrado: jul 2006
Posts: 8
Poder: 0
ogonza Va por buen camino
Vicvil, con Open SSL cambié de formato PEM a DER el cual si lee el componente que estamos utilizando: El formato que utilicé es:
rsa -inform PEM -outform DER -in privkey.pem -out privkey.derpero al intentar firmar un texto ( mLbRSASSA.SignString('sign this message');
) me arroja Division by zero
Responder Con Cita
  #16  
Antiguo 07-09-2011
ogonza ogonza is offline
Registrado
 
Registrado: jul 2006
Posts: 8
Poder: 0
ogonza Va por buen camino
Existe un documento en la página de CryptoSys (quienes proveen unas librerías para esto), que está bastante claro Lo he seguido pero no logro conseguir firmar el documento no se como hacerlo, la página muestra muchísimo código para VB, pero no se como adaptarlo a Delphi claro que no es gratis, pero puedes echarle una mirada a ver si te ayuda.
Responder Con Cita
  #17  
Antiguo 07-09-2011
vicvil vicvil is offline
Miembro
 
Registrado: may 2003
Ubicación: Chile
Posts: 157
Poder: 21
vicvil Va por buen camino
ogonza parece que hay que hacer varios cambios a los archivos para poder usar el lockbox, asi que parece que será mejor descartar estos componentes y usar algo mas directo.
En este momento estoy viendo unas librerias para Delphi llamada GnuWin32 y tambien un par de archivos llamados OpenSSLUtils.pas que parece son mas directos para usar. Estoy recien revisandolos asi que no te puedo decir si funcionan bien o no.
Responder Con Cita
  #18  
Antiguo 12-09-2011
ebeltete ebeltete is offline
Miembro
 
Registrado: may 2003
Posts: 236
Poder: 21
ebeltete Va por buen camino
Hola Vicvil y ogonza, soy de Uruguay y aqui acaban de lanzar una experiencia piloto de E-FACTURA, es algo que se va a venir, seria bueno poder volcar toda la informacion posible para que podamos resolver estos problemitas. Saludos y gracias
Responder Con Cita
  #19  
Antiguo 12-09-2011
vicvil vicvil is offline
Miembro
 
Registrado: may 2003
Ubicación: Chile
Posts: 157
Poder: 21
vicvil Va por buen camino
ebeltete, bueno no es mucho lo que te puedo aportar por el momento porque estoy recien empezando con esto y es nula la ayuda de la entidad estatal aunque ya llevan varios años con la factura electronica pero solo la han implementado en las empresas grandes.
Tendrás que informarte bien como serán los archivos que se generarán allá, si se usará Sha1 o MD5, RSA o DSA etc.
Te sugiero veas el programa OPenSSL, que es gratuito y facil de implementar con delphi (con ShellExecute).
Yo por el momento logré firmar una parte del archivo con él, ahora lo que me falta es calcular la canonizacion y firmar usando la llave de mi certificado, que es lo que me tiene estancado por el momento.
Responder Con Cita
  #20  
Antiguo 13-09-2011
ogonza ogonza is offline
Registrado
 
Registrado: jul 2006
Posts: 8
Poder: 0
ogonza Va por buen camino
Bienvenido al club. Al igual que VicVil, es poco lo que conozco sobre el tema. Pero a modo general te puedo dar algunos consejos. Intenta tener muy claro los conceptos relacionados con la facturación electrónica. Lee cuidadosamente los instructivos que puedas tener disponibles en el organismo de Impuestos de Uruguay (supongo que desarrollarás para allá). Acá como se comenta mas arriba el apoyo del Servicio de Impuestos, es nulo, ellos tienen un grupo de empresas a quienes tienen certificadas a los que terminan mandandote cuando uno insiste mucho con alguna pregunta (por cierto estas empresas se hacen pagar). Cuando uno es nuevo en alguna materia, suele dar pasos equivocados, al menos me pasa a menudo. Si estas pensando en comprar una librería o componente que te ayude para los procesos de firma, no pierdas de vista que sus trial, son normalmente 30 días y en esto 30 días se pasan volando, comienza a utilizarlas una vez que tengas claro lo que debes hacer. Entre componentes y librerías que he probado Están las Chilkat y Cryptosys la primera tiene muchos ejemplos en Delphi, pero uno se desgasta mucho cuando no tiene claro que es lo que requiere. La segunda tiene buena documentación y un desarrollo completo para el caso de Chile, pero todas las rutinas están en VB y el desgaste de transformar de VB (u otro lenguaje) a Delphi también es importante. He leído buenos comentarios de OpenSSL, pero no lo he atacado (todavía), Ahora que me quedé sin trial de los componentes que estaba ocupando tendré que atacarlos también.
Finalmente hay 2 cosas que tienes que hacer (imagino) si o sí, que son el calculo del digest y la firma propiamente tal, sobre que grupos de datos debes determinarlo tu de acuerdo a las exigencias de tú país, todas las experiencias que he leido son distintas. Para ello alcancé a hacerme unas rutinas con Chilkat que te las puedo enviar. Escríbeme si eso te sirve no estoy autorizado para colocar código directo. Te insisto lee cuidadosamente los requisitos definidos para la Factura Electrónica en Uruguay. Saludos y buena suerte.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
xml+xsl a pdf(Factura Electronica) jgutti Varios 4 21-02-2012 17:08:23
Factura electronica richy08 Varios 4 17-12-2010 01:40:34
Factura Electrónica aig Varios 13 10-12-2010 18:12:44
factura electronica cmm07 Varios 4 02-04-2009 18:46:03
factura electronica spia Varios 2 22-02-2009 22:30:06


La franja horaria es GMT +2. Ahora son las 19:22:08.


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