Cita:
Iniciado por Oscargf 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