Probando lazarus con los comprobantes fiscales digitales del sat
#21
Escrito 06 abril 2010 - 10:44
Esto se va poniendo muy interesante
Salud OS
#22
Escrito 14 abril 2010 - 05:23
He buscado en estas librerías libeay pero, aunque al parecer están las funciones, no hay información mas que de encriptar...
¿A alguien se le ocurre algo?
#23
Escrito 21 abril 2010 - 05:11
Estoy estado trabajando con sus indicaciones, todas muy útiles, pero al generar mi cadena original me aparece así:
||2.0|A|1|2009-08-16T16:30:00|1|2009|ingreso|Una sola exhibición|350|5.25|397.25|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|15|52.5||
Como verán las vocales con acento no aparecen como tal, ¿me podrían orientar?, estoy trabajando con Delphi 2007 y los fuentes del último cfd.zip que se publicó.
#24
Escrito 21 abril 2010 - 05:24
#25
Escrito 21 abril 2010 - 05:49
var CadenaOriginal,CadenaUTF8: widestring; CadenaOriginal := '||2.0|A|1|2009-08-16T16:30:00|1|2009|ingreso|Una sola exhibición|350|5.25|..........'; CadenaUTF8 := UTF8Encode(CadenaOriginal);
Salud OS
Edito: No vi que esto esta en Lazarus, no tengo idea si también cuenta con esta función
#26
Escrito 22 abril 2010 - 08:15
Probé lo que me indicas, pero el problema persiste.
¿Mas ideas?
#27
Escrito 22 abril 2010 - 08:58
Yo tuve un problema similar para presentar la información en pantalla.
De acuerdo con el Anexo 20 el archivo XML que contiene la información del Comprobante Fiscal Digital debe ser codificado en UTF-8.
Sin embargo, los componentes estándar de Delphi (al menos en la versión 7) solamente soportan AnsiString, por lo tanto, cuando deseamos mostrar alguna cadena proveniente del XML en un Memo o con ShowMessage, se deben descodificar las cadenas con las funciones que te indica Egostar. En este caso utiliza UTF8Decode(CadenaOriginal)
Saludos
#28
Escrito 25 abril 2010 - 02:14
pero del sat no puedo descargar el Cer_Sello.zip
axesys lo indica como segundo paso
2. Esa cadena original se convierte a un sello digital usando unos archivos .cer, .key y una contraseña que están aquí
¿alguien lo puede compartirl?
gracias
#29
Escrito 25 abril 2010 - 02:18
También puede que sea porque puse mal el enlace este es el correcto
ftp2.sat.gob.mx/asistencia_servicio_ftp/publicaciones/solcedi/Cer_Sello.zip
No llevaba el http://ftp// del principio
Saludos
#30
Escrito 29 abril 2010 - 09:28
gracias axessys, ahora a ver como lo hago con delphi7
#31
Escrito 30 abril 2010 - 11:14
Por mi parte ando un poco desorientado, he leido mucho material y creo que lo único que he conseguido es mas desorientación. Por lo que entiendo lo único que se requiere es gerenar el Sello Digital de la cadena original, usando el certificado .cer proporcionado por el SAT.
La secuencia sería:
1. Generar la Cadena ||2.0|A|1|2009-08-16T16:30:00|1|....||
2. Pasar la cadena por una función UTF8 --> Cadena := funUTF8(Cadena);
3. Generar el RSA con encriptación MD5 --> Sello := RSAconMD5(Cadena, LlavePrivada);
4. Pasar el Sello por a Base64 Sello := Base64(Sello);
Hasta aquí todo bien. Pero al querer leer el archivo llave .key (o .key.pem), la rutina que sugieren utiliza una función de callback :
function cb(buffer: PChar; blength: integer; verify: integer; data: pointer): integer; cdecl;
y al usarla en la rutina :
result := PEM_read_bio_PrivateKey(keyfile, nil, @cb, self);
marca erroes :
[Error] Unit1.pas(104): Types of actual and formal var parameters must be identical
Alguna Sugerencia??
Gracias de Antemano
Ignacio Farías
ifarias@yahoo.com
#32
Escrito 04 mayo 2010 - 08:13
openssl pkcs8 -inform DER -in AAA010101AAA_Test.key -out AAA010101AAA.key.pem
openssl x509 -inform DER -in AAA010101AAA_Test.cer -out AAA010101AAA.cer.pem
gracias.
#33
Escrito 05 mayo 2010 - 10:08
Puedes encontrar ejemplos del uso de los comandos en la página siguiente
http://www.mkssoftwa...s/cmd_index.asp
espero y te sirva
Por mi parte estoy usando las indicaciones que nos hace felipep del www.clubdelphi.com donde abordan el mismo tema. http://www.clubdelph...ead.php?t=66807 Factura Electrónica en México
EL sube las rutinas (Sello.pas) con las cuales describe todo lo que se necesita hacer para la digestión, encriptación y generación del Sello.
Solo me queda la duda (al usar esas rutinas) en la cual al generar el Sello, lo genera bien, pero si intento generarlo de nuevo, me genera otro distinto, y si repito el proceso puede regresar uno nuevo o uno ya generado. Desconozco si esto sea válido.
Seguiremos trabajando en encontrar las respuestas.
Por mi parte estoy trabajando en generar el archivo XML para hacer pruebas con el validador del SAT, ahí nos daremos cuenta si vamos por buen camino.
Saludo
#34
Escrito 16 mayo 2010 - 09:52
2005-09-02T16:30:00
como se llama?
se que este also asi
año-dia-mes
como el que usa
Crear un puerto serie virtual
Enviado por admin el Sáb, 2010-04-03 22:09
http://delphi.jmrds.com/?q=node/54
como lo implemente en delphi con la T enmedio de el dia y la hora?
#35
Escrito 16 mayo 2010 - 10:13
hora si estoy bien guey.. .no entiendo el formato,
2005-09-02T16:30:00
como se llama?
se que este also asi
año-dia-mes
como el que usa
Crear un puerto serie virtual
Enviado por admin el Sáb, 2010-04-03 22:09
http://delphi.jmrds.com/?q=node/54
como lo implemente en delphi con la T enmedio de el dia y la hora?
Que tal Angel, puedes utilizar la función FormatDateTime().
procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage(FormatDateTime('yyyy-dd-mm"T"hh:nn:ss',Now)); end;
Salud OS
#36
Escrito 07 julio 2010 - 06:46
#38
Escrito 16 noviembre 2010 - 07:40
En este post encontrarás algunas pláticas informativas gratuitas sobre el tema
http://facturadigita...ra-electronica/
Aquí está la conferencia que dio el SAT cuando anuncio las reglas para el 2011.
http://facturadigita...rencia-del-sat/
Este es un programa donde se habló por mas de 2 horas sobre del tema
http://facturadigita...-en-radio-unam/
Y finalmente algunos videos en donde se explica a detalle todo lo relacionado con CFD
http://facturadigita...electronica-cfd
Espero te sean ayuda.
#39
Escrito 16 noviembre 2010 - 07:41
Si quieres leer mas del tema puedes entrar a
http://electronicdoc...t.wordpress.com
Bye
#40
Escrito 18 enero 2011 - 10:42
Esta versión incluye varias correcciones, como el que se pueda ejecutar varias veces porque antes no liberaba memoria y marcaba violaciones de acceso. Otra es un cambio para codificar en base64 usando bytes en lugar de cadenas porque sino se me regresaba incompleto el sello. Y uno más cuando se desifra con el algoritmo rsa ahora en lugar de usar arreglos fijos se usan dinamicos ya que si estaban fijos al aumentar los conceptos se regresaba mal el sello.
Tambien incluye para leer y escribir el xml con el sello, el numero y certificado público el cual se puede validar en esta aplicación del sat.
Saludos
Me ayudarias para sacarlo en lazarus para linux?