Como firmar una .dll no firmada (Típico error de referencia de ensamblado no seguro)

Como firmar una .dll no firmada

dll

Hay ocasiones en las que contamos con una dll pero no con su código, y necesitamos que esta tenga nombre seguro, ¿Que hacemos...? simbolo de sitema de .NET Framework SDK. nos puede ayudar.

  • Paso 1: Desemsamblar la dll o ensamblado
  • ildasm myTest.dll  /out:myTest.il
  • Paso 2: reensamblar usando tu clave de nombre seguro, (sino cuentas con un par de claves puedes ver como crearlas en el apartado de mas abajo).
  • ilasm myTest.il  /res:myTest.res  /dll  /key:myTest.snk /out:myTest.dll
  • Para verificar que el ensamblado ha sido firmado correctamente puedes usar el siguiente comando
  • sn -vf myTest.dll


 Nota: Les recomiendo que no cambien el nombre a la .dll, usen su nombre original para todos los archivos, pues pueden fallar las referencias que se hagan al ensamblado que están firmando.
Es recomendable usar myTest.dll con toda la extensión donde se encuentra ejemplo C:\DLL\myTest.dll

Como crear un par de claves para firmar nuestros ensamblados


Para crear nuestras claves usaremos el simbolo de sitema de .NET Framework SDK.
  • En el símbolo del sistema, escriba el siguiente comando:
    sn –k <nombre de archivo>
    En este comando, nombre de archivo es el nombre del archivo de salida que contiene el par de claves. 
En el siguiente ejemplo se crea un par de claves denominado keypair.snk.

 sn -k keypair.snk 
  • Después, extraiga la clave pública del par de claves y cópiela en otro archivo:

sn -p keypair.snk public.snk

 Listo ya contamos con nuestras claves, ahora a firmar!

Deja tus comentarios:

Déjame tus dudas y comentarios: Conversion Conversion Emoticon Emoticon

Entradas Populares