archivo pfx en visual studio

Publicado en 'Programación' por usb, 31 Mar 2016.





  1. usb

    usb Miembro de bronce

    Registro:
    22 May 2010
    Mensajes:
    1,622
    Likes:
    148




    hola amigos me pasaron unos proyectos en capas de visual studio todo normal pero en el proyecto principal hay un archivo.pfx al abrirlo sale puro numeros como en hexadecimal

    la informacion que encontre habla sobre firmar el ensamblado no lo entendi muy bien que significa ese archivo
    en que me limita el proyecto se puede quitar y para q sirbe gracias
     


  2. christiandg06

    christiandg06 Miembro maestro

    Registro:
    2 Dic 2015
    Mensajes:
    727
    Likes:
    123
    Para el propósito de la firma del ensamblado, Visual Studio sólo admite archivos de intercambio de datos personales (.pfx) y archivos de claves de nombre seguro (.snk) almacenados en el sistema del proyecto en el equipo local.

    fuente: https://msdn.microsoft.com/es-pe/library/ms247123(v=vs.90).aspx
    a leer un poco mas.
     
  3. usb

    usb Miembro de bronce

    Registro:
    22 May 2010
    Mensajes:
    1,622
    Likes:
    148
    tabien encontre esa informacion pero en terminos simples para q sirbe dentro de un proyecto propio y en que limita al que no es dueño del proyecto
     
  4. n00b

    n00b Miembro frecuente

    Registro:
    12 Dic 2015
    Mensajes:
    135
    Likes:
    49
    No es para el código fuente, es decir no te limita en nada si tienes el código fuente, solo tienes que hacer un pequeño ajuste. Los archivos que mencionas son los que se generan cuando firmas tu ensamblado, le agregas un "strong name" (strong naming).
    Digamos que tienes una aplicación, tienes la parte de interfaz gráfica (UI) y una librería (dll) que es la que se encarga de comunicarse con la BD y la UI se comunica con dicha librería: UI ---> DLL -----> BD
    Tú sabes que si actualizo algo en la DLL entonces nada más tendré que cambiar esa DLL en producción(es decir donde ya está instalada la aplicación y está trabajando), es decir hago el cambio en codigo fuente y recompilo, luego voy a producción y elimino la DLL vieja y pongo la nueva, el cambio para la UI es transparente, ni se va a dar cuenta y seguirá trabajando como siempre.
    Pero que pasa si esa DLL es cambiada por otra que tiene código malicioso dentro? eso sería un problema, para solucionarlo al ensamblado, a la dll, lo que hago es firmarla o ponerle un "strong name", esto es una especie de llave o identidad única, de manera que cuando la aplicación detecte que la nueva dll no coincide con el strong name registrado,aunque parezca idéntica, no la acepte

    Por ejemplo para registrar una DLL como COM en el sistema, las librería deben tener su "strong name". Yo una vez hice algo parecido para luego usar el objeto COM desde un lenguaje obsoleto como FoxPro o Visual Basic 6, entonces lo llamaba por su "strong name"....

    Resumen: A ti en el código no te afecta, es decir como tienes el código puedes modificarlo, etc.No recuerdo si al cambiar algo no te compila o al correr que da error, me parece que es la 1era pero en fin, no importa; para evitar en modo desarrollo las firmas y que no te moleste anda al folder Properties (en tu(s) proyecto(s)) y comenta en el archivo AssemblyInfo.cs las líneas que digan:

    [assembly: AssemblyDelaySign(false)]
    [assembly: AssemblyKeyName("Key Name")]

    al final cuando tu app. esté lista para publicar las firmas otra vez (tienes que ver las instrucciones el msdn sobre cómo aplicar el strong name a tu esamblado).
     
    Última edición: 31 Mar 2016
    A usb le gustó este mensaje.