2016-11-17 5 views
1

web.configに暗号化が必要なカスタムセクションがあります。このカスタム設定セクションでは、configSource属性を使用して別の設定ファイルを指しています(このファイルはソース管理されていないため)。この個別の設定ファイルを暗号化したいと思います。私はこのセクションを暗号化するためにaspnet_regiis.exeを使用して運がない。web.configからconfigSourceとして指定された設定ファイルを暗号化することはできますか?

達成しようとしていることはありますか?

私のweb.configファイル:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <configSections> 
     <section name="protectedAppSettings" type="System.Configuration.NameValueSectionHandler, System,Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />  
    </configSections>  
    <protectedAppSettings configSource="config\EnvironmentConfigurations\ProtectedAppSettings.config" /> 
    </configuration> 

マイカスタム構成ファイル:

<?xml version="1.0" encoding="utf-8"?> 
<protectedAppSettings> 
    <add key="XXX" value="xxx"/> 
</protectedAppSettings> 

私は私のサイトのルートディレクトリからそれを呼び出すことができますので、私は私の道にます。aspnet_regiisを追加しました。

aspnet_regiis -pef protectedAppSettings "" 

私は、このコマンドからの取得の出力は暗号化することは、私はそれがだけを動作するはずですが、それはdoesnのことを言うthis linkを見つけた

成功したことを私に語った:これは私が実行していますコマンドです

答えて

0

これは、自分の設定セクションを定義するために使用していたタイプのためです。それを証明するドキュメントはありませんが、NameValueSectionHandlerタイプは設定ソースとして使用されると暗号化されません。解決策は、タイプをSystem.Configuration.AppSettingsSectionに変更し、暗号化が正しく機能するようにすることでした。

関連する問題