2012-01-08 41 views
1

ASP.Net 4.0プロジェクトのweb.configの一部を暗号化する必要がありますが、AESを使用する必要があり、デフォルトはTriple DESと思われます。代わりにAES暗号化を使用するように指示するにはどうすればよいですか?コマンドプロンプトでaspnet_regiisでAES暗号化を選択/適用してweb.config値を暗号化するにはどうすればよいですか?

私は、次のコマンドを実行します。

aspnet_regiis -pc "NetFrameworkConfigurationKey" -exp 
aspnet_regiis -pe "connectionStrings" -app "/<myapp>" 

私は適切なCSP(-csp)を選択することで、AESへの暗号化方式を設定しますが、私は見つけることができませんでしたか、数字把握右の名前を外してください。

および暗号化されたweb.configファイル内の行のものである:

<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc" /> 

答えて

2

プロバイダはます。aspnet_regiisに-provパラメータを使用して選択されます。プロバイダは、configProtectedDataセクションを使用してweb/machine.configに登録されます。 RSAとDPAPIはのmachine.configで事前に設定されているアルゴリズム私のマシン上で

<configProtectedData> 
    <providers> 
     <add name="AesProvider" 
      type="Microsoft.ApplicationHost.AesProtectedConfigurationProvider" 
      description="Uses an AES session key to encrypt and decrypt" 
      keyContainerName="iisConfigurationKey" cspProviderName="" 
      useOAEP="false" useMachineContainer="true" 
      sessionKey="aSessionKeyGoesHere" /> 
    </providers> 
</configProtectedData> 

:AESを登録するためには、このようなものを使用します。 AESプロバイダは、使用してconfigセクションを暗号化することができるはずが登録されていることを提供

aspnet_regiis -pe "connectionStrings" -app "/<myapp>" -prov "AesProvider" 
+0

日時:SESSIONKEY =「aSessionKeyGoesHere」:これはインターネット要求セッションに関連していますか?私はこれをどのように設定するのでしょうか、あるいは適切な価値をどのように計算または導出するのでしょうか? –

+0

また、私は私のアプリとmachine.configのweb.configの両方でこれを実装しようとしましたが、私はいつもこのエラーを受け取ります: 暗号化設定セクション... 'Microsoft.ApplicationHost.AesProtectedConfigurationProvider'をアセンブリから読み込めませんでした'System.Configuration、Version = 4.0.0.0、Culture =ニュートラル、PublicKeyToken = b03f5f7f11d50a3a'。 失敗しました! –

+0

sessionKeyは、使用するAES暗号化キーです。おそらくAesProtectedConfigurationProviderは、フレームワーク履歴のある時点で利用可能な暗号化プロバイダから削除されており、現在はRSAとDPAPIだけがコアの一部です。私はAesプロバイダのソースを見つけることができませんでした。これは、古い暗号化サンプルとmachine.configサンプルで参照されています。 – PHeiberg

関連する問題