Página 8 de 18
Re: Codigo Fuente en Delphi para Timbrar (TimbreFiscal.mx)
Publicado: Vie Mar 04, 2011 12:57 pm
por EJSG
DADO escribió:
De hecho puedes abrir el PEM en el bloc de notas (recomendado) para que veas la diferencia. Convertir de base64 a PEM y viceversa es simple.
Perfecto, pero entonces, con mi archivo PEM, que string voy a generar, el Certificado o la Llave en base 64? Y no voy a necesitar la otra string?
Re: Codigo Fuente en Delphi para Timbrar (TimbreFiscal.mx)
Publicado: Vie Mar 04, 2011 1:08 pm
por EJSG
EJSG escribió:
Perfecto, pero entonces, con mi archivo PEM, que string voy a generar, el Certificado o la Llave en base 64? Y no voy a necesitar la otra string?
Sorry, ya lo revise y si tengo lo necesario para generar las 2 strings base 64. Muchas gracias.
Re: Codigo Fuente en Delphi para Timbrar (TimbreFiscal.mx)
Publicado: Sab Mar 05, 2011 10:29 am
por poliman
Hola DADO.
En el codigo que vendes de Delphi, ¿ hay alguna funcion que permita obtener la cadena con la que se formara el contenido de el CBB una vez obtenido el XML timbrado ?.
Me refiero a esta:
?re=XAXX010101000&rr=XAXX010101000&tt=1234567890.123456&id=ad662d33-6934-459c-a128-BDf0393f0f44
Muchas gracias.
Re: Codigo Fuente en Delphi para Timbrar (TimbreFiscal.mx)
Publicado: Sab Mar 05, 2011 1:24 pm
por Dado
poliman escribió:Hola DADO.
En el codigo que vendes de Delphi, ¿ hay alguna funcion que permita obtener la cadena con la que se formara el contenido de el CBB una vez obtenido el XML timbrado ?.
Me refiero a esta:
?re=XAXX010101000&rr=XAXX010101000&tt=1234567890.123456&id=ad662d33-6934-459c-a128-BDf0393f0f44
Muchas gracias.
No tengo una funcion tal cual.
Tengo la funcion que va "mas alla", le pasas los RFC, el total y el UUID y te devuelve el codigo de barras QRCode
La funcion se encuentra en la unidad cfdQRCode que es parte del Modulo Opcional de PDF que se vende por separado del Modulo Basico
Código: Seleccionar todo
procedure TCodigoDeBarras.QRCodeBMP(RFCEmisor,RFCReceptor,Total,UUID : string);
Si tienes solo el modulo basico es facil crear una funcion como la pides :
Código: Seleccionar todo
if CFD.TieneTimbre then //Importante primero revisar si tiene timbre
cadena := '?re=' + CFD.Datos.Emisor.RFC ...+CFD.Datos.Receptor.RFC.....+...Timbre.Datos.UUID +......etc
Re: Codigo Fuente en Delphi para Timbrar (TimbreFiscal.mx)
Publicado: Sab Mar 05, 2011 1:27 pm
por poliman
Muchas gracias por tu informacion.
Re: Codigo Fuente en Delphi para Timbrar (TimbreFiscal.mx)
Publicado: Dom Mar 06, 2011 8:32 am
por EJSG
Hola Dado, avanzando con la implementacion de la version Febrero 2011, me encontre que anteriormente usabamos el Modulus para daterminar si el certificado y la llave eran pareja... existe algo en esta version para este fin? Muchas gracias y saludos.
Re: Codigo Fuente en Delphi para Timbrar (TimbreFiscal.mx)
Publicado: Dom Mar 06, 2011 9:05 am
por Dado
EJSG escribió:Hola Dado, avanzando con la implementacion de la version Febrero 2011, me encontre que anteriormente usabamos el Modulus para daterminar si el certificado y la llave eran pareja... existe algo en esta version para este fin? Muchas gracias y saludos.
Aqui hay varios puntos interesantes.
El "modulus" no es otra cosa que la "Llave publica", son lo mismo*
En la unidad cfdCore, en el procedimiento de sellado se hace esa validacion :
Código: Seleccionar todo
if Cer.PublicKeyTxt <> Key.PublicKeyTxt then
begin Result := 'El Certificado y la Llave no se corresponden'; exit; end;
Como ves es muy facil revisar si son pareja, solo comparas la propiedad PublicKey
*solo por comentarte, tarde facil como una semana en descubrir esto de que modulus=public key, OpenSSL no tiene precisamente la mejor documentacion.......y despues de descubrirlo tarde otro par de dias en IMPLEMENTAR la propiedad PublicKeyTxt para el certificado y la llave.....disculpa el comentario, pero solo de acordarme....

Re: Codigo Fuente en Delphi para Timbrar (TimbreFiscal.mx)
Publicado: Dom Mar 06, 2011 9:22 am
por poliman
Hola Dado.
Tengo Delphi 2010 y Windows 7 64 bits.
Por alguna extraña razon solo puedo guardar el CFD una vez timbrado de la siguiente forma, utilizando un dialogo para guardarlo:
Código: Seleccionar todo
// Insertamos el timbre en el CFD
Timbre.InsertaComplemento(CFD);
if dlgSave.Execute then
begin
CFD.SaveToFile(dlgSave.FileName);
end;
No me funciona de la forma que tu lo tienes y me gustaria ver si se puede utilizar solo indicando la ruta:
He intentado de diferentes formas (no funcionaron):
Cambiando el tipo de datos de String a AnsiString en el procedimiento de Guardar en cfdcore (tampoco funciona):
Código: Seleccionar todo
procedure SaveToFile(FileName: AnsiString);
procedure TCFD.SaveToFile(FileName: AnsiString);
begin
XMLDoc.SaveToFile(FileName);
end;
Y solo funciona utilizando el SaveDialog.
Muchas gracias.
Re: Codigo Fuente en Delphi para Timbrar (TimbreFiscal.mx)
Publicado: Dom Mar 06, 2011 9:37 am
por EJSG
DADO escribió:Como ves es muy facil revisar si son pareja, solo comparas la propiedad PublicKey
Excelente Dado, muchas gracias. Aprovecho para felicitarte por esta nueva version, pues realmente esta muy elegante y bien estructurada, valio la pena el esfuerzo que realizaste para desarrollarla y ahora el mio en implementarla. Saludos.
Re: Codigo Fuente en Delphi para Timbrar (TimbreFiscal.mx)
Publicado: Dom Mar 06, 2011 11:56 am
por spaniaguag
Poliman:
Tu problema para guardar podría ser windows 7, ya que no permite guardar en raiz de C:, intentalo en otra ruta.