0

以下の構成に示すように、キーが物理ファイルに保存されるエンタープライズ ライブラリ 4.1 対称キー プロバイダーを使用する従来の ASP.NET アプリケーションがあります。マシンキー保護を使用します。

<symmetricCryptoProviders>
              <add algorithmType="System.Security.Cryptography.RijndaelManaged, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
                protectedKeyFilename="F:\wwwroot2\MSEntLib3.1\key\EncryptionKey.key"
                protectedKeyProtectionScope="Machine" type="Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.SymmetricAlgorithmProvider, Microsoft.Practices.EnterpriseLibrary.Security.Cryptography, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
                name="RijndaelManaged" />
            </symmetricCryptoProviders>

Azure にデプロイしましたが、アプリケーションで "EncryptionKey.key" が見つかりませんというエラーがスローされます。Enterprise Library Crypto を Azure で使い続ける方法を教えてください。

キーを作成し、Azure Web ロールを含む任意の Web サーバーで使用できるオプションはありますか?

ありがとう

4

1 に答える 1

1

対称暗号化プロバイダー キーは、アプリケーション構成ファイル内の完全な物理ファイル パスと名前を使用して参照されるファイルに格納され、構成に示されているように DPAPI 暗号化によって保護されます。Windows Azure では DPAPI を使用できないため、エンタープライズ ライブラリの対称暗号化プロバイダーをそのまま使用しても機能しません。

ただし、Enterprise Library Crypto ブロックで使用するカスタム対称アルゴリズム プロバイダーを作成することを検討できます。このプロバイダーは、.NET 暗号化サービス プロバイダーを使用して暗号化を実装し、ベスト プラクティスとしてキーを暗号化された形式で保存し、暗号化をオフラインで実行して Windows Azure BLOB ストレージに保存することができます。このアプローチの詳細については、「Windows Azure アプリケーションでの証明書ベースの暗号化の使用」と、Windows Azureでの接続文字列の保護に関するこの投稿を参照してください。

于 2013-08-14T17:28:12.293 に答える