先日、web.configの暗号化の記事を載せましたが、ASP.NET偽装のユーザ名、パスワードを暗号化するには更にひと工夫必要でした。
検証機:windows server 2016
ASP.NET偽装暗号化時の問題点
web.configをこんな感じで偽装するユーザ名、パスワードが設定されているとします
web.config
<system.web>
<identity impersonate="true" userName="accountname" password="password" />
<system.web>
こいつを暗号化するには、下のコマンドで暗号化はできるのですが、
<.NETFrameworkフォルダ>\aspnet_regiis -pef "system.web/identity" "<web.configのあるフォルダパス>"
暗号化後にブラウザでアクセスしてみると、HTTP エラー 500.19「構成セクションの暗号化はサポートされていません」というエラーが発生してしまいます
解決方法
web.configに以下を追加すると解決します。
web.config
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
</system.webServer>
注意点
この方法だと他の構成エラーが表示されなくなるので、事前に動作することを確認してから設定する必要がありそうです。