Uses for MachineKey in ASP.NET
Asked Answered
F

3

16

What different ways are Machine Keys useful in asp.net? I think the following are correct but thought there may be more.

  1. Multiple applications can use the same cookie
  2. Multiple servers can work with the same viewstate
Fungal answered 15/2, 2009 at 2:38 Comment(1)
@Ben found this question while looking for another info, added some missing info in an answer.Frieda
O
20

MachineKey is used for:

  • ViewState encryption and validation
  • Forms Authentication (or Federated Authentication) uses this key for signing the authentication ticket

Having a Web App installed on multiple servers requires same Machine Key configured on all of them in order for Load Balancing to work.

To see all details, please refer to: MSDN How To: Configure MachineKey in ASP.NET 2.0

Octal answered 15/2, 2009 at 17:3 Comment(0)
F
18

Machine key is also used to encrypt/decrypt the webresources.axd parameters.

Even on a single server the machine key should be configured, because any recycle of the app domain will generate a new key when it is set to auto. This causes the next postback just for pages rendered before the recycle, to cause a viewstate validation error, and also issues with the resources during that time.

Frieda answered 1/4, 2009 at 19:2 Comment(0)
A
-3

Encryption - very common.

Allethrin answered 15/2, 2009 at 3:11 Comment(4)
The values in the cookies and viewstate are encrypted based on the MachineKey. Could you say what else is being encrypted?Fungal
f.e. passwords by membership provider could be encrypted using machine keyAubreyaubrie
@mikus: Which is a bad idea. Hashing with a unique salt per user should be used instead.Longshore
pretty old stuff :D I don't think i meant encryption of user passwords to be stored in db, rather credentials to be used by the system, dont remember nowAubreyaubrie

© 2022 - 2024 — McMap. All rights reserved.