Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   Mexico - Como crear sellos en FACTURA ELECTRONICA.. (https://www.clubdelphi.com/foros/showthread.php?t=55372)

pcicom 15-04-2008 10:53:12

Mexico - Como crear sellos en FACTURA ELECTRONICA..
 
Saludos a todos..

He iniciado un proyecto nuevo en el cual requiero crear FACTURA-ELECTRONICA, creando el sello-digital de la FACTURA solo que no he encontrado la forma en como hacerlo, si alguien tiene conocimiento
del tema ya que no he encontrado nada para DELPHI..

Esta Factura Electronica es del SAT de Mexico..

El procedimiento se describe de la siguiente forma..
1. Obtener la cadena original

2.- De la cadena original obtener la digestión MD5

3.- A la digestión MD5 de la cadena original encriptarla usando la llave WEP

4.- Al resultado binario de la encripcion de la digestión MD5 de la cadena original convertirla a base64 hexadecimal para que pueda ser legible.

CADENA ORIGINAL
Código:

||A|1|2005-09-02T16:30:00|1|ISP900909Q88|Industrias del Sur Poniente, S.A. de C.V.|Alvaro Obregón|37|3|Col. Roma Norte|México|Cuauhtémoc|Distrito Federal|México|06700|Pino Suarez|23|Centro|Monterrey|Monterrey|Nuevo Léon|México|95460|CAUR390312S87|Rosa María Calderón Uriegas|Topochico|52|Jardines del Valle|Monterrey|Monterrey|Nuevo León|México|95465|10|Caja|Vasos decorados|20|200|1|pieza|Charola metálica|150|150|IVA|52.5||
OBTENER la DIGESTION MD5 <--- Este es el Resultado
Código:

8aa2b617944427353697e694a2e35a07

SELLO DIGITAL <-- Esto es lo que quiero obtener..
Código:

iYyIk1MtEPzTxY3h57kYJnEXNae9lvLMgAq3jGMePsDtEOF6XLWbrV2GL/2
TX00vP2+YsPN+5UmyRdzMLZGEfESiNQF9fotNbtA487dWnCf5pUu0ikV
pgHvpY7YoA4lB1D/JWc+zntkgW+Ig49WnlKyXi0LOlBOVuxckDb7EAx4=


Para mas Info en este Link

http://www.sat.gob.mx/sitio_internet...s/15_6522.htmlGracias...

boreg 08-05-2008 02:15:12

Espero que esto te ayude
 
Hola, encontre esta informacion sobre como se calcula el MD5, en esta otra explican lo de la encriptacion RSA pues es lo que menciona el link que
proporcinas. Espero te sea de ayuda esta informacion.

jourdan 19-03-2010 02:20:04

Hola a todos, alguien sabe como implementar la encriptacion RSA en delphi
Muchas gracias
Alejandro Jourdan

Casimiro Notevi 19-03-2010 02:33:03

Hola, te aconsejo que inicies un nuevo tema para esta pregunta.
También puedes hacer una búsqueda por clubdelphi, se ha tratado varias veces ese asunto :)

jourdan 19-03-2010 20:26:52

Muchas gracias

Dordixs 27-03-2010 02:31:30

Mexico Como crear sellos en FACTURA ELECTRONICA
 
Hola Foreros me decide abrir este tema para saber como se puede crear un estadio y/o insertar, mas detalladamente me encantaria insertar el Stamford Bridge para reemplazarlo por otro que no nos guste, espero puedan ayudarme y a despejar esta duda saludos ok

AzidRain 27-03-2010 18:32:07

Utiliza los componentes LockBox de Turbo Power, los puedes descargar aquí. Traen documentación y varios ejemplos, creo que es lo que necesitas.

alexsazu 13-10-2010 21:30:05

si necesitan informacion favor de contarse conmigo.. ya tengo hecho la factura electronica en delphi 2010

macmax 23-10-2010 20:33:11

pasar la llave privada a tlockbox
 
hola...
estoy intentado usar el componente lockbox pero no se como ponerle la llave privada.
tengo mi cadena original pero en que formato tiene que esta la llave privada.
si alguien puede ayudarme.

E=M*C^2 09-11-2010 06:29:03

Componente para factura electrónica
 
Quiere comentarte que estoy a punto de liberar una librería de clases que te permite de forma rápida y sencilla generar un CFD y CFDI y lo lo mejor de todo, es que son totalmente gratuitas.

Si quieres leer mas del tema puedes entrar a

electronicdocument.wordpress.com

Alexis De la Cr 10-11-2012 16:39:59

si puedieran eliminar este mensaje muchas gracias.

Alexis De la Cr 10-11-2012 16:42:45

Estimados compañeros. Tengo una duda con respecto al sello digital, y aunque este tema ya esta olvidado, es el que mas se acerca a la duda que tengo

en general para obtener el sello digital, en la version 2.0 o 2.2 hay que obtener la cadena original la cual la obtengo a traves de un XSLPageProducer

mediante el siguiente codigo
Código Delphi [-]
XSLPageProducer1.XMLData := XMLDoc3;
XSLPageProducer1.FileName:='lcadenaoriginal_2_0.xslt';
cadenaoriginal := XSLPageProducer1.Content;

despues hay que eliminar todos aquellos caracteres indeseados como son el Retorno de carro, el escape, los espacios antes y despues del pipe, etc, y se codifica en UTF8 mediante el sisguiente codigo

Código Delphi [-]
    cadenaoriginal := AnsiReplaceStr(cadenaoriginal,#13,'');
    cadenaoriginal := AnsiReplaceStr(cadenaoriginal,#10,'');
    cadenaoriginal := AnsiReplaceStr(cadenaoriginal,#8,'');
    cadenaoriginal := AnsiReplaceStr(cadenaoriginal,'  ','');
    cadenaoriginal := AnsiReplaceStr(cadenaoriginal,' |','|');
    cadenaoriginal := AnsiReplaceStr(cadenaoriginal,'| ','|');
    cadenaoriginal := UTF8Encode(cadenaoriginal);

apliacamos la encriptacion md5 con la llave privada en formato pem y al resultado le aplicacmos la encriptacion base64

Código Delphi [-]
    StrPCopy(inbuf,cadenaoriginal);
    InitOpenSSL;
    key:=LoadPrivateKey(llaveprivada,'');
    EVP_SignInit(@mdctx,EVP_md5());
    EVP_SignUpdate(@mdctx,@inbuf,StrLen(inbuf));
    EVP_SignFinal(@mdctx,@outbuf,Len,key);
  EVP_MD_CTX_cleanup(@mdctx);
  EVP_PKEY_free(key);;
    FreeOpenSSL;
    result := bintobase64(@outbuf,Len);

Hasta aqui todo bien, al menos eso creo, porque en su tiempo validaba los documentos xml generados en el sat y pasaba dicha validacion. En la actualidad dicho validador del SAT me marca error de que la version 2.0 no estaba vigente en la fecha de emision del comprobante, y por mas que le he movido a las fechas no logro hacerlo funcionar.

si hay algun error y algiuen lo detecta pues le agradeceria la ayuda.

Ahora bien que pasa con el sello en la version 3.2? es exactamente el mismo tratamiento excepto que en lugar de hacer la encriptacion md5, se hace con sha1? porque asi lo he intentado y el v alidador del sat me rechaza el sello de l documento, incluso con esta herramienta el sello sale distinto

http://solucionfactible.com/sfic/cap...rramientaSello


utilizo el siguiente codigo

Código Delphi [-]

     XSLPageProducer1.XMLData := XMLDoc3;
     XSLPageProducer1.FileName:='cadenaoriginal_3_2.xslt';
    cadenaoriginal := XSLPageProducer1.Content;

    cadenaoriginal := AnsiReplaceStr(cadenaoriginal,#13,'');
    cadenaoriginal := AnsiReplaceStr(cadenaoriginal,#10,'');
    cadenaoriginal := AnsiReplaceStr(cadenaoriginal,#8,'');
    cadenaoriginal := AnsiReplaceStr(cadenaoriginal,'  ','');
    cadenaoriginal := AnsiReplaceStr(cadenaoriginal,' |','|');
    cadenaoriginal := AnsiReplaceStr(cadenaoriginal,'| ','|');
    cadenaoriginal := UTF8Encode(cadenaoriginal);

    StrPCopy(inbuf,cadenaoriginal);
    InitOpenSSL;
    key:=LoadPrivateKey(llaveprivada,'');
    EVP_SignInit(@mdctx,EVP_sha1());
    EVP_SignUpdate(@mdctx,@inbuf,StrLen(inbuf));
    EVP_SignFinal(@mdctx,@outbuf,Len,key);
  EVP_MD_CTX_cleanup(@mdctx);
  EVP_PKEY_free(key);;
    FreeOpenSSL;
    result := bintobase64(@outbuf,Len);


muchas gracias por su tiempo, y por su ayuda en caso de aplicar

Alexis De la Cruz

AzidRain 10-11-2012 18:46:55

Te recomiendo que descargues los componentes de Bambucode, son código abierto y su creador personalmente lo ha estado mejorando con ayuda de muchas otras personas y también te apoya con dudas. Es 100% Delphi y trae código fuente completo así como su correspondiente demo. En 5 minutos lo echas a andar. Lo puedes descargar aquí: http://www.bambucode.com/codigoabier...ica_delphi.php No se paga nada solo se pide que si puedes aportar algo al código lo hagas. Yo las estoy utilizando y sencillamente son estupendas.

Había otro proyecto por ahí que era libre al principio pero se volvio pago hace poco además de que no te daban el código.


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

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