2010-09-21 18 views
23

Où puis-je trouver la section de configuration machineKey pour ASP.NET?Section de configuration ASP.NET machineKey config par défaut

Je n'en ai pas dans mon application Web.config, il n'y en a pas dans la racine Web.config et il n'y en a pas dans mon machine.config. Cela signifie-t-il qu'il existe d'autres valeurs par défaut codées en dur dans ASP.NET? Si oui, quelles sont les valeurs par défaut? (pour 2 et 4 .NET)

Après avoir lu ceci: http://msdn.microsoft.com/en-us/library/w8h3skw9.aspx

je comptais trouver quelque chose comme ça, quelque part:

<machineKey 
    validationKey="AutoGenerate,IsolateApps" 
    decryptionKey="AutoGenerate,IsolateApps" 
/> 

Edit: 1.1 les documents semblent assez clairs wrt valeurs par défaut: http://msdn.microsoft.com/en-us/library/w8h3skw9(VS.71).aspx mais les 4 documents sont plutôt ambigus http://msdn.microsoft.com/en-us/library/w8h3skw9.aspx

Répondre

32

machineKey est situé dans System.web entrée dans web.config

Référez MSDN link pour le schéma web.config.

Si vous ne le voyez pas dans votre web.config, vous pouvez simplement l'ajouter là.

De MSDN à nouveau :-)

fournir une preuve ViewState sabotage, un code d'authentification de message haché (HMAC) est généré à partir du contenu de ViewState et le hachage est comparé aux demandes ultérieures. L'attribut de validation indique l'algorithme de hachage à utiliser, SHA1 par défaut, qui utilise l'algorithme HMACSHA1. Les choix valides pour le hachage incluent SHA1 ou MD5, bien que SHA1 soit préférable car il produit un hachage plus grand et est considéré cryptographiquement plus fort que MD5. L'attribut validationKey de est utilisé conjointement avec le contenu ViewState pour produire le HMAC. Si votre application est installée dans une batterie de serveurs Web, vous devez modifier la validationKey de AutoGenerate, IsolateApps à une valeur de clé spécifique générée manuellement.

Les paramètres par défaut pour les éléments sont définis <pages> et <machineKey> dans la machine-niveau web.config.comments fichier.

Pour machineKey, ils sont

<machineKey validationKey="AutoGenerate,IsolateApps" 
      decryptionKey="AutoGenerate,IsolateApps" 
      validation="SHA1" decryption="Auto" /> 

EDIT: Pour .NET 4.0 l'algorithme par défaut a été changed à SHA256 Je pense que la meilleure façon de trouver les paramètres par défaut est de voir l'entrée en le MSDN pour cette valeur de configuration.

MSDN 4.0 pour la clé machine est comme ci-dessous. Les valeurs sélectionnées sont les valeurs par défaut. Les valeurs de [] sont les autres valeurs facultatives que le champ peut prendre. Je me souviens avoir lu quelque part c'est la manière typique dans MSDN de signaler des valeurs par défaut pour les valeurs de configuration.

<machineKey 
    validationKey="AutoGenerate,IsolateApps" [String] 
    decryptionKey="AutoGenerate,IsolateApps" [String] 
    validation="HMACSHA256" [SHA1 | MD5 | 3DES | AES | HMACSHA256 | 
    HMACSHA384 | HMACSHA512 | alg:algorithm_name] 
    decryption="Auto" [Auto | DES | 3DES | AES | alg:algorithm_name] 
/> 
+2

si ce n'est pas là (ce qu'il n'est pas) quelles sont les valeurs par défaut? –

+0

Modifié la réponse. Est ce que ça aide? – InSane

+4

ah 'web.config.comments'. c'est pour quoi? juste pour lister les valeurs par défaut qui seront appliquées si elles sont spécifiées dans la racine 'web.config'? En outre, j'aime la façon dont la recherche de Windows ne fonctionne tout simplement pas, ou id ont trouvé moi-même! merci –