Escribir código seguro comprobable

Actualización: noviembre 2007

El código con seguridad de tipos es código que sólo obtiene acceso a tipos siguiendo métodos permitidos y perfectamente definidos. Por ejemplo, dada una referencia a objeto válida, el código con seguridad de tipos puede obtener acceso a la memoria en desplazamientos fijos que se correspondan con miembros de campo reales. Sin embargo, si el código obtiene acceso a la memoria en desplazamientos arbitrarios que se encuentran fuera del intervalo de memoria que pertenece a los campos públicamente expuestos de ese objeto, no tiene seguridad de tipos.

La compilación Just-In-Time (JIT) ejecuta un proceso denominado comprobación que examina el código e intenta determinar si tiene seguridad de tipos. Si se demuestra durante la comprobación que el código tiene seguridad de tipos, se denominará código con seguridad de tipos comprobable. El código puede tener seguridad de tipos pero no ser comprobable debido a las limitaciones del proceso de comprobación o del compilador. No todos los lenguajes tienen seguridad de tipos y algunos compiladores de lenguaje, como Microsoft Visual C++, no pueden generar código administrado con seguridad de tipos comprobable. Para determinar si el compilador de lenguaje que utiliza genera código con seguridad de tipos comprobable, consulte la documentación del compilador. Si utiliza un compilador de lenguaje que genera código con seguridad de tipos comprobable sólo cuando se evitan determinadas construcciones del lenguaje, podrá utilizar la herramienta PEVerify de Kit de desarrollo de software de Windows (SDK) para determinar si el código tiene seguridad de tipos comprobable.

El código que no tiene seguridad de tipos comprobable puede intentar ejecutarse si la directiva de seguridad permite que el código evite la comprobación. Sin embargo, dado que la seguridad de tipos es una parte esencial del mecanismo del motor en tiempo de ejecución para aislar los ensamblados, la seguridad no se puede imponer de manera confiable si el código infringe las reglas de la seguridad de tipos. De manera predeterminada, el código que no tiene seguridad de tipos se puede ejecutar únicamente si procede del equipo local. Por tanto, el código móvil debe tener seguridad de tipos.

Vea también

Conceptos

Conceptos básicos sobre la seguridad de acceso a código

Compilar MSIL a código nativo

Referencia

Herramienta PEVerify (Peverify.exe)

Otros recursos

Seguridad de acceso a código