2010-09-21 11 views
23

Tôi tìm phần cấu hình machineKey cho ASP.NET ở đâu?Phần cấu hình máy ASP.NET Cấu hình mặc định

Tôi không có tài khoản nào trong đơn đăng ký Web.config, không có tài khoản nào trong thư mục gốc Web.config và không có tài khoản nào trong số machine.config của tôi.

Điều này có nghĩa là có một số mã được mã hóa mặc định khác vào ASP.NET không? Nếu vậy, các giá trị mặc định là gì? (Đối với NET 2 và 4)

Đã đọc: http://msdn.microsoft.com/en-us/library/w8h3skw9.aspx

tôi đã mong đợi để tìm một cái gì đó như thế này, ở đâu đó:

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

Edit: 1,1 docs dường như khá rõ ràng giá trị mặc định wrt: http://msdn.microsoft.com/en-us/library/w8h3skw9(VS.71).aspx nhưng 4 tài liệu khá mơ hồ http://msdn.microsoft.com/en-us/library/w8h3skw9.aspx

Trả lời

32

machineKey nằm dướiMục nhậptrong web.config

Tham khảo MSDN link cho web.config Giản đồ.

Nếu bạn không thấy nó trong web.config, bạn có thể thêm nó vào đó.

Từ MSDN nữa :-)

Để cung cấp bằng chứng ViewState tamper, một mã xác thực thông điệp băm (HMAC) được tạo ra từ nội dung ViewState và băm được so sánh trên yêu cầu tiếp theo. Thuộc tính xác nhận của chỉ ra thuật toán băm nào được sử dụng, và nó mặc định là SHA1, sử dụng thuật toán HMACSHA1. Các lựa chọn hợp lệ cho băm bao gồm SHA1 hoặc MD5, mặc dù SHA1 thích hợp hơn vì nó tạo ra một băm lớn hơn và được coi là mã hóa mạnh hơn MD5. Thuộc tính validationKey được sử dụng kết hợp với nội dung ViewState để tạo ra HMAC. Nếu ứng dụng của bạn được cài đặt trong một trang trại, bạn cần thay đổi validationKey từ AutoGenerate, IsolateApps thành một giá trị khóa được tạo theo cách thủ công cụ thể.

Cài đặt mặc định cho các yếu tố <pages><machineKey> được xác định trong tệp web.config.comments cấp máy.

Đối machineKey, họ

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

EDIT: Đối với .NET 4.0 các thuật toán mặc định đã được changed để SHA256 Tôi nghĩ rằng cách dễ nhất của việc tìm kiếm giá trị mặc định là để xem các mục trong MSDN cho giá trị cấu hình này.

MSDN 4.0 cho khóa máy như sau. Các giá trị được chọn là các giá trị mặc định. Các giá trị trong [] là các giá trị tùy chọn khác mà trường có thể thực hiện. Tôi nhớ đọc một nơi nào đó đây là cách điển hình trong MSDN biểu thị các giá trị mặc định cho các giá trị cấu hình.

<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

nếu không ở đó (không phải là) giá trị mặc định là gì? –

+0

Đã chỉnh sửa câu trả lời. cái đó có giúp ích không? – InSane

+4

ah 'web.config.comments'. đó là cái gì vậy? chỉ để liệt kê các giá trị mặc định sẽ được áp dụng nếu chúng không được xác định trong root 'web.config'? Ngoài ra, tôi thích cách cửa sổ tìm kiếm chỉ không hoạt động, hoặc id đã tìm thấy rằng bản thân mình! thanks –