2010-09-21 8 views
23

Wo finde ich den machineKey Konfigurationsabschnitt für ASP.NET?ASP.NET MachineKey-Konfiguration Abschnitt Standardspeicherort

Ich habe keine in meiner Anwendung Web.config, es gibt keinen in der Wurzel Web.config und es gibt keinen in meinem machine.config.

Bedeutet dies, dass einige andere Standard in ASP.NET hartcodiert sind? Wenn ja, Was sind die Standardwerte? (für .NET 2 und 4)

Nachdem dies lesen: http://msdn.microsoft.com/en-us/library/w8h3skw9.aspx

Ich hatte erwartet, etwas zu finden, irgendwo:

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

Edit: die 1.1 docs scheinen ziemlich klar mit Standardwerten: http://msdn.microsoft.com/en-us/library/w8h3skw9(VS.71).aspx aber die 4 Dokumente sind eher mehrdeutig http://msdn.microsoft.com/en-us/library/w8h3skw9.aspx

Antwort

32

machineKey befindet sich unter System.web Eintrag in web.config

Siehe MSDN link für web.config Schema.

Wenn Sie es nicht in Ihrer web.config sehen, können Sie es einfach dort hinzufügen.

Von MSDN wieder :-)

manipulationssicher Viewstate bereitzustellen, ein gehashte Nachrichtenauthentifizierungscode (HMAC) aus dem Viewstate Inhalt erzeugt und die Hash wird bei nachfolgenden Anforderungen verglichen. Das Validierungsattribut gibt an, welcher Hashing-Algorithmus verwendet werden soll. SHA1 verwendet standardmäßig den HMACSHA1-Algorithmus. Gültige Optionen für Hashing sind SHA1 oder MD5, obwohl SHA1 vorzuziehen ist, da es einen größeren Hashwert erzeugt und als kryptographisch stärker als MD5 betrachtet wird. Das validationKey-Attribut von wird in Verbindung mit dem ViewState-Inhalt verwendet, um den HMAC zu erzeugen. Wenn Ihre Anwendung in einer Webfarm installiert ist, müssen Sie den validationKey von AutoGenerate, IsolateApps in einen bestimmten manuell generierten Schlüsselwert ändern.

Die Standardeinstellungen für die <pages> und <machineKey> Elemente in der Maschinenebene definiert sind web.config.comments Datei.

Für machineKey, sie sind

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

EDIT: Für .NET 4.0 der Standard-Algorithmus wurde changed zu SHA256 Ich denke, dass der einfachste Weg, um die Standardwerte zu finden, ist es, den Eintrag zu sehen, in die MSDN für diesen Konfigurationswert.

MSDN 4.0 für Maschinenknopf ist wie folgt. Die ausgewählten Werte sind die Standardwerte. Die Werte in [] sind die anderen optionalen Werte, die das Feld annehmen kann. Ich erinnere mich, irgendwo gelesen zu haben. Dies ist die typische Methode in MSDN, Standardwerte für die Konfigurationswerte anzugeben.

<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

wenn es nicht dort ist (was es nicht ist), was sind die Standardeinstellungen? –

+0

Bearbeitete die Antwort. Hilft das? – InSane

+4

ah 'web.config.comments'. Wofür ist das? nur um die Standardwerte aufzulisten, die angewendet werden, wenn sie nicht im root 'web.config' angegeben sind? Außerdem mag ich die Art, wie Windows-Suche funktioniert einfach nicht, oder ID habe ich selbst gefunden! danke –

Verwandte Themen