Cita:
Empezado por jourdan
Dado, muchismas gracias por tu ofrecimiento de ayuda, afortunadamnete ya puedo sellar facturas, mi problema era algo tontisimo, en la cadena original me falto poner el total de impuestos trasladados, si les sirve de tip, compare mi cadena con la cadena que arroja el programa que validacion del sat y ahi fue donde encontre el error, por otro lado tenia registrado un cliente que en el nombre tenia 2 espacios seguidos y ese es otro problema que impide validar los documentos, hay que tener mucho cuidado con esos detalles. Nuevamente gracias
|
yo tambien estoy empleando chilkat para generar el sello digital con rsa, pero la validacion de hacienda no logro pasarla, ya verifique y corregi los errores de la cadena original y su hash.
Ya que solucionaste esto usando chilkat podrias indicarme cual metodo empleaste? aki anexo los metodos que yo emplee.
saludos
(codigo en vb6)
Código:
'Carga del Modulo de Encriptacion RSA
Dim rsa As New ChilkatRsa
' Dim success As Long
'Carga de la Llave Privada y su contraseña
Dim privKey As New privateKey
'success = privKey.LoadPkcs8EncryptedFile("aaa010101aaa_CSD_01.key", "a0123456789")
success = privKey.LoadPkcs8EncryptedFile(Trim(gstrRutKey), Trim(gstrPasKey))
If (success <> 1) Then
MsgBox privKey.LastErrorText
Exit Function
End If
'Exportar llave Privada a Formato XML
Dim privKeyXml As String
privKeyXml = privKey.GetXml 'GetXml()
success = rsa.ImportPrivateKey(privKeyXml)
If (success <> 1) Then
MsgBox rsa.LastErrorText
Exit Function
End If
' Text3 = vbNullString
' Text3.Text = privKeyXml
'Definición de Tipo de Salida (Base64)
rsa.EncodingMode = "base64"
'Definicion del tipo de conversion de caracteres a "utf-8"
rsa.Charset = "utf-8"
rsa.ImportPrivateKey privKeyXml 'publicKey
'Proceso de Encriptación usando (cadena original digerida) y (llave privada + contraseña)
Dim usePrivateKey As Long
usePrivateKey =1
Dim encryptedStr As String
'metodo1: cifrando wDigest que contiene la cadena original reducida con MD5 en HEX
encryptedStr = rsa.EncryptStringENC(Trim(wDigest), usePrivateKey)
'metodo2: lo emplee erroneamente
' encryptedStr = rsa.SignStringENC(Trim(wDigest), "sha-1")
'metodo2: intento que digiera y cifre en un mismo paso con el parametros de la cadena original y "md5"
' encryptedStr = rsa.SignStringENC(Trim(wCadOri), "md5")
cualquier sugerencia es bienvenida