Ver Mensaje Individual
  #33 (permalink)  
Antiguo 05/07/2010, 16:07
spycyn69
 
Fecha de Ingreso: julio-2010
Mensajes: 1
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Factura electroncia sat mexico

Cita:
Iniciado por Oscargf Ver Mensaje
Tebman: tienes que encriptar con la llave privada (.key) , no con el certificado

al hacerlo manualmente, con el openssl me sale bien, obtengo esto:

1JmxBhaYGaLBKGAjSRQntuWY2DGfl3MQ/zDfp+mlbohsmgj7na++dagTNWCYzxkZ
svoKKWl63aOwT9Jle3ItMYO9NygnGE3lHYvvgmriTCpyB/igutbfro+sotIMsJjp
wHVeHgcxT1rI8lGU73TW42asv+TFemc0HZG67xdyuek=

el problema es que no consigo que me funcione desde vb.net.

llamo al openssl con shell:

Código:
Shell("C:\OpenSSL-Win32\bin\openssl.exe dgst -md5 -sign  c:\1\o2.key.pem -out c:\1\sello1.txt c:\1\CadenaOriginal2.txt")
Shell("C:\OpenSSL-Win32\bin\openssl.exe enc -base64 -in c:\1\sello1.txt  -out c:\1\sello.txt")
la primera linea la ejecuta bien pero la segunda no.
¿como lo haces tu?


tambien probé con process, con el mismo resultado:


Código:
 Dim Proceso2 As New Process()
        Proceso2.StartInfo.FileName = "C:\OpenSSL-Win32\bin\openssl.exe"
        Proceso2.StartInfo.Arguments = "dgst -md5 -sign  c:\1\o2.pem -out c:\1\sello1.txt c:\1\CadenaOriginal.txt "
        Proceso2.Start()

necesitas poner una "pausa" entre procesos ya que cuando ejecutas el 2° shell el 1° aún no acaba, usa un System.Threading.Thread.Sleep(200) entre las lineas shell