Imagen

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


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

Validacion del sello incorrecta

Es tan comun este tema que he decidido abrir un foro especial para este caso. Se trata de programadores que tienen problemas para crear el Sello Digital y que no pasan la validacion
dears5
Mensajes: 5
Registrado: Mié Sep 26, 2012 10:31 am

Validacion del sello incorrecta

Mensajepor dears5 » Mié Sep 26, 2012 10:39 am

Sello invalido
hola buenos dias a todos vengo solicitando ayudad para poder crear de forma correcta mi sello el problema es que creo el sello pero no me lo creo bien

estra es mi cadena original: ' cadena tambien coincide con el validador del sat
||2.2|FS|46|2012-09-07T13:04:47|123456|2012|ingreso|Pago en una sola exhibición|Condición de pago Contado Plazo 20 Vencimiento 27/09/2012|1000.00|1160.00|Efectivo|CULIACAN, SINALOA|7891|BSY020620MB9|BM SYSTEMS S.C.|Alaba de acosta|1814|Miguel Hidalgo|CULIACAN, SINALOA|Culiacán|Sinaloa|México|80090|Persona moral con fines lucrativos|BTA010519NA9|BOUTIQUE ANDERSON NEW YORK|Alba de acosta|1814|Miguel Hidalgo|Culiacán|Sinaloa|México|1.000|PZA|1|Mantenimiento 2|1000.00|1000.00|IVA|16.0000|160.00|160.00||

este es como deberia ser el sello:
f1zcSDH87GZZ0w0a4vDipr78pfEm8ekjH1Elq4OV4VNfzpnzCdg1v6EsjRtghoaWeiQNWwgcELAAYCT4hj3u3qjO95XL07IMjmbvzRunY78QRyGyxlLZIZGM4wrH36OD
+p5pSG3678YsTVFN0ufqwXgv4O3ZKPew6KdfkKzJUlw=

esta es el sello qe obtengo con mi codigo:
pThHNiRiayMmVL1qKirE0z2O1rZq6XKJbFgOebeARs5KB8pEmt2/Xa7Z2Hmf37j3s4riFOi+4naRQXFe6U/38y2M/On6GAFszfG1c25TTusUoxGTLA6zbcHU/VProjPT
+ZqpMesMw83yvTFVQdwTskj9RHOwSI4YsjxdvDTHn98=

este es el sha1: este concide con el validador del sat
1856ebf60b32efd5a6156844c5ecf4129f08ed93


mi duda es en que me estoy equivocando si es en el sha o en key o si tengo mal hecha mi cadena
igualmente les adjunto mi codigo por si tienen una duda esta realizado en vb.net 2010
Dim filename As String = Path.GetFileName(FileUpload1.FileName)
Dim xmlFile As String = Server.MapPath(filename)
Dim transform As New Xsl.XslCompiledTransform
Dim document As New XmlDocument
Dim navigator As XPath.XPathNavigator
Dim ruta_sat As String = Server.MapPath("~/cadenaoriginal_2_2.xslt")
Dim output As New StringWriter
document.Load(xmlFile)
navigator = document.CreateNavigator()
transform.Load(ruta_sat)
transform.Transform(navigator, Nothing, output)
cadOriginal = output.ToString

System.IO.File.WriteAllText("C:\fepruebas\cadena.txt", cadOriginal)



'CREAMOS EL SHA1
Dim process As New Process
process.StartInfo.WindowStyle = ProcessWindowStyle.Minimized
process.StartInfo.FileName = "C:\openssl-0.9.8k_WIN32\bin\openssl.exe" 'le ponemos el nombre del archivo q hara la encriptacion (la ruta del openssl.exe)
process.StartInfo.Arguments = "dgst -SHA1 C:\fepruebas\cadena.txt" 'le madamos solo un parametro. (el nombre del archivo .txt q contiene la cadena original)
process.StartInfo.WorkingDirectory = "C:\openssl-0.9.8k_WIN32\bin" 'esto es para poner el direcctorio inicial en el q iniciara el proceso
process.StartInfo.UseShellExecute = False 'esto es para decirle q no usaremos el shell del sistema operativo
process.StartInfo.ErrorDialog = False 'esto es para omitir cualquier mensaje de error del proceso a ejecutar
process.StartInfo.RedirectStandardOutput = True 'esto es para decirle q vamos a escribir (o utiliar) el resultado de la secuencia (o sea el resultado encriptado)
process.Start() 'iniciamos el proceso
Dim codificado As String 'creamos una varaible q almacenara el resultado encriptado
codificado = process.StandardOutput.ReadToEnd 'el resultado del parametro "dgst -SHA1 d:\cadena.txt" se almacena en esta variable
process.WaitForExit() 'le decimos q se espere el proceso
'ahora, al resultado lo pasamos en un ciclo for para quitarle la
'parte del sha1 y q solo nos quede el resultado
Dim codificado2 As String = ""
For i As Integer = 0 To codificado.Length - 1
If codificado.Chars(i) = "=" Then
codificado2 = Mid(codificado, i + 3) 'seleccionamos desde la psicion en la q se quedo hasta al final de la cadena y eso se lo pasamos a codigificado2
End If
Next
System.IO.File.WriteAllText("C:\fepruebas\codificado.txt", codificado2) 'escribimos el resultado en otro archivo de texto

'CREAMOS EL ARCHIVO .KEY.PEN
Dim process2 As New Process
process2.StartInfo.WindowStyle = ProcessWindowStyle.Minimized
process2.StartInfo.FileName = "C:\openssl-0.9.8k_WIN32\bin\openssl.exe" 'le ponemos el nombre del archivo q hara la encriptacion (la ruta del openssl.exe)
process2.StartInfo.Arguments = "pkcs8 -inform DER -in C:\fepruebas\aaa010101aaa__CSD_01.key -passin pass:********* -out C:\fepruebas\aaa010101aaa_CSD_01.key.pem" 'le madamos solo un parametro.
process2.StartInfo.WorkingDirectory = "C:\openssl-0.9.8k_WIN32\bin" 'esto es para poner el direcctorio inicial en el q iniciara el proceso
process2.StartInfo.UseShellExecute = False 'esto es para decirle q no usaremos el shell del sistema operativo
process2.StartInfo.ErrorDialog = False 'esto es para omitir cualquier mensaje de error del proceso a ejecutar
process2.StartInfo.RedirectStandardOutput = True 'esto es para decirle q vamos a escribir (o utiliar) el resultado de la secuencia (o sea el resultado encriptado)
process2.Start() 'iniciamos el proceso
process2.WaitForExit() 'le decimos q se espere el proceso

'CREAMOS EL SELLO
'C:\OpenSSL\bin>openssl dgst -sign D:\Cer_Sellos\aaa010101aaa_CSD_01.key.pem D:\codificado.txt | openssl enc -base64 -A > D:\sello.txt
Dim process3 As New Process
process3.StartInfo.WindowStyle = ProcessWindowStyle.Minimized
process3.StartInfo.FileName = "C:\openssl-0.9.8k_WIN32\bin\openssl.exe" 'le ponemos el nombre del archivo q hara la encriptacion (la ruta del openssl.exe)
process3.StartInfo.Arguments = "dgst -sign C:\fepruebas\aaa010101aaa_CSD_01.key.pem C:\fepruebas\codificado.txt" 'le madamos solo un parametro.
process3.StartInfo.WorkingDirectory = "C:\openssl-0.9.8k_WIN32\bin" 'esto es para poner el direcctorio inicial en el q iniciara el proceso
process3.StartInfo.UseShellExecute = False 'esto es para decirle q no usaremos el shell del sistema operativo
process3.StartInfo.ErrorDialog = False 'esto es para omitir cualquier mensaje de error del proceso a ejecutar
process3.StartInfo.RedirectStandardOutput = True 'esto es para decirle q vamos a escribir (o utiliar) el resultado de la secuencia (o sea el resultado encriptado)

process3.Start() 'iniciamos el proceso

Dim SelloTxt As String 'creamos una varaible q almacenara el resultado encriptado
SelloTxt = process3.StandardOutput.ReadToEnd
Dim b64 As String = Convert.ToBase64String(Encoding.Default.GetBytes(SelloTxt)) 'decodificamos el resultado en base 64

process3.WaitForExit() 'le decimos q se espere el proceso
System.IO.File.WriteAllText("C:\fepruebas\sello.txt", b64) 'escribimos el resultado en otro archivo de texto
Última edición por dears5 el Mié Sep 26, 2012 11:52 am, editado 2 veces en total.

dears5
Mensajes: 5
Registrado: Mié Sep 26, 2012 10:31 am

Re: Validacion del sello incorrecta

Mensajepor dears5 » Mié Sep 26, 2012 11:42 am

gracias por avisar lo de la la llave aunqe era de la prueba no volvera a pasar

OmarTR
Mensajes: 1
Registrado: Mié Nov 07, 2012 8:51 am

Re: Validacion del sello incorrecta

Mensajepor OmarTR » Mié Nov 07, 2012 8:54 am

que tal dears5 lograste solucionar tu problema?

Yo tengo el mismo detalle, me marca que el sello no es válido...

cambiaste el certificado o algo así?

jevb
Mensajes: 25
Registrado: Dom Dic 16, 2012 6:24 pm
Ubicación: edgar.vargas@gmail.com

Re: Validacion del sello incorrecta

Mensajepor jevb » Sab Ene 26, 2013 3:31 am

VAlido mi xml en el https://www.consulta.sat.gob.mx/sicofi_web/moduloECFD_plus/ValidadorCFDI/Validador%20cfdi.html Y me sale:
    Comprobante expresado en UTF-8
    Validación de estructura: Válido
    El sello no pudo ser verificado
    El sello de certificación es válido

En cambio lo meto al ValidaCFD y me sale bien el sello del emisor y del sat.
    Se detectaron 2 errores.
    Se han hecho 8 observaciones.
    Esquema Valido
    El Sello del Emisor SI es Valido (OK SHA-1)
    Sello del SAT SI es Valido (OK SHA-1)

Los 2 errores que detecta estan en el timbre pues lo copie/invente para pruebas.

En una observacion dice:
certificado TUlJRWZ6Q0NBMmVnQXdJQkFnS... Si Problemas al leer el certificado (Bad Base64 certificate encoding.)
certificado (copia) MIIEfzCCA2egAwIBAgIUMDAwM... Si Se descargo una copia del SAT

Por culpa de este certificado no me lo acepta en el sat ? o confio nadamas en el validacfd ?
DIOS nos Bendice !!!

Avatar de Usuario
Dado
Mensajes: 15836
Registrado: Mar Jul 06, 2010 7:56 pm

Re: Validacion del sello incorrecta

Mensajepor Dado » Sab Ene 26, 2013 7:55 am

Si, por culpa del certificado el SAT no lo pudo validar

Si, confia mas en el ValidaCFD
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!

jevb
Mensajes: 25
Registrado: Dom Dic 16, 2012 6:24 pm
Ubicación: edgar.vargas@gmail.com

Re: Validacion del sello incorrecta

Mensajepor jevb » Sab Ene 26, 2013 4:34 pm

DADO escribió:Si, por culpa del certificado el SAT no lo pudo validar
Si, confia mas en el ValidaCFD

Gracias DADO.
DIOS nos Bendice !!!

jevb
Mensajes: 25
Registrado: Dom Dic 16, 2012 6:24 pm
Ubicación: edgar.vargas@gmail.com

Re: Validacion del sello incorrecta

Mensajepor jevb » Sab Ene 26, 2013 9:06 pm

DADO escribió:Si, por culpa del certificado el SAT no lo pudo validar
Si, confia mas en el ValidaCFD

Gracias a DIOS y ustedes el sat dice que mi xml tiene todo bien !!!

Código: Seleccionar todo

Comprobante expresado en UTF-8
Validación de estructura: Válido
Certificado usado   : 20001000000100001708
Certificado reportado   : 20001000000100001708
El sello del CFDI es válido
Certificado usado   : 30001000000100000801
Certificado reportado   : 30001000000100000801
El sello de certificación es válido

Yo decia por que el validacfd hace el certificado bien y yo no jajajaja
Hasta tome el archivo del certificado que baja en la carpeta temp y tampoco.

Código: Seleccionar todo

Pues resulta que en el programa yo tenia...
$certificado = base64_encode( $variable_pem_certificado )
Pero antes ya se hacia en ssl..
openssl enc -base64 -in 00001000000202514965.cer  > CERTIFICADO.cer.txt
por eso se codificaba 2 veces

Andube como loco rastreando todo el foro a ver como se hacia la parte del certificado y con razon no encontraba nada !!! Se hace en el paso del SSL nada mas.
DIOS nos Bendice !!!

Jimmy
Mensajes: 3
Registrado: Mar Feb 05, 2013 4:31 pm

sello de certificaion no valido

Mensajepor Jimmy » Mar Feb 05, 2013 4:35 pm

hola dado me podrias ayudar con esto por favor he tenido un problema al facturar en el sat no me valida el sello de certificacion.. que tengo que hacer ..

Avatar de Usuario
Dado
Mensajes: 15836
Registrado: Mar Jul 06, 2010 7:56 pm

Re: sello de certificaion no valido

Mensajepor Dado » Mar Feb 05, 2013 4:45 pm

Jimmy escribió:hola dado me podrias ayudar con esto por favor he tenido un problema al facturar en el sat no me valida el sello de certificacion.. que tengo que hacer ..


Lo que debes hacer es comprarme la DLL o el Servitimbre y quitarte de broncas............

En serio, es IMPOSIBLE adivinar en donde esta el error de programacion por el cual te salle sello invalido

(por cierto elimine el megatexto con tu xml, no sirve de mucho y creeme, no es mala onda mia, pero tendria que ser un adivino para saber en donde estas mal)
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!

Jimmy
Mensajes: 3
Registrado: Mar Feb 05, 2013 4:31 pm

Re: sello de certificaion no valido

Mensajepor Jimmy » Mar Feb 05, 2013 5:03 pm

disculpa no me explique bien al momento de que valido el xml me aparece esto l sello del CFDI es válido

Cadena original del Complemento de Certificación:
||1.0|2E1FF7E6-7A23-46A8-99B5-AC758C4941E5|2013-02-05T11:47:24|X8yCRXuBKaH2eYC/l0M5e8EYbFYP/f6BmD+GRhxJb/obSOkS9LeEjUwhCG04fCqX9ScMaQrpwIfZ/fJoYLkzUN+WstF8jhlyOKc35mtJDo0LLuPvM+g4cDRhJ144fhz6fLFtKeT7yGq73kYXIKDlisoqj3rZXi5V881kCMXcRpc=|00001000000202864530||

Digestión SHA-1 de cadena original del complemento de certificación expresada en hexadecimal
176af5ba4d1d6561b1e1e444927a2d69c4a4729e

Certificado usado : 00001000000202518236
Certificado reportado : 00001000000202864530

El sello de certificación no es válido


IMPORTANTE: Los resultados anteriores se presentan a efecto de que valide
la estructura, cadena original y sello de su CFDI. Para que una factura
electrónica sea válida para efectos fiscales, deberá reunir los requisitos que
establecen las disposiciones fiscales vigentes.


Volver a “SELLO DIGITAL INVALIDO”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 8 invitados