webconfig ファイルの 2 つのセクションを暗号化しました。1 つは connectionStrings と呼ばれ、もう 1 つは同じプロバイダーを使用する userAccount です。
私のコードでは、connectionString セクションは問題なく正常に復号化されますが、userAccounts という 2 番目のセクションを復号化すると、エラーが発生します。
正確なエラーメッセージは次のとおりです。
プロバイダー 'AqueductDevProvider' を使用した復号化に失敗しました。プロバイダーからのエラー メッセージ: RSA キー コンテナーを開けませんでした。
あなたの助けは大歓迎です。
ありがとう
Web構成ファイルのコードは次のとおりです
<configProtectedData>
<providers>
<add name="AqueductDevProvider"
type="System.Configuration.RsaProtectedConfigurationProvider, System.Configuration, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a,
processorArchitecture=MSIL"
keyContainerName="AqueductDevKeys"
useMachineContainer="true" />
</providers>
</configProtectedData>
<connectionStrings configProtectionProvider="AqueductDevProvider">
<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></CipherValue>
</CipherData>
</EncryptedKey>
</KeyInfo>
<CipherData>
<CipherValue></CipherValue>
</CipherData>
</EncryptedData>
</connectionStrings>
<userAccounts configProtectionProvider="AqueductDevProvider">
<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></CipherValue>
</CipherData>
</EncryptedKey>
</KeyInfo>
<CipherData>
<CipherValue></CipherValue>
</CipherData>
</EncryptedData>
</userAccounts>
これは、UserAccountsセクションから情報にアクセスしようとしている方法です
System.Configuration.ConfigurationManager.AppSettings["管理者名"]; 暗号化された AdminName と呼ばれる userAccounts にキーがあります。