¿Entonces puedo resellar un comprobante? si lo selle originalmente como un certficado que no era(la FIEL) y lo envie al cliente, puedo entonces volver a sellar la misma factura y generar el comprobante ahora con el certificado correcto y volverla a mandar al cliente y decirle que esta ultima es la válida?? No tendrá repercusiones para el SAT esto si el cliente por error guarda las dos, o bien simplemente para el SAT la otra no cuenta como CFD ya que es una replica de la otra pero mal sellada?? te agradezco tus respuestas.mauricio escribió:Hola...
No puedo asegurártelo, pero el sentido común me dice, que los CFDs generados con la FIEL, simple y llanamente no son válidos pues no cumplen la legislación de sellar con un certificado especial para ellos, afortunadamente, si estas en la versión 2, solo es caso de resellar correctamente con el KEY de los sellos y ya se convierten en validos...
Avisame si necesitas ayuda para esto...
Saludos

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
.
Como saber si un certificado es FIEL o es de Sellos?
-
- Mensajes: 3
- Registrado: Mié Ene 05, 2011 4:26 pm
Re: Como saber si un certificado es FIEL o es de Sellos?
- costachica
- Mensajes: 18
- Registrado: Lun Ene 03, 2011 2:55 pm
Re: Como saber si un certificado es FIEL o es de Sellos?
Cual seria el procedimeinto correcto?, encontre un manual en el SAT pero no lo menciona totalmente mas que la parte final de la solicitud, tienes alguno mas completo?DADO escribió:Psssss, video de youtube.......no pos si.
- Dado
- Mensajes: 15980
- Registrado: Mar Jul 06, 2010 7:56 pm
Re: Como saber si un certificado es FIEL o es de Sellos?
En el SAT hay mucha informacion, pero todo es muy tecnico, realmente en donde deberias consultar el procedimiento en el Soporte Tecnico de quien hizo el programa de factura electronica.costachica escribió:Cual seria el procedimeinto correcto?, encontre un manual en el SAT pero no lo menciona totalmente mas que la parte final de la solicitud, tienes alguno mas completo?DADO escribió:Psssss, video de youtube.......no pos si.
Ahora que si es un fusil (pirata pues) ahi estan las consecuencias...........
Que programa usas para factura electronica?
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
-
- Mensajes: 137
- Registrado: Vie Oct 08, 2010 3:12 pm
Re: Como saber si un certificado es FIEL o es de Sellos?
Hola Dado:
Lo único que se me ocurre es verificar si el archivo key pertenece al archivo cer, he notado que los nombres de los archivos key de sello tienen terminacion s.
Una vez identificado el archivo key podemos verificar si este corresponde al certificado mediante el "modulus" de cada uno de los archivos, si el modulus de ambos archivos es el mismo, el certificado y el key se corresponden.
El modulus del certificado se obtiene asi:
openssl x509 -inform DER -outform PEM -in Certificado.cer -pubkey > cer.pem
openssl x509 -in cer.pem -noout -modulus > ModulusC.txt
el modulus de la llave se obtiene asi:
openssl pkcs8 -inform DER -in key.key -out key.pem
openssl rsa -in key.pem -noout -modulus > ModulusK.txt
Lo unico que resta es que ambos archivos sean identicos.
Espero esto te ayude.
Lo único que se me ocurre es verificar si el archivo key pertenece al archivo cer, he notado que los nombres de los archivos key de sello tienen terminacion s.
Una vez identificado el archivo key podemos verificar si este corresponde al certificado mediante el "modulus" de cada uno de los archivos, si el modulus de ambos archivos es el mismo, el certificado y el key se corresponden.
El modulus del certificado se obtiene asi:
openssl x509 -inform DER -outform PEM -in Certificado.cer -pubkey > cer.pem
openssl x509 -in cer.pem -noout -modulus > ModulusC.txt
el modulus de la llave se obtiene asi:
openssl pkcs8 -inform DER -in key.key -out key.pem
openssl rsa -in key.pem -noout -modulus > ModulusK.txt
Lo unico que resta es que ambos archivos sean identicos.
Espero esto te ayude.
-
- Mensajes: 57
- Registrado: Dom Ene 09, 2011 8:23 pm
Re: Como saber si un certificado es FIEL o es de Sellos?
Hola a todos desde Sonora,
Puedo regenerar las facturas que valide con la fiel por las que valide con el sello?
Lo de las fechas, cual es la que valida hacienda, la de la base de datos que es la misma que se registra dentro del xml y el pdf o la del sistema de cada archivo o sea la de windows?
Pregunto esto porque con eso de los problemas al inicio de año que el sat no validaba, regenere varias veces los xml y los pdf y obviamente la fecha de los archivos (la de windows) no son consistentes con las de la base de datos (que es la fecha real en que se hizo la venta).
Espero haberme explicado bien.
Puedo regenerar las facturas que valide con la fiel por las que valide con el sello?
Lo de las fechas, cual es la que valida hacienda, la de la base de datos que es la misma que se registra dentro del xml y el pdf o la del sistema de cada archivo o sea la de windows?
Pregunto esto porque con eso de los problemas al inicio de año que el sat no validaba, regenere varias veces los xml y los pdf y obviamente la fecha de los archivos (la de windows) no son consistentes con las de la base de datos (que es la fecha real en que se hizo la venta).
Espero haberme explicado bien.
-
- Mensajes: 6
- Registrado: Lun Ene 10, 2011 12:09 pm
Re: Como saber si un certificado es FIEL o es de Sellos?
Que tal, oye te felicito, muy buen blog!, una duda, estoy desarrollando en .net y ya pude obtener lo key usage extensions (KeyAgreement, DataEncipherment, NonRepudiation, DigitalSignature), mi duda es cómo obtener el c0, o E8 o D8 para hacer más fácil la comparación... gracias!!
- Dado
- Mensajes: 15980
- Registrado: Mar Jul 06, 2010 7:56 pm
Re: Como saber si un certificado es FIEL o es de Sellos?
Pssss, eso te va a costar una botella de tequila....o por lo menos un six je je je.rodmarquez21 escribió:Que tal, oye te felicito, muy buen blog!, una duda, estoy desarrollando en .net y ya pude obtener lo key usage extensions (KeyAgreement, DataEncipherment, NonRepudiation, DigitalSignature), mi duda es cómo obtener el c0, o E8 o D8 para hacer más fácil la comparación... gracias!!
En serio, me pase dos meses (checa la fecha de los post, desde el 1-nov al 1-ene) para descubrir esto que te voy a pasar:
El Key Usage (el "normal" no el extendido) es un word y cada bit tiene codificada su uso de la siguiente forma :
Código: Seleccionar todo
usage := getKeyUsageBits;
Result := '';
if (usage and 128) = 128 then Result := Result + 'digitalSignature ';
if (usage and 64) = 64 then Result := Result + 'nonRepudiation ';
if (usage and 32) = 32 then Result := Result + 'keyEncipherment ';
if (usage and 16) = 16 then Result := Result + 'dataEncipherment ';
if (usage and 8) = 8 then Result := Result + 'keyAgreement ';
if (usage and 4) = 4 then Result := Result + 'keyCertSign ';
if (usage and 2) = 2 then Result := Result + 'cRLSign ';
if (usage and 1) = 1 then Result := Result + 'encipherOnly ';
Ahora, el Key Usage extended yo lo obtengo como cadenas de string, hay MILES de posibilidades de valores aqui, el OpenSSL reconoce algunos cuantos (los mas comunes) estos son valores OID del tipo 1.2.3.4.5.6.
Para saber si es una FIEL o un CSD hago una pre-calificacion (y por eso agradezco a la ayuda de los posts anteriores) ya que me han reportado que en general se cumple :
Código: Seleccionar todo
EsFIEL := 0; EsCSD := 0;
if (certificado.KeyUsage = $e8) or (certificado.KeyUsage = $d8) then EsFIEL := EsFIEL + 1;
if certificado.KeyUsage = $c0 then EsCSD := EsCSD + 1;
if pos('TLS Web Client Authentication',certificado.ExtKeyUsageTxt) > 0 then EsFIEL := EsFIEL + 1;
if certificado.ExtKeyUsageTxt = '' then EsCSD := EsCSD + 1; //El CSD NO TIENE Key Usage Extended, solo la tiene la FIEL
if EsFIEL > EsCSD then Result := tcFIEL;
if EsFIEL < EsCSD then Result := tcCSD;
if EsFIEL = EsCSD then Result := tcDESCONOCIDO;
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
-
- Mensajes: 6
- Registrado: Lun Ene 10, 2011 12:09 pm
Re: Como saber si un certificado es FIEL o es de Sellos?
Ah! ok ok, sé lo que se siente haber pasado un buen tiempo buscando una solución, pero también sé lo gratificante que se siente al compartir ése conocimiento, nos volvemos maestros mientras haya alguien que lo lea y aprenda de él, bueno, eso no quiere decir que no te merezcas el tequila broder!!, oye, volviendo al tema, entonces tu vas evaluando condiciones y la que mas peso tenga a esa le das el veredicto ganador, ya sea CSD o FIEL, yo tengo un código (en c#) en el que obtengo los key usage extensions y los voy recorriendo, si encuentro los cuatro (KeyAgreement, DataEncipherment, NonRepudiation, DigitalSignature) le doy el veredicto a FIEL, si SOLO encuentro dos (NonRepudiation, DigitalSignature) y los otros dos no, entonces es un certificado CSD, ya no verifiqué que tenga Enhanced Key Usage (sólo presente en el FIEL), no sé, quiero saber tu opinión man, crees que eso sea suficiente?.
Saludos y ya te vas ganando el six o tequila eh!!
Saludos y ya te vas ganando el six o tequila eh!!
- Dado
- Mensajes: 15980
- Registrado: Mar Jul 06, 2010 7:56 pm
Re: Como saber si un certificado es FIEL o es de Sellos?
Pues si, es suficiente con revisar el KeyUsage "normal", ahora esto es totalmente EMPIRICO, osea por prueba y error es lo que he descubierto.rodmarquez21 escribió:Ah! ok ok, sé lo que se siente haber pasado un buen tiempo buscando una solución, pero también sé lo gratificante que se siente al compartir ése conocimiento, nos volvemos maestros mientras haya alguien que lo lea y aprenda de él, bueno, eso no quiere decir que no te merezcas el tequila broder!!, oye, volviendo al tema, entonces tu vas evaluando condiciones y la que mas peso tenga a esa le das el veredicto ganador, ya sea CSD o FIEL, yo tengo un código (en c#) en el que obtengo los key usage extensions y los voy recorriendo, si encuentro los cuatro (KeyAgreement, DataEncipherment, NonRepudiation, DigitalSignature) le doy el veredicto a FIEL, si SOLO encuentro dos (NonRepudiation, DigitalSignature) y los otros dos no, entonces es un certificado CSD, ya no verifiqué que tenga Enhanced Key Usage (sólo presente en el FIEL), no sé, quiero saber tu opinión man, crees que eso sea suficiente?.
Saludos y ya te vas ganando el six o tequila eh!!
NO ES PARA NADA una forma 100% fiable ni mucho menos "legal" de diferenciar una FIEL de un CSD, pero si te sirve de consuelo, libere el ValidaCFD justo antes del lunes 3 de enero (recuerdas?) y hubo casi mil descargas y hasta el momento no me han reclamado sobre fallas en este algoritmo.......
Sabes cual fue mi forma de "validar" el algoritmo, entrando al ftp del SAT y descargando al azar certificados (ahi hay revueltos CSD y FIEL), luego los checaba vs. la lista oficial del CSD para saber con certeza de que tipo era y luego los meti a la rutina, el 99% de las veces pudo reconocer bien el certificado (uno fallo no se porque)...........
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
-
- Mensajes: 6
- Registrado: Lun Ene 10, 2011 12:09 pm
Re: Como saber si un certificado es FIEL o es de Sellos?
Excelente man!, que buena manera de resolver el problema! oye y si no es indiscreción, cual fue el certificado que te tronó?