Pages

Tuesday, February 14, 2012

How to Generate Machine Key in IIS7

Introduction

Machine key generates a unique key which helps you on single form because it helps to protect your Form Authentication cookies and page level View state. When user sends a request and Server A receives response with form Authentication cookies, now again he sends a request which was received by Server B and attempted to decrypt form authentication cookies which was unsuccessful to decrypt because server A was using his own unique machine key and server B was using its own unique machine key to decrypt the form Authentication cookies. To avoid this problem, use the same machine key on all servers.

Generate Machine Key in IIS7

Let’s see the example on how to generate machine key for web site.
  • Open your IIS Manager from Administrative tool -> Internet Information Services Manager.
  • In Connection pane on left side of window, click on the website.

  • Double click on Machine Key icon as shown below.
  • You will see Machine key page, default encryption method is SHA1, you can change it from dropdown list as shown.
  • Click on Generate Keys from Actions pane from left side of IIS window as shown.

  • Click Apply as shown.

  • Message will be shown on Alerts pane, "The changes have been successfully saved."

  • Open your Web.Config file, you will find the <machineKey> inside the <system.web> section as shown.

Web.Config

xml version="1.0" encoding="UTF-8"?>
<configuration>
     <system.web>
        <machineKey decryptionKey="43B77C7F7CCC3CDEF3AD3493D520C203D0E4A5D8EFB9FA52"
validationKey="7225EEAECE4ACD976C7F13D47C4BAC40C88EC24535F9B639D1CBDCB4A342163CCFB6
D7B86602F03F77E5A149055E30A11771225ED83D03FB41B01A3E93E921F9" />
    </system.web>
</configuration> 
Note: Apply this machine key on all web farm servers; this is my generated machine key.

No comments: