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訪問相同的連接字符串而不解密,然後它工作正常。加密有沒有問題?我認爲加密後,我只需要以正常的方式獲取連接字符串,它會自動解密。
是你,你這個加密設置,同一臺機器上運行? – dumdum
愚蠢的問題 - 它是在一臺機器上加密的,而你試圖在另一臺機器上讀取它?因爲它必須在同一臺機器上加密,否則它將無法工作。 – David
這絕不是一個「愚蠢的問題」 – MUG4N