Página 1 de 1

Ejemplo para sellar una factura digital con OpenSSL en VB6

Publicado: Mié Ene 05, 2011 12:36 pm
por roberto.arrioja
Hola que tal, tengo una aplicacion que ya hace todo el proceso de sellar el CFD, pero de todos los .cer y .key que he probanado hay una que no me funciona ya verifique y si tengo la contraseña correcta del certificado del sello digital y es solo en especifica esa de bastantes que he probado, yo estoy ocupando el Active X Chilkat RSA estoy programando en VB6, lo raro es que usando el programa ValidaCFD en la opcion de SELLAR ocupo esos mismos .cer y .key y la contraseña del certificado del sello digital y si me sella correctamente la factura, tengo entendido que ValidaCFD usa OpenSSL para generar el sello, el error que a mi me manda es el siguiente:
ChilkatLog:
LoadPkcs8EncryptedFile:
DllDate: Dec 21 2010
Warning: IV length is not equal to the algorithm's block size
blockSize: 8
IV_len: 7
algorithm: des
keyLength: 192
outputSize: 635
ASN.1 length cannot be more than 4 bytes in definite long-form.
This error typically occurs when trying to decode data that is not ASN.1
A common cause is when decrypting ASN.1 data with an invalid password,
which results in garbage data. An attempt is made to decode the garbage bytes
as ASN.1, and this error occurs...
Invalid ASN.1 for unencrypted PKCS8.
Password may be incorrect.
RsaDerLen: 0
Error_Code: 64
PKCS8 decrypt failed
Failed.

Entonces no se si tengan un ejemplo de com generar el proceso del sellado en OpenSSL para poder intentar con ese para este cliente en particular, o si alguien tiene una idea de por que estos archivos puedan estar erroneos.

Muchas gracias de antemano.
Saludos!

Re: Ejemplo para sellar una factura digital con OpenSSL en V

Publicado: Mié Ene 05, 2011 10:49 pm
por sati
Hola, desarrolle mi software en vb6 y chilkat, como estas realizando el sellado en tu software, tepuedo ayudar, si gustas pon algo de codigo para revisarlo por favor. Saludos.

Ej.
Dim pkey As New privateKey
Dim success As Long
Dim pkeyXml As String
Dim rsa As New ChilkatRsa


pkey.LoadPkcs8EncryptedFile !KEY, !pass


pkeyXml = pkey.GetXml()

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

success = rsa.ImportPrivateKey(pkeyXml)
If (success <> 1) Then
MsgBox rsa.LastErrorText & vbCrLf

Exit Function
End If

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

Dim base64Sig As String


If CDate(Now()) < CDate("01/01/2011") Then
base64Sig = rsa.SignStringENC(GetCadenaOriginal(m_xmlDOM), "md5")
Else
base64Sig = rsa.SignStringENC(GetCadenaOriginal(m_xmlDOM), "sha-1")
End If

GenerarSello = base64Sig

Re: Ejemplo para sellar una factura digital con OpenSSL en V

Publicado: Jue Ene 06, 2011 5:45 pm
por heavro
Hola.

Utilizo este mismo componente con la misma estructura en clarion para windows y me genera el sello, pero no me lo valida ni el programa validacfd ni la pagina del sat, saben a que se debe ?

Saludos.

Re: Ejemplo para sellar una factura digital con OpenSSL en V

Publicado: Jue Ene 06, 2011 5:57 pm
por Dado
heavro escribió:Hola.

Utilizo este mismo componente con la misma estructura en clarion para windows y me genera el sello, pero no me lo valida ni el programa validacfd ni la pagina del sat, saben a que se debe ?

Saludos.

Te recomiendo leer este mensaje y luego volver a publicar : http://www.validacfd.com/phpbb3/viewtop ... f=14&t=300