Cita:  
					Iniciado por aldaking 
  Este es el código que uso para generar el sello digital:
 
Código:
 .
.
.
                ////Firmar Hash Md5 con la llave privada
                proc.StartInfo.FileName = "openssl.exe ";
                proc.StartInfo.Arguments = string.Concat("dgst -out Firma.binario -sign PrivateKEY.PEM ", CrearHash(md5));
                
                proc.Start();
                proc.WaitForExit();
                proc.StartInfo.FileName = "openssl.exe ";
                proc.StartInfo.Arguments = "enc -in Firma.binario -a -A -out Firma.base64";
                proc.Start();
                proc.WaitForExit();
  Que es lo que haces en esta parte del codigo donde dice... CrearHash(md5)...porque concatenas??? 
estoy en esa parte y no se que mas hacer :S
     
Este es la funcion que el crea 
le envias tu cadena original 
public static string  CrearHash(string input)
		{
			MD5 md5Hasher = MD5.Create();		
			byte[] data = md5Hasher.ComputeHash(UTF8Encoding.UTF8.GetBytes(i  nput));			
			StringBuilder sBuilder = new StringBuilder();		
			for (int i = 0; i < data.Length; i++){
				sBuilder.Append(data[i].ToString("x2"));
			}		
			return sBuilder.ToString();
		}