رمزگذاری سایت یا پیکربندی نرم افزار در NET.
سه شنبه 26 خرداد 1394در این مقاله چگونگی رمز نگاری سایت یا پیکربندی نرم افزاردر NET. ارائه شده است .
شرح Web Farm
می توانید از رمزنگاری RSA در Web Farm استفاده کنید چون کلید های RSA را خارج می کنید . نیاز به انجام این کار دارید اگر رمزنگاری اطلاعات در فایل Web.config قبل از گسترش آن به دیگر سرورها در Web Farm باشد. در این مورد،کلیدهای خصوصی به رمزگشایی اطلاعات که باید خارج شوندو توسعه یابند در سرور های دیگر نیاز دارند .
توجه : فرض کنید یک برنامه کاربردی sharepoint در پورت 8008 داریم نیاز به رمزنگاری قسمت <appSetting>، کلید APP_KEY با مقدارAPP_VALUE دارد.
در Source front end server
استفاده از روش های زیر :
1 .اجرای دستور زیر از command prompt برای ایجاد کلید رمزنگاری RSA :
aspnet_regiis -pc “CustomKeys” –exp
اگر دستور با موفقیت انجام شود ،خروجی زیر مشاهده خواهد شد :
Creating RSA Key container… Succeeded!
2. این قسمت جدیدرا در پورت 8008 به Web.config اضافه کنید .
<configProtectedData> <providers> <add keyContainerName="CustomKeys" useMachineContainer="true" description="Uses RsaCryptoServiceProvider to encrypt and decrypt" name="CustomProvider" type="System.Configuration.RsaProtectedConfigurationProvider,System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </providers> </configProtectedData>
3 . دستور زیر را در command prompt اجرا کنید .
aspnet_regiis -pef “appSettings” C:\inetpub\wwwroot\wss\VirtualDirectories\8008″ -prov “CustomProvider”.
اگر دستور با موفقیت انجام شود ،خروجی زیر مشاهده خواهد شد :
Encrypting configuration section... Succeeded!
توجه : این مرحله بخش appSettings رمز نگاری می کند. به یاد داشته باشید،لازم نیست نگران بازگرداندن دستورات NET. از appSettings باشید . تغییر خاصی وجود ندارد.
4 . برای ایجاد امکان دسترسی به مشخصات ASP.NET application pool ، دستور زیر را در command prompt اجرا کنید .
aspnet_regiis -pa “CustomKeys” “domainname\username” Here, domainname\username is the application pool administrator.
5 . دستور زیر را برای خروجی کلید رمز نگاری RSA از NET command prompt. اجرا کنید .
aspnet_regiis -px “CustomKeys” “C:\CustomKeys.xml” -pri
6 . در حال حاضر،فایل های CustomKeys.xml و web.config به سرور دیگر منتقل می شوند .
در سرور مقصد
از روش های زیر استفاده کنید :
1 . نرم افزار و فایل رمزگذاری شده Web.config را در سرور گسترش دهید . همچنین فایل CustomKeys.xml در دایرکتوری محلی در سرور کپی کنید ، برای مثال دایرکتوری //:C .
2 . در Web.config، درواقع نیاز به افزودن یک بخش جدید دارید و بخش رمزگذاری شده را جایگزین کنید(به عنوان مثال در این مورد <appSettings> را با یک فایل رمزنگاری شده جایگزین کنید و قسمت جدید زیر را اضافه کنید).
<configProtectedData> <providers> <add keyContainerName=”CustomKeys” useMachineContainer=”true” description=”Uses RsaCryptoServiceProvider to encrypt and decrypt” name=”CustomProvider” type=”System.Configuration.RsaProtectedConfigurationProvider,System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a” /> </providers> </configProtectedData>
3 . در سرور مقصد،دستورات زیر را برای ورود کلید های رمزنگاری RSA از command prompt اجرا کنید :
aspnet_regiis -pi “CustomKeys” “C:\CustomKeys.xml”
اگر دستور با موفقیت انجام شود ،خروجی زیر مشاهده خواهد شد :
Importing RSA Keys from file… Succeeded!
توجه : پس از اینکه ورود و خروج کلید های RSA را به پایان رساندید،حذف فایل customKeys.xml (به دلایل امنیتی) از هر دو سیستم مهم است .
طرز استفاده در نرم افزار
Default.aspx Web page را به دایرکتوری مجازی نرم افزار اضافه کنید سپس این صفحه را بررسی کنید که آیا رمزنگاری و رمزگشایی به درستی کار می کند .
<%@ Page Language=”C#” %> <script runat=”server”> protected void Page_Load(object sender, EventArgs e) { Response.Write(“AppSetting value is: ” + ConfigurationManager.AppSettings [“APP_KEY “].toString()); } </script> <html> <body/> </html>
- ASP.net
- 2k بازدید
- 3 تشکر