Club Delphi  
    Paypal   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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-09-2011
vicvil vicvil is offline
Miembro
 
Registrado: may 2003
Ubicación: Chile
Posts: 160
Poder: 24
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
  #2  
Antiguo 12-09-2011
ebeltete ebeltete is offline
Miembro
 
Registrado: may 2003
Posts: 238
Poder: 24
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
  #3  
Antiguo 12-09-2011
vicvil vicvil is offline
Miembro
 
Registrado: may 2003
Ubicación: Chile
Posts: 160
Poder: 24
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
  #4  
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
  #5  
Antiguo 03-10-2011
vicvil vicvil is offline
Miembro
 
Registrado: may 2003
Ubicación: Chile
Posts: 160
Poder: 24
vicvil Va por buen camino
Alguien puede decirme si esto se puede hacer con OpenSsl???

<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<Reference URI="#F60T33">
<Transforms>
<Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue>hlmQtu/AyjUjTDhM3852wvRCr8w=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>JG1Ig0pvSIH85kIKGRZUjkyX6CNaY08Y94j4UegTgDe8+wl61GzqjdR1rfOK9BGn93AMOo6aiAgolW0k/XklNVtM/ZzpNNS3d/fYVa1q509mAMSXbelxSM3bjoa7H6Wzd/mV1PpQ8zK5gw7mgMMP4IKxHyS92G81GEguSmzcQmA=</SignatureValue>
<KeyInfo>
<KeyValue>
<RSAKeyValue>
<Modulus>
tNEknkb1kHiD1OOAWlLKkcH/UP5UGa6V6MYso++JB+vYMg2OXFROAF7G8BNFFPQx
iuS/7y1azZljN2xq+bW3bAou1bW2ij7fxSXWTJYFZMAyndbLyGHM1e3nVmwpgEpx
BHhZzPvwLb55st1wceuKjs2Ontb13J33sUb7bbJMWh0=
</Modulus>
<Exponent>
AQAB
</Exponent>
</RSAKeyValue>
</KeyValue>
<X509Data>
<X509Certificate>MIIEgjCCA+ugAwIBAgIEAQAApzANBgkqhkiG9w0BAQUFADCBtTELMAkGA1UEBhMC
Q0wxHTAbBgNVBAgUFFJlZ2lvbiBNZXRyb3BvbGl0YW5hMREwDwYDVQQHFAhTYW50
aWFnbzEUMBIGA1UEChQLRS1DRVJUQ0hJTEUxIDAeBgNVBAsUF0F1dG9yaWRhZCBD
ZXJ0aWZpY2Fkb3JhMRcwFQYDVQQDFA5FLUNFUlRDSElMRSBDQTEjMCEGCSqGSIb3
DQEJARYUZW1haWxAZS1jZXJ0Y2hpbGUuY2wwHhcNMDMxMDAxMTg1ODE1WhcNMDQw
OTMwMDAwMDAwWjCBuDELMAkGA1UEBhMCQ0wxFjAUBgNVBAgUDU1ldHJvcG9saXRh
bmExETAPBgNVBAcUCFNhbnRpYWdvMScwJQYDVQQKFB5TZXJ2aWNpbyBkZSBJbXB1
ZXN0b3MgSW50ZXJub3MxDzANBgNVBAsUBlBpc28gNDEjMCEGA1UEAxQaV2lsaWJh
bGRvIEdvbnphbGV6IENhYnJlcmExHzAdBgkqhkiG9w0BCQEWEHdnb256YWxlekBz
aWkuY2wwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALxZlVh1xr9sKQIBDF/6
Va+lsHQSG5AAmCWvtNTIOXN3E9EQCy7pOPHrDg6EusvoHyesZSKJbc0TnIFXZp78
q7mbdHijzKqvMmyvwbdP7KK8LQfwf84W4v9O8MJeUHlbJGlo5nFACrPAeTtONbHa
ReyzeMDv2EganNEDJc9c+UNfAgMBAAGjggGYMIIBlDAjBgNVHREEHDAaoBgGCCsG
AQQBwQEBoAwWCjA3ODgwNDQyLTQwCQYDVR0TBAIwADA8BgNVHR8ENTAzMDGgL6At
hitodHRwOi8vY3JsLmUtY2VydGNoaWxlLmNsL2UtY2VydGNoaWxlY2EuY3JsMCMG
A1UdEgQcMBqgGAYIKwYBBAHBAQKgDBYKOTY5MjgxODAtNTAfBgNVHSMEGDAWgBTg
KP3S4GBPs0brGsz1CJEHcjodCDCB0AYDVR0gBIHIMIHFMIHCBggrBgEEAcNSBTCB
tTAvBggrBgEFBQcCARYjaHR0cDovL3d3dy5lLWNlcnRjaGlsZS5jbC8yMDAwL0NQ
Uy8wgYEGCCsGAQUFBwICMHUac0VsIHRpdHVsYXIgaGEgc2lkbyB2YWxpZG8gZW4g
Zm9ybWEgcHJlc2VuY2lhbCwgcXVlZGFuZG8gZWwgQ2VydGlmaWNhZG8gcGFyYSB1
c28gdHJpYnV0YXJpbywgcGFnb3MsIGNvbWVyY2lvIHkgb3Ryb3MwCwYDVR0PBAQD
AgTwMA0GCSqGSIb3DQEBBQUAA4GBABMfCyJF0mNXcov8iEWvjGFyyPTsXwvsYbbk
OJ41wjaGOFMCInb4WY0ngM8BsDV22bGMs8oLyX7rVy16bGA8Z7WDUtYhoOM7mqXw
/Hrpqjh3JgAf8zqdzBdH/q6mAbdvq/yb04JHKWPC7fMFuBoeyVWAnhmuMZfReWQi
MUEHGGIW</X509Certificate>
</X509Data>
Responder Con Cita
  #6  
Antiguo 05-10-2011
ogonza ogonza is offline
Registrado
 
Registrado: jul 2006
Posts: 8
Poder: 0
ogonza Va por buen camino
VicVil Saludos ...

Está claro que lo que pides, no lo haces con OpenSSL sino mas bien con TXMLDocument o XML Binding de delphi. Hay un par de cosas que puedes hacer utilizando OpenSSL. Por ejemplo el Elemento <SignedInfo> es prácticamente lo mismo salvo por 2 cosas que debes incorporar el <Reference URI=....> que debe ser igual al atributo ID del documento que estas fimando y el <Digest Value> que es el resultado de aplicar un algoritmo a un grupo de datos en este caso el propio documento al que hace referencia el Reference URI anterior. Estos datos tienen la particularidad que deben estar en forma canónica y en este estado, es la entrada al algoritmo de cálculo que generará el Digest Value. Para hacer esto, existen unas librerías basadas en OpenSSL (No estoy autorizado para poner enlaces, pero busca en google con "Disi+Delphi" sin comillas en el primer enlace) con las que puedes realizarlo. Observa el segundo ejemplo en la lista del Enlace. Con lo anterior tienes tu <SignedInfo> compuesto.
El <SignedInfo> anterior debe ser "canonicalizado", para que sirva de entrada ahora no para el cálculo del DigestValue sino del <SignatureValue> propiamente tal (Esto supongo que también se puede hacer pero no he logrado que me acepten un EnvioDTE en el SII). Luego viene el elemento <KeyInfo> que debe ser completado con los datos de tu certificado provisto por alguna CA. Hasta aquí he llegado con mi desarrollo pero no he podido lograr que el servicio me acepte un documento completo, me lo rechaza invariablemente por Error en Firma.
Saludos,
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 16:08:23
Factura electronica richy08 Varios 4 17-12-2010 00:40:34
Factura Electrónica aig Varios 13 10-12-2010 17:12:44
factura electronica cmm07 Varios 4 02-04-2009 17:46:03
factura electronica spia Varios 2 22-02-2009 21:30:06


La franja horaria es GMT +2. Ahora son las 18:18:13.


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
Copyright 1996-2007 Club Delphi