PDA

View Full Version : مشکل با انکریپت کردن کانکشن استرینگ



el_abdollahi
شنبه 22 دی 1386, 19:36 عصر
من از تابع زیر برای انکریپت کردن connectioonString استفاده کرده ام . خوب کار میکنه . فقط وقتی پروژه رو روی کامپیوتر دیگه ای می برم خطا میگیره . و باید کانکشن استرینگ رو به صورت کد نشده بزارم تا کار بکنه . لطفا کمک کنید .
تابع انکریپت :

Private Sub Encrypt_ConString()
Try
Dim config As Configuration
Dim section As ConnectionStringsSection
config = Web.Configuration.WebConfigurationManager.OpenWebC onfiguration("~")
section = config.GetSection("connectionStrings")
If section.SectionInformation.IsProtected Then
Else
section.SectionInformation.ProtectSection("DataProtectionConfigurationProvider")
End If
config.Save()
Catch ex As Exception
End Try
End Sub

کانکشن استرینگ کد نشده :

<connectionStrings>
<add name="MainConnectionString"
connectionString="Data Source=(local);Initial Catalog=DDD;uid=DDD;pwd=ggg"
providerName="System.Data.SqlClient" />
</connectionStrings>
کانکشن استرینگ کد شده :


<connectionStrings configProtectionProvider="DataProtectionConfigurationProvider">
<EncryptedData>
<CipherData>
<CipherValue>AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAaUYxD043h0y7hruDC/WU6gQAAAACAAAAAAADZgAAqAAAABAAAADV6cN7ikOXETbhhOd2/ZijAAAAAASAAACgAAAAEAAAANDUsnpw2UaOQPvhA1VsXPGQAQA AKLKpnpvFL2AfHRm5P65Mk1CQBK/ryQjQ+VzF1w+/jWYZEBGbRsZfUYTEoooPmvYQipZBHnxEETRHtcnnDZ0d+4+rPM UEwyy2Vs8tlUfa89c+4SMsDw65Iwsk72tSfqQRfsFgUjFtLS6+ Cr7yFe993KBVf2WDvNVzifUWwxRNUF1croiYq8N08F4ondw0Lv mP8F2AT6QriRSKgFa7ctlaagmSkB8Kvi/iO4H1wqNyu1L7njCG9cusA4tcvKXEvzrpgjC017M44+FlCKKNc hlk/mLwDTl2L15annnXhjiTVhrWIf9eBAyJ0/OcDO4NcrzNccnkbi/SNhERwUEMfeXuhEy0ARNFxAWL6xzH7+6yoFUDdbpR0CmM2HPYi 9EpspGZOF6WML4QrljJra9Qu0HXPUI4dqI+Z3fT9xa932ii3Ov f3y47rqJ+dinNs4U0QuyYpyK3H1oF/O0IQYliK8NXQafBeJfLXyybSUYLCHn6DDzEz587XAHUgQRhGHD G0Z02zTKONKCmHMcfsFg3tLCu3xQAAADcH/FqlcYpWbcMKiEbIecJzc4oJw==</CipherValue>
</CipherData>
</EncryptedData>
</connectionStrings>
روی این خط خطا میده :

section = config.GetSection("connectionStrings")
خطاش هم اینه :
Failed to decrypt using provider 'DataProtectionConfigurationProvider'. Error message from the provider: Key not valid for use in specified state. (Exception from HRESULT: 0x8009000B) (I:\ASP\manage\web.config line 26)
خط 26 فایل وب کانفیگ هم این تگه :


<EncryptedData>

anubis_ir
شنبه 22 دی 1386, 21:08 عصر
باید هم به همین صورت باشه. زمانیکه از این روش استاندارد استفاده می‌کنید بر اساس کلید منحصربفرد مربوط به سیستم جاری رمزنگاری صورت می‌گیرد. بنابراین روی سیستم دیگر باید شما این عملیات رو تکرار کنید .