Cita:  
					Iniciado por thebman 
  Pues bien en el post anterior generamos nuestra digestion MD5 en un archivo md5.txt es imoprtante editar el archivo y borrar la parte de MD5(C:\cadena.txt)=
Para que nuestro archivo solo quede con la pura digestion la cual es:
 8aa2b617944427353697e694a2e35a07
 
Bueno ahora tenemos que generar el sello digital apartir  de la digestion pero antes de esto tenemos que convertir nuestros archivos .key y .cer a .pem para su correcto procesamiento.
 
Para hacer esto nos vamos a la aplicacion Openssl y dentro de los certificados que descargamos usaremos solo un archivo .key  y la clave privada.
 
 Archivo:
aaa010101aaa_CSD_01.key
 
Instruccion para generar nuestro archivo .pem:
 
 openssl.exe pkcs8 -inform DER -in aaa010101aaa_CSD_01.key -passin pass:a0123456789 -out aaa010101aaa_CSD_01.key.pem
 
Una ves ejecutada esta instruccion tendremos nuestro nuevo archivo:
 
aaa010101aaa_CSD_01.key.pem
 
El cual usaremos para generar nuestro sello tambien dentro del Openssl
 
 openssl dgst -sign aaa010101aaa_CSD_01.key.pem  md5.txt | openssl enc -base64 -A > sello.txt
 
Y obtendremos el siguiente sello en su respectivo archivo sello.txt:
 
 iIMz487EGyt6zCFjvcFNvHeOKgKMMc5y1py+QJrIvCmWbbxV43  k2xi6Q23p/Wee31vqUzYH0fbO0yBOvkDtiMejjdCOHPzmLvMkzfAzr919j6t  bJOiODlgb7bisEdUkrjRrw+FfwQsPldsfHW6gq3K/fFGT6tTB7gqHP6a44ix0=
     Disculpa, soy nuevo en el foro y estoy tratando de hacer lo de facturacion electronica, hago como dices para generar el sello en vb.net con el shell pero no me genera nada, estaba leyendo lo de Markx, Matias y de Vero que lo hacian en .net pero tampoco entendi, no sabes cual pudiera ser mi error, en linea de comandos si funciona. No se si me explique bien si alguien me pudiera dar un ejemplo en vb.net o en lo que sea tratare de entender. Gracias. 
Mi codigo va asi 
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
        Dim cadenaoriginal As String = "||A|1|2005-09-02T16:30:00|1|ISP900909Q88|Industrias del Sur Poniente, S.A. de C.V.|Alvaro Obregón|37|3|Col. Roma Norte|México|Cuauhtémoc|Distrito Federal|México|06700|Pino Suarez|23|Centro|Monterrey|Monterrey|Nuevo Léon|México|95460|CAUR390312S87|Rosa María Calderón Uriegas|Topochico|52|Jardines del Valle|Monterrey|Monterrey|Nuevo León|México|95465|10|Caja|Vasos decorados|20|200|1|pieza|Charola metálica|150|150|IVA|52.5|| "
        Label1.Text = cadenaoriginal
        System.IO.File.WriteAllText("C:\fepruebas\cadena.t  xt", cadenaoriginal)
        Dim CadenaUTF8 As Byte()
        Dim tmpHash() As Byte
        Dim Digestion As String
        'convierte en UTF8
        CadenaUTF8 = System.Text.Encoding.UTF8.GetBytes(cadenaoriginal)
        'crea el hash
        tmpHash = New MD5CryptoServiceProvider().ComputeHash(CadenaUTF8)
        ' lo pasa a una variable string mediante la funcion ByteArrayToString
        Digestion = ByteArrayToString(tmpHash)
        System.IO.File.WriteAllText("C:\fepruebas\MD5.txt"  , Digestion, Encoding.UTF8)
        Shell("C:\OpenSSL-Win32\bin\openssl.exe pkcs8 -inform DER -in C:\fepruebas\aaa010101aaa_csd_01.key -passin pass:a0123456789 -out C:\fepruebas\aaa010101aaa_csd_01.key.pem")
        Shell("c:\OpenSSL-Win32\bin\openssl dgst -sign c:\fepruebas\aaa010101aaa_CSD_01.key.pem c:\fepruebas\md5.txt | c:\OpenSSL-Win32\bin\openssl enc -base64 -A > c:\fepruebas\sello.txt")
    End Sub