Comment : signer des assemblys pour des sites Web précompilés

Mise à jour : novembre 2007

Vous pouvez signer numériquement les assemblys produits par l'outil de compilation ASP.NET (Aspnet_compiler.exe) pour améliorer la sécurité de votre application Web. La signature d'un assembly avec un nom fort rend plus difficile pour les intrus l'entrée de code malveillant dans votre application. Pour plus d'informations sur les avantages de l'utilisation d'assemblys signés, consultez Assemblys avec nom fort.

Chaque fois que vous signez un assembly avec le commutateur -keyfile ou -keycontainer, vous devez également indiquer que l'attribut AllowPartiallyTrustedCallersAttribute doit être appliqué à l'assembly en utilisant le commutateur -aptca. Si vous ne spécifiez pas le commutateur -aptca, votre assembly ne peut pas être appelé par le processus ASP.NET et Aspnet_compiler.exe lève une exception.

La procédure contenue dans cette rubrique utilise une paire de clés avec nom fort ainsi que les commutateurs et les paramètres de Aspnet_compiler.exe. Pour plus d'informations sur cet outil, consultez ASP.NET Compilation Tool, outil (Aspnet_compiler.exe). Pour plus d'informations sur les clés avec nom fort, consultez Création et utilisation d'assemblys avec nom fort.

Pour plus d'informations sur la précompilation, consultez Précompilation du site Web ASP.NET.

Pour signer des assemblys pour un site Web précompilé

  1. Créez une paire de clés avec nom fort ou un conteneur de clé. Pour plus d'informations sur la création d'une clé avec nom fort, consultez Comment : créer une paire de clés publique/privée.

  2. Ouvrez une fenêtre de commande et accédez au dossier qui contient le .NET Framework.

    Le .NET Framework est installé à l'emplacement suivant.

    %windir%\Microsoft.NET\Framework\version
    
  3. Exécutez la commande aspnet_compiler en tapant ce qui suit à une invite de commandes.

    aspnet_compiler -v virtualPathtargetPath -keyfile keyFile.snk -aptca
    

    Le paramètre virtualPath indique le chemin d'accès virtuel des services IIS (Internet Information Services) de votre site Web, le paramètre targetPath indique un chemin d'accès physique au répertoire pour le site Web compilé et keyFile.snk indique le nom du fichier de clé.

    Si vous utilisez un conteneur de clé, tapez la ligne suivante à une invite de commandes.

    aspnet_compiler -v virtualPathtargetPath -keycontainer keyContainer.snk -atpca
    

    Si votre site Web n'est pas une application IIS et par conséquent n'a aucune entrée dans la métabase IIS, tapez la ligne suivante à une invite de commandes.

    aspnet_compiler -p physicalOrRelativePath -v / targetPath -keyfile keyFile.snk -aptca
    

    Dans ce cas, le paramètre physicalOrRelativePath fait référence au chemin qualifié complet du répertoire où se trouvent les fichiers du site Web ou à un chemin d'accès relatif au répertoire actif. L'opérateur point (.) est autorisé dans le paramètre physicalOrRelativePath. Le commutateur -v spécifie une racine dont le compilateur se servira pour résoudre les références de la racine de l'application, par exemple avec l'opérateur tilde (~). Lorsque vous spécifiez la valeur / pour le commutateur -v, le compilateur résout les chemins d'accès en utilisant le chemin d'accès physique comme racine.

    Si vous utilisez un conteneur de clé, tapez la ligne suivante à une invite de commandes.

    aspnet_compiler -p physicalOrRelativePath -v / targetPath -keycontainer keyContainer.snk -aptca
    

    Le paramètre targetPath constitue un chemin d'accès physique au répertoire de destination.

Voir aussi

Tâches

Comment : précompiler des sites Web ASP.NET

Autres ressources

Précompilation du site Web ASP.NET