2012-09-20 48 views
3

我們即將使用DPAPI來加密我們的ASP.NET web配置文件中的連接字符串。 但我對我們的Web羣集(場)使用RSA或DPAPI有困惑。 以下MSDN鏈接清楚地表明,如果我們想在Web場上部署ASP.NET應用程序,我們需要使用RSA提供程序。爲什麼要使用RSA進行DPAPI Web場加密?

http://msdn.microsoft.com/en-us/library/ms998280.aspx

http://msdn.microsoft.com/en-us/library/ms998283.aspx

但我不明白的問題,可以與我的Web場中使用的所有計算機DPAPI什麼。我基本上可以在所有服務器上執行相同的操作,並在每臺機器上創建一個新的「加密連接字符串」。爲什麼這不起作用?

+0

你到底在保護什麼?誰需要訪問它(例如,它是每臺機器還是跨機器共享......)? –

+0

我想保護包含數據庫密碼的連接字符串。只有Web應用程序需要訪問它。我不明白爲什麼MS要求在Web場上使用RSA令牌。我不明白爲什麼DPAPI不​​起作用。關鍵在農場的每個節點上都會有所不同,但它應該可以工作。 –

回答

2

該條款規定,它是可取的,但它不是一項任務。如果您的服務器場中有多臺計算機,則更容易加密一個文件並將其部署到多次,而不是轉到每臺計算機並「觸摸」它。

0

通過使用RSAProtectedConfigurationProvider您可以在一臺機器上使用custom RSA Key Container &導出這些密鑰來加密您的配置。然後,您可以將容器導入您部署應用程序的每臺服務器。 MSDN

1

它無法工作的原因是因爲您的Web場中使用的域帳戶將登錄到多臺計算機上。

「爲使DPAPI在使用漫遊配置文件時能夠正常工作,域用戶只能登錄到域中的單臺計算機上,如果用戶想要登錄到域中的其他計算機,用戶必須在用戶登錄到第二臺計算機之前註銷第一臺計算機,如果用戶同時登錄到多臺計算機,則DPAPI很可能無法正確解密現有的加密數據。

http://support.microsoft.com/kb/309408#6

我目前正在試圖解決這個問題莫名其妙,並會愛你如何解決它的一些想法!

Regards

+0

你有沒有找到一個好的方法來完成這項工作? – Julien

相關問題