Utilisation de bibliothèques à partir de code d'un niveau de confiance partiel
Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

Utilisation de bibliothèques à partir de code d'un niveau de confiance partiel

 
System_CAPS_noteRemarque

Cette rubrique aborde le comportement des assemblys avec nom fort et s'applique uniquement aux assemblys de niveau 1.Les assemblys de Code transparent de sécurité, niveau 2 de .NET Framework 4 ou versions ultérieures ne sont pas affectés par les noms forts.Pour plus d'informations sur la modification du système de sécurité, consultez Modifications de sécurité dans le .NET Framework.

Les applications qui n'ont pas reçu un niveau de confiance totale de la part de leur hôte ou bac à sable ne sont pas autorisées à appeler les bibliothèques managées partagées, sauf si le créateur de la bibliothèque les autorise explicitement à passer outre l'utilisation de l'.frlrfSystemSecurityAllowPartiallyTrustedCallersAttributeClassTopicPar conséquent, les auteurs d'applications doivent être conscients que certaines bibliothèques pas seront disponibles dans un contexte de confiance partielle.Par défaut, tout le code qui s'exécute dans un bac à sable (sandbox) de confiance partiel et qui n'est pas dans la liste des assemblys de confiance totale dispose d'un niveau de confiance partielle.S'il n'est pas prévu que votre code soit exécuté dans un contexte de confiance partielle ou qu'il soit appelé par du code partiellement fiable, les informations de cette section ne vous concernent pas.Toutefois, si vous écrivez du code qui doit interagir avec du code partiellement fiable ou fonctionner dans un contexte de confiance partiel, vous devez prendre en compte les éléments suivants :

  • Les bibliothèques doivent être signées avec un nom fort pour pouvoir être partagées par plusieurs applications.Les noms forts permettent à votre code d'être placé dans un Global Assembly Cache ou d'être ajouté à la liste de confiance totale d'un bac à sable AppDomain. De plus, ils permettent aux utilisateurs de vérifier qu'une portion du code mobile provient bien de vous.

  • Par défaut, les bibliothèques partagées avec nom fort de niveau 1 effectuent automatiquement une LinkDemand implicite de confiance totale, sans que le créateur de la bibliothèque n'ait à faire quoi que ce soit.

  • Si un appelant ne dispose pas d'une confiance totale et tente d'appeler ce type de bibliothèque, le runtime lève une SecurityException et l'appelant n'est pas autorisé à se connecter à la bibliothèque.

  • Pour désactiver la LinkDemand automatique et empêcher la levée de l'exception, vous pouvez placer l'attribut AllowPartiallyTrustedCallersAttribute dans la portée de l'assembly d'une bibliothèque partagée.Cet attribut permet à vos bibliothèques d'être appelées depuis du code managé partiellement fiable.

  • Le code partiellement fiable qui reçoit l'accès à une bibliothèque possédant cet attribut est toujours soumis à des restrictions supplémentaires définies par AppDomain.

  • Il n'est pas possible pour du code partiellement fiable d'appeler par programmation une bibliothèque qui ne possède pas l'attribut AllowPartiallyTrustedCallersAttribute.

Les bibliothèques qui sont réservées à une application particulière ne nécessitent pas de nom fort ni d'attribut AllowPartiallyTrustedCallersAttribute, et ne peuvent pas être référencées par du code potentiellement malveillant à l'extérieur de l'application.Ce code est protégé contre toute mauvaise utilisation, intentionnelle ou non, par du code mobile partiellement fiable, sans que le développeur n'ait à intervenir.

Vous devez envisager d'activer explicitement l'utilisation des types de code suivants pour le code partiellement fiable :

  • Le code qui a été soigneusement testé à la recherche de vulnérabilités de sécurité et qui est conforme aux indications décrites dans Instructions de codage sécurisé.

  • Les bibliothèques de code avec nom fort qui sont écrites spécifiquement pour les scénarios de confiance partielle.

  • Tous les composants (partiellement ou entièrement fiables) signés avec un nom fort qui seront appelés par du code téléchargé depuis Internet.

System_CAPS_noteRemarque

Certaines classes de la bibliothèque de classes .NET Framework ne possèdent pas l'attribut AllowPartiallyTrustedCallersAttribute et ne peuvent pas être appelées par du code partiellement fiable.

Afficher:
© 2016 Microsoft