Imagen

DESCARGA SOFTWARE PARA FACTURA ELECTRONICA DE AQUI.
Facturacion, Validacion, Addendas, Librerias de programacion, etc.


CARTA PORTE V3.1

ECODEX TIENE ESTOS NUEVOS DATOS DE CONTACTO :
Comercializacion y Ventas - Evelia Vicke evicke@ecodex.com.mx 33-16-03-03-48
Soporte - Humberto Guerrero soporte@ecodex.com.mx 33-34-90-46-03


.

SAT: El sello CFD es Inválido el sello debe estar en SHA1

La Razon de ser de este sitio, aqui va a ver anuncios, comentarios dudas y quejas de este programa de validacion de Comprobantes Fiscales Digitales.
Avatar de Usuario
Dado
Mensajes: 15981
Registrado: Mar Jul 06, 2010 7:56 pm

Re: SAT: El sello CFD es Inválido el sello debe estar en SHA

Mensaje por Dado »

Eloy escribió:Buen dia a todos

Yo tambien tengo el mismo problema con el cambio de la digestion SHA1, yo tengo el FACTURAE obtenido en mercado libre, hace un tiempo pregunte sobre los impuestos locales que esos ya quedaron pero ahora tengo el problema del SHA1, en comentarios anteriores pones que solo se deben reemplazar una linea en el sello.pas EVP_SignInit(@mdctx,EVP_md5()) por lo siguiente

if Now<EncodeDate(2011,1,1) then
EVP_SignInit(@mdctx,EVP_md5())
else
EVP_SignInit(@mdctx,EVP_sha1());


Les agradeceria que me hecharan la mano ya estoy desesperado
les anexo un XML de ejemplo que segun yo ya generado con el SHA1 y en el VALIDACFD y el Sat me marca que el sello no es valido
De antemano muchas gracias
El eror no esta en MD5 / SHA1, tu error esta en la formacion de la cadena.

Comentas que hiciste cambios para implementar los impuestos locales, revisa que los datos del imp.local se esten insertando correctamente en la cadena original.
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
Eloy
Mensajes: 12
Registrado: Jue Ene 06, 2011 10:23 am

Re: SAT: El sello CFD es Inválido el sello debe estar en SHA

Mensaje por Eloy »

Antes de hacer el cambio a SHA1 si me estaba validando el sello correctamente en VALIDACFD y en la del SAT Valide una de Diciembre con MD5 y no me da problemas

en el VALIDACFD los xml de enero en adelante no me marca sello invalido solo en el SAT e hice un recibo de honorarios ya con el SHA1 y ya el VALIDACFD me

marca sello invalido igual q el SAT, y si inserta en la cadena el impuesto local incluso compare la cadena que me da el validacfd y lo re-sello para ver que diferencias habia y no encontre ninguna

pero igual forma lo voy a segui revisando, se agradece tus comentarios, si por ahi me pudieras ayudar que mas pudiera checar gracias.
Eloy
Mensajes: 12
Registrado: Jue Ene 06, 2011 10:23 am

Re: SAT: El sello CFD es Inválido el sello debe estar en SHA

Mensaje por Eloy »

Dado buen día

te agradeceria de antemano si me podrias ayudar que estoy haciendo mal, cuando re-sello el XML en el VALIDACFD sale bien

y comparo la cadena original y no veo diferencia alguna. Esta es la cadena que estoy generando

||2.0|14|2011-04-18T23:21:49|405762|2010|ingreso|Pago en una sola exhibicion|5956.68|5500.00|VEBE770703BQ6|ELOY VELAZQUEZ BELTRAN|FAROLITO|38|OTRA NO ESPECIFICADA EN EL CATALOGO|TEPIC|TEPIC|NAYARIT|México|63506|ENA831219N64|EMBOTELLADORA DEL NAYAR S.A DE C.V.|AV. INSURGENTES|1100 OTE|LLANITOS|TEPIC|NAYARIT|México|63170|1|--|SERVICIOS PRESTADOS DE SISTEMAS PROYECTO ROUTE TO MARKET|5956.68|5956.68|IVA|635.38|ISR|595.67|1231.05|IVA|16.00|953.07|953.07|1.0|178.70|0.00|ICED|3.00|178.70||

Mas sin embargo me marca sello invalido, te vuelvo anexar un xml y la parte donde agrego la anexo el complemento en la generación de la cadena original

if Complemento.ChildNodes.Count>0 then
with Complemento do
begin
if ChildNodes[0].NodeName = 'implocal:ImpuestosLocales' then
begin
AgregaDato(ChildNodes[0].Attributes['version']);
AgregaDato(ChildNodes[0].Attributes['TotaldeRetenciones']);
AgregaDato(ChildNodes[0].Attributes['TotaldeTraslados']);

if ChildNodes[0].ChildNodes[0].NodeName = 'implocal:RetencionesLocales' then
begin
AgregaDato(ChildNodes[0].ChildNodes[0].Attributes['ImpLocRetenido']);
AgregaDato(ChildNodes[0].ChildNodes[0].Attributes['TasadeRetencion']);
AgregaDato(ChildNodes[0].ChildNodes[0].Attributes['Importe']);
end;
end;
end; {with Complemento}

AgregaDato(pipe);
end; {with CFD}

Esto donde se genera el XML GeneraXMLRECI(FolioFactura : integer;SerieFact :String);
El Encabezado
XMLDoc.XML.Text := '<?xml version="1.0" encoding="UTF-8" ?><Comprobante xmlns="http://www.sat.gob.mx/cfd/2"></Comprobante>';
XMLDoc.Active := True;
CFD := GetComprobante(XMLDoc);
with CFD do
begin
SetAttribute('xmlns:xsi','http://www.w3.org/2001/XMLSchema-instance');
DeclareNamespace('implocal','http://www.sat.gob.mx/implocal');
SetAttribute('xsi:schemaLocation','http://www.sat.gob.mx/cfd/2 http://www.sat.gob.mx/sitio_internet/cfd/2/cfdv2.xsd http://www.sat.gob.mx/implocal http://www.sat.gob.mx/sitio_internet/cf ... plocal.xsd');

Version := '2.0';
etc..

y aqui llego para insertar el impuesto local
if Frm_Cap_REcibo.Qry_Principal.FieldByName('IMP_CED').AsFloat >0.00 then
begin
with Complemento.AddChild('implocal:ImpuestosLocales') do begin
SetAttribute('version','1.0');
SetAttribute('TotaldeRetenciones',FloatToStrF(Frm_Cap_REcibo.Qry_Principal.FieldByName('IMP_CED').AsFloat,ffFixed,10,2));
SetAttribute('TotaldeTraslados','0.00');
with AddChild('implocal:RetencionesLocales') do begin
SetAttribute('ImpLocRetenido','ICED');
SetAttribute('TasadeRetencion',FloatToStrF(Frm_Cap_REcibo.Qry_Principal.FieldByName('POR_IMPC').AsFloat,ffFixed,10,2));
SetAttribute('Importe',FloatToStrF(Frm_Cap_REcibo.Qry_Principal.FieldByName('IMP_CED').AsFloat,ffFixed,10,2));
end;
end;

end; {Complemento}



Para no hacerla mas larga te envio el FacturaE.Pas y Sello.pas en la facturae divido la función GENERALXML en diferentes para ver si estoy haciendo una factura, un recibo de honorarios o nota de crédito
en este caso es la funcion GeneraXMLRECI(FolioFactura : integer;SerieFact :String);


DADO si requiero de tu apoyo hechame la mano e igual dime en cuanto me va salir hay que ser justo por el trabajo de cada quien, no puedo perder mas tiempo ya que tengo varios clientes q tienen el sistemas y siguen facturando y yo no dispongo en estos momentos de tiempo, ya que estoy trabajando para una sola empresa y no me deja mucho tiempo.

De antemano gracias


SALUDOS
Adjuntos
VEBE770703BQ6-14.xml
(3.35 KiB) Descargado 349 veces
Avatar de Usuario
Dado
Mensajes: 15981
Registrado: Mar Jul 06, 2010 7:56 pm

Re: SAT: El sello CFD es Inválido el sello debe estar en SHA

Mensaje por Dado »

Eloy escribió:Dado buen día

te agradeceria de antemano si me podrias ayudar que estoy haciendo mal, cuando re-sello el XML en el VALIDACFD sale bien

y comparo la cadena original y no veo diferencia alguna. Esta es la cadena que estoy generando
SALUDOS
Le di una revisada y todo parece estar correcto, es cierto, las cadenas son identicas pero no logro encontrar en donde esta la falla.

Curiosamente TAMPOCO lo esta sellando con MD5, cuando eso pasa el ValidaCFD lo detecta y te avisa.

Lo ultimo que se me ocurre es que la llave privada que procesa la rutina se haya echado a perder, vuelve a procesarla, fuera de eso no se me ocurre que pueda estar pasando.
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
Eloy
Mensajes: 12
Registrado: Jue Ene 06, 2011 10:23 am

Re: SAT: El sello CFD es Inválido el sello debe estar en SHA

Mensaje por Eloy »

Q tal DADO te refieres a volver a generar el archivo .pem o algo asi porque lo borre y volvi a cargar el certificado, pq lo hice ya con la instrucción -sha1,

es decir esta instrucción o te refieres ha que el archivo .key se halla dañado, pq en MD5 si me estaba generando bien el sello incluso los subi al validaCFD y me dio sello valido ,
ahora si que ya no se que hacer jeje

OpenSSL('pkcs8 -inform DER -in "' + Path + KeyFName + '" -passin pass:' + clave + ' -out "' +Path + 'pkey.key.pem"');
//Certificado - Inicio de Vigencia
OpenSSL('x509 -inform DER -in "' + Path + CertFName + '" -noout -startdate > "' + Path + 'IniciaVigencia.txt"');
//Certificado - Fin de Vigencia
OpenSSL('x509 -inform DER -in "' + Path + CertFName + '" -noout -enddate > "' +Path + 'FinVigencia.txt"');
//Certificado - No. de Serie
OpenSSL('x509 -inform DER -in "' + Path + CertFName + '" -noout -serial > "' +Path + 'Serial.txt"');
//Certificado - Expresarlo en base64
OpenSSL('x509 -inform DER -in "' + Path + CertFName + '" > "' + Path + 'Cert.txt"');
temp.SaveToFile(BatName);
ShellExecute(Self.Handle,PChar('Open'),PChar(BatName),nil,nil,SW_HIDE);
Delay(5000);

{$IFDEF sellodigitalbat}
//Crea sello.bat con los comandos para sellar la Cadena Original
temp.Clear;
// OpenSSL('dgst -md5 -sign "' + Path + 'pkey.key.pem" -out "' + ExePath + 'sello_md5.txt" "' + ExePath + 'cadenaoriginal.txt"');
OpenSSL('dgst -sha1 -sign "' + Path + 'pkey.key.pem" -out "' + ExePath + 'sello_md5.txt" "' + ExePath + 'cadenaoriginal.txt"');
OpenSSL('enc -base64 -in "' + ExePath + 'sello_md5.txt" -out "' + ExePath + 'sello.txt"');
temp.SaveToFile(ExePath + 'sello.bat');
{$ENDIF}
Eloy
Mensajes: 12
Registrado: Jue Ene 06, 2011 10:23 am

Re: SAT: El sello CFD es Inválido el sello debe estar en SHA

Mensaje por Eloy »

Q tal DADO

Fijate que reestaure los archivos dll que tenira respaldos asi como el OpenSSL y las DCU como el sello y le hice los cambios respectivos para sellador con el sha1

y quedo gracias, ya lo valide tando en ValidaCFD y en el del SAT

Gracias a Dios quedo jeje
Avatar de Usuario
Dado
Mensajes: 15981
Registrado: Mar Jul 06, 2010 7:56 pm

Re: SAT: El sello CFD es Inválido el sello debe estar en SHA

Mensaje por Dado »

Eloy escribió:Q tal DADO

Fijate que reestaure los archivos dll que tenira respaldos asi como el OpenSSL y las DCU como el sello y le hice los cambios respectivos para sellador con el sha1

y quedo gracias, ya lo valide tando en ValidaCFD y en el del SAT

Gracias a Dios quedo jeje
Que curioso, entonces fue una dll dañada.......

Gracias por regresar con la respuesta, estoy seguro que a mas de uno le va a ayudar por si tiene el mismo problema
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
MICLOER
Mensajes: 1
Registrado: Vie Jun 10, 2011 9:31 am

Re: SAT: El sello CFD es Inválido el sello debe estar en SHA

Mensaje por MICLOER »

io tengo la solucion para mayor informacion contactame a este mail de verdad no es necesario cancelar facturas. :D
Avatar de Usuario
Dado
Mensajes: 15981
Registrado: Mar Jul 06, 2010 7:56 pm

Re: SAT: El sello CFD es Inválido el sello debe estar en SHA

Mensaje por Dado »

MICLOER escribió:io tengo la solucion para mayor informacion contactame a este mail de verdad no es necesario cancelar facturas. :D
Y porque no compartes como es tu solucion aqui para que todos conozcamos que debemos hacer (siempre que no sea una solucion comercial, lo siento)
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
Cerrado