2012-09-28 162 views
2

我在我具有被加密的某些連接字符串如下所示控制檯應用程序:解密連接字符串中的App.config

<connectionStrings configProtectionProvider="RsaProtectedConfigurationProvider"> 
    <EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element" 
     xmlns="http://www.w3.org/2001/04/xmlenc#"> 
     <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc" /> 
     <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#"> 
     <EncryptedKey xmlns="http://www.w3.org/2001/04/xmlenc#"> 
      <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" /> 
      <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#"> 
      <KeyName>Rsa Key</KeyName> 
      </KeyInfo> 
      <CipherData> 
      <CipherValue>soemvalue here</CipherValue> 
      </CipherData> 
     </EncryptedKey> 
     </KeyInfo> 
     <CipherData> 
     <CipherValue>some valye here</CipherValue> 
     </CipherData> 
    </EncryptedData> 
    </connectionStrings> 

我嘗試使用這樣的控制檯應用程序來訪問連接字符串:

var connectionString = ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString; 

我得到以下錯誤:

Failed to decrypt using provider 'RsaProtectedConfigurationProvider'. Error message from the provider: The RSA key container could not be opened.

當我嘗試從app.config訪問相同的連接字符串而不解密,然後它工作正常。加密有沒有問題?我認爲加密後,我只需要以正常的方式獲取連接字符串,它會自動解密。

+3

是你,你這個加密設置,同一臺機器上運行? – dumdum

+2

愚蠢的問題 - 它是在一臺機器上加密的,而你試圖在另一臺機器上讀取它?因爲它必須在同一臺機器上加密,否則它將無法工作。 – David

+3

這絕不是一個「愚蠢的問題」 – MUG4N

回答

相關問題