Página 1 de 1

Sello del Emisor Invalido VB6 + Chilkat

Publicado: Mié Jun 26, 2013 3:36 pm
por patrix
Hola.

Con esto de los cambios del sat estoy haciendo modificaciones en el sistema de facturación que actualmente estan utilizando. Es un sistema propio en vb6 y que uso para sellar chilkat. Para facturas en CFD no tengo ningun problema pero ahora que estoy haciendo las modificaciones para CFDI al parecer todo estaba funcionando correctamente. Me contacte con un PAC y mi CFDI me lo valida correctamente pero ahora que estoy probando con otro me marca el siguiente error "Sello del Emisor Invalido". Agrego mi archivo xml y mi codigo que utilizo para sellar mi cfdi

Private Function GenerarSello() As String
Dim pkey As New privateKey
Dim success As Long
Dim pkeyXml As String
Dim rsa As New ChilkatRsa

pkey.LoadPkcs8EncryptedFile App.Path & DIR_PKI & "aaa010101aaa__csd_01.key", "12345678a"

pkeyXml = pkey.GetXml

success = rsa.UnlockComponent(CK_KEY)

If (success <> 1) Then
MsgBox rsa.LastErrorText & vbCrLf, vbCritical
Exit Function
End If

success = rsa.ImportPrivateKey(pkeyXml)
If (success <> 1) Then
Debug.Print rsa.LastErrorText & vbCrLf
Exit Function
End If

rsa.Charset = "utf-8"
rsa.EncodingMode = "base64"
rsa.LittleEndian = 0

Dim base64Sig As String
' Aplicamos el hash md5 a la cadena original
'base64Sig = rsa.SignStringENC(ObtenerCadenaOriginal(m_xmlDOM), "md5")
base64Sig = rsa.SignStringENC(ObtenerCadenaOriginal(m_xmlDOM), "sha1")
CadenaOriginal = ObtenerCadenaOriginal(m_xmlDOM)
GenerarSello = base64Sig

End Function

Re: Sello del Emisor Invalido VB6 + Chilkat

Publicado: Mié Jun 26, 2013 3:59 pm
por Dado
Valida tu XML con el mejor validador de mexico, lo puedes descargar de aqui www.validacfd.com y te puedes dar cuenta que NO TIENE SELLO !! igual te esta faltando insertarlo despues de haberlo calculado

Re: Sello del Emisor Invalido VB6 + Chilkat

Publicado: Mié Jun 26, 2013 4:15 pm
por patrix
Me equivoque de archivo. Este es el correcto.

De hecho ya descargue el validador y me marca el mismo error.

Re: Sello del Emisor Invalido VB6 + Chilkat

Publicado: Mié Jun 26, 2013 4:41 pm
por Dado
Si actualizaste tu codigo para que use el nuevo xslt correspondiente a v3.2?

Re: Sello del Emisor Invalido VB6 + Chilkat

Publicado: Mié Jun 26, 2013 4:46 pm
por patrix
Si. De hecho como te comento con otro pac le mando el xml en formato CFDI y me regresa la respuesta pero este sin sellar.

Re: Sello del Emisor Invalido VB6 + Chilkat

Publicado: Jue Jun 27, 2013 9:13 am
por Jesus Castelo
Checa que la cadena original que tu usas al momento de generar el sello, sea exactamente igual a la que te muestra ValidaCFD, todo cuenta, espacios, puntos, acentos, etc.

Re: Sello del Emisor Invalido VB6 + Chilkat

Publicado: Jue Jun 27, 2013 10:28 am
por patrix
Hola. Gracias por sus comentarios los cuales me ayudaron a ver en donde tenia mi detalle. Ya me valido mi sello. :lol:

Re: Sello del Emisor Invalido VB6 + Chilkat

Publicado: Mié Sep 25, 2013 4:18 pm
por Neto2004
Hola patrix me podrias echar la mano para generar mi cadena Original en visual basic 6 , estoy tratando de hacerla con visual basic 6
Gracias ...

Re: Sello del Emisor Invalido VB6 + Chilkat

Publicado: Mié Oct 02, 2013 11:30 am
por jasistemas
Con VB.net:

Dim cadenaOriginal As String = ""
Dim transformer As XslCompiledTransform
Dim utf8 As System.Text.Encoding = System.Text.Encoding.UTF8

Dim strwriter As System.IO.StringWriter = New System.IO.StringWriter()
'creamos la clase transfomer
transformer = New XslCompiledTransform()
'cargamos el xslt (archivo de transformacion) a la clase

transformer.Load(New XPathDocument("RUTA HACIA TU ARCHIVO XSLT"))
transformer.Transform(comprobante, Nothing, strwriter)
cadenaOriginal = strwriter.ToString