2011-12-01 37 views
12

Tôi cần mã hóa một số phần nhất định của cấu hình web. Sau khi đọc một số hướng dẫn tôi đã học được rằng bằng cách sử dụng công cụ ASPNET_REGIIS là con đường để đi. Đây là những gì tôi đang cố gắng vào lúc này: "Phần cấu hình 'system.web \ sắc' không tìm thấy" Từ Command PromptMã hóa cấu hình web bằng cách sử dụng ASPNET_REGIIS

ASPNET_REGIIS -pef "identity" "D:\IIS\admin.mySite.com" 


ASPNET_REGIIS -pef "system.web\identity" "D:\IIS\admin.mySite.com" 

"Phần cấu hình 'system.web \ sắc' không được tìm thấy."


ASPNET_REGIIS -pef "system.web/identity" "D:\IIS\admin.mySite.com" 

"Không thể để mã hóa phần 'system.web/bản sắc' sử dụng nhà cung cấp Thông báo lỗi 'RsaProtectedConfigurationProvider' từ nhà cung cấp:. Object đã tồn tại"


Để thử và xem nếu đang nhận được bất cứ điều gì đúng tôi thử như sau:

ASPNET_REGIIS -pef "connectionStrings" "D:\IIS\admin.mySite.com" 

"Không thể để mã hóa phần 'connectionStrings' sử dụng nhà cung cấp 'RsaProtectedConfigurationProvider' Thông báo lỗi từ nhà cung cấp: Đối tượng đã tồn tại. "


ASPNET_REGIIS -pef "connectionStrings" "D:\IIS\admin.mySite.com" 

"Không thể để mã hóa phần 'connectionStrings' sử dụng nhà cung cấp 'RsaProtectedConfigurationProvider' Thông báo lỗi từ nhà cung cấp:. Object đã tồn tại"


ASPNET_REGIIS -pef "DoesNotExist" "D:\IIS\admin.mySite.com" 

"Phần cấu hình 'DoesNotExist' không được tìm thấy."


Trợ giúp!

+1

Tôi tin rằng khóa được lưu trữ ở đây: 'C: \ Documents and Settings \ Tất cả người dùng \ Application Data \ Microsoft \ Crypto \ RSA \ MachineKeys', bạn có thấy không? Nếu vậy, hãy thử gỡ bỏ nó và chạy mã hóa với 'connectionStrings' như là một thử nghiệm để xem nó có hoạt động hay không. – Sam

+1

Đối với Windows 7 trở đi, có vẻ như chúng được lưu trữ ở đây 'C: \ ProgramData \ Microsoft \ Crypto \ RSA \ MachineKeys' – dana

Trả lời

5

Hãy thử điều này:

ASPNET_REGIIS -pef "system.web/identity" "D:\IIS\admin.mySite.com" 

Nếu phần bạn đang cố gắng để mã hóa không phải là trực thuộc các yếu tố configuration bạn cần phải cung cấp đầy đủ đường dẫn đến nó.

+0

Nó là như bạn nói, như thế này: Nhưng vẫn im nhận được thông báo không thể tìm thấy phần đó. Tôi đã nhận được đường dẫn từ phải cklicking các tập tin để đảm bảo rằng nó là con đường bên phải. Lautaro

+0

@Lautaro - Tôi có thể đã nhầm lẫn với dấu gạch chéo ngược - hãy thử sử dụng '/' thay thế. – Oded

+0

Tôi đã thử nó và một loạt những người khác như một thử nghiệm. Vì vậy, có vẻ như dấu gạch chéo phía trước là con đường để đi. Tôi cũng có vẻ như các tập tin cấu hình web được tìm thấy. Vì vậy, tôi không hiểu những gì tôi đang làm sai. Cảm ơn vì đã giúp tôi với điều này. – Lautaro

3

Thông báo lỗi "không tìm thấy đối tượng" xảy ra khi aspnet_regiis chạy dưới dạng người dùng không thể đọc vùng chứa khóa RSA.

Các phím được giữ trong "C: \ Documents and Settings \ Tất cả người dùng \ Application Data \ Microsoft \ Crypto \ RSA \ MachineKeys". Vùng chứa khóa mặc định được đặt tên là "NetFrameworkConfigurationKey". Đảm bảo bạn đã đọc quyền đối với vùng chứa khóa này.

Lưu ý rằng bạn cần phải cấp quyền truy cập đọc vào danh tính mà ứng dụng của bạn sẽ chạy. Phương pháp dễ nhất để làm điều này là thông qua công cụ aspnet_regiis: aspnet_regiis -pa "NetFrameworkConfigurationKey" "Yourdomain \ username".

29

Tôi đã gặp sự cố tương tự và khi tôi thử chạy nó từ dấu nhắc lệnh có đặc quyền nâng cao ("chạy dưới quyền quản trị viên") đã giải quyết được sự cố.

0

Tôi rất vui với bài đăng này và tôi muốn xác nhận về làm thế nào để mã hóa các chuỗi kết nối và cũng làm thế nào để giải mã nó bằng cách sử ASPNET_REGIIS Tool:

Đối với mã hóa:

aspnet_regiis.exe -pef "connectionStrings" "D:\ProjectAcc" 

Đối giải mã:

aspnet_regiis.exe -pdf "connectionStrings" "D:\ProjectAcc" 

NB:

  • Khi tôi đang thực hiện thao tác này, tôi tìm thấy một số vấn đề tôi muốn thông báo cho nó:

1) Các hoạt động của mã hóa lưu tại đầu tiên bởi vì tôi không cài đặt thời gian ASP.NET chạy để IIS bằng cách chạy như lệnh sau:

C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_regiis.exe -i

2) khi tôi đang làm việc về vấn đề đầu tiên tôi nhận được một số khác ngớ ngẩn :), đó là mỗi lần tôi cài đặt nó, tôi nhận được lỗi này:

Đã xảy ra lỗi: 0x8007b799 Bạn phải có quyền quản trị trên máy này để chạy công cụ này.

Giải pháp: Tắt UAC sẽ khắc phục sự cố này. Từ Menu Bắt đầu> Pa-nen Điều khiển> Hệ thống và Bảo mật> Trung tâm Hành động> Chọn Cấp UAC của bạn - Đặt cài đặt này thành Không bao giờ Thông báo (Yêu cầu khởi động lại).

Cảm ơn bạn và tôi ước rằng tôi có thể trợ giúp.

+0

Khởi chạy nhắc lệnh trong chế độ quản trị viên, sau đó tiến hành như đã nêu ở trên. – Sam

3

1- Run cmd as administrator 2- đi đến thư mục aspnet_regiis.exe dòng lệnh

3-To Mã hóa: aspnet_regiis.exe -pef "connectionStrings" "C: .. \ YourApplication" -prov "DataProtectionConfigurationProvider

4-Để Giải mã: aspnet_regiis.exe -pdf "connectionStrings" "C: .. \ YourApplication"

0

tôi thử nghiệm aspnet_regiis.exe -pef "connectionStrings" "C:..\YourApplication", nếu không chạy như quản trị, nó sẽ có e rror "Object đã tồn tại". Nếu chạy nó như là quản trị viên, nó hoạt động.

Các vấn đề liên quan