Lo que es fuerte de nombres y cómo es útil en .Netdenominación seguro en .NET
Respuesta
le sugiero que lea Strong name assemblies can keep you out of DLL Hell:
asambleas nombre seguro permiten a los desarrolladores para simplificar componentes actualizaciones y evitar la infame DLL Infierno. Obtenga información acerca de la anatomía de los nombres fuertes de y vea cómo puede usar para garantizar la compatibilidad de la versión y la seguridad en sus aplicaciones .NET.
También vea this article para obtener un tutorial rápido sobre cómo dar un nombre seguro a un conjunto.
También se puede utilizar para garantizar que el conjunto no se manipule ya que se ha liberado del editor original.
Pero le falta una forma de verificar el editor original. Para eso, debería usar una tecnología como AuthentiCode además. Sin embargo, el objetivo principal es crear nombres únicos ("fuertes") para identificar una versión específica de un ensamblado (para solucionar los problemas de 'DLL Hell' http://msdn.microsoft.com/en-us/library/ms811694 .aspx) –
@divo: Ciertamente. Esto se menciona en la respuesta de Andrew. No vi la necesidad de duplicar. Solo quería agregar esta posibilidad. He mencionado este hecho en detalle en esta respuesta: http://stackoverflow.com/questions/369248/can-strong-naming-an-assembly-be-used-to-verify-the-assembly-author/369268#369268 –
Escribí una respuesta larga que describe la manera en que nombrar un ensamblaje impide que un tercero altere el ensamblaje como respuesta a este question. Puede ser útil si quieres saber cómo y por qué.
Eso es verdad. Sin embargo, este no ha sido el aspecto principal cuando se diseñó un nombre fuerte. A los nombres fuertes les faltan características importantes como autenticación y revocación del editor. Si se desea una distribución a prueba de manipulaciones de sus ensamblajes, es mucho mejor confiar en certificados digitales (como Authenticode). –
Creo que una de las características importantes es evitar el secuestro de DLL (o lo que sea que se llame) debido a posibles problemas de permisos débiles.
Supongamos que una de las DLL en su aplicación puede ser escrita por "todos" en ese caso alguien puede simplemente modificarla y cuando un privilegiado alto ejecuta el atacante de la aplicación .NET puede elevar sus privilegios.
Esto es bastante bueno porque en el mundo real puede ver estos ataques contra aplicaciones tales como antivirus y otras aplicaciones complejas que dependen de varias DLL en diferentes ubicaciones.
- 1. ¿Es seguro .NET System.Net.CookieContainer?
- 2. hilo generic.list y generic.dictionary seguro en .NET
- 3. Denominación de tipos de enumeración
- 4. Denominación de cookies: prácticas recomendadas
- 5. Denominación de relaciones polimórficas bien
- 6. Denominación de la función `pura` en Control.Applicative
- 7. Denominación de WPF-Controls en Marcado
- 8. ¿Cómo marcar un conjunto .net como seguro?
- 9. EJB3NamingStrategy vs ImprovedNamingStrategy Denominación de clave externa
- 10. Ignorar ReSharper reglas de denominación de dtos
- 11. Cómo escribir código seguro/correcto de subprocesos múltiples en .NET?
- 12. IronRuby: ¿cómo exigir ensamblados .NET sin un nombre seguro?
- 13. .NET - ¿Es seguro el subproceso de método Queue.Enqueue?
- 14. Almacenamiento seguro de token de autenticación con .NET
- 15. ¿Es .NET Socket Send()/Receive() seguro para subprocesos?
- 16. mascotas limpiador seguro/nombre de archivo para .NET
- 17. ¿Qué algoritmo de criptografía .NET incorporado es el más seguro?
- 18. La denominación de esquema de Hibernate difiere entre OS
- 19. Denominación: solución, proyectos, espacios de nombres y ensamblajes
- 20. ¿Es seguro instalar .Net 3.5 SP1 después de que .Net 4.0 RC ya haya sido instalado?
- 21. Archivos en XP: ¿Está seguro el "último acceso" seguro?
- 22. ¿Cuán seguro es mi regreso seguro?
- 23. ¿SQLite.Net es seguro para subprocesos?
- 24. Validación de nombre seguro Falló
- 25. Denominación: ¿Por qué las constantes con nombre deben estar todas en mayúscula en C++/Java?
- 26. ¿Cómo se resuelve un ensamblaje en .NET?
- 27. Código no seguro en C#
- 28. ¿Es seguro || = en Ruby thread?
- 29. idioma booleano seguro en impulso?
- 30. Análisis entero seguro en Ruby
El primer enlace está roto –