Can we encrypt external appSettings and connectionStrings in web.config?

0
<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
 <appSettings configSource="appSettings.config"/>
 <connectionStrings configSource="connections.config"/>
 <system.web>
 <compilation debug="true" />
 <authentication mode="Windows"/>
 <identity impersonate="true"/>
 </system.web>
</configuration>

Above web.config is used in MVC Web Application. I tried to encrypt using RsaProtectedConfigurationProvider with aspnet_regiis. But it's not working as expected in simple Web.config where appSettings and connectionStrings present at the same file.

I am using the command to encrypt web.config

C:\Windows\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis -pef "connectionStrings" "D:\WebApplication" -prov "AppEncryptionProvider". 

C:\Windows\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis -pef "appSettings" "D:\WebApplication" -prov "AppEncryptionProvider".

but while using this in a web application it gives me the error as below: Failed to decrypt using provider 'AppEncryptionProvider'. Error message from the provider: The system cannot find the file specified. (Exception from HRESULT: 0x80070002)

Line 1:  <appSettings configProtectionProvider="AppEncryptionProvider">
Line 2:    <EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element"
Line 3:      xmlns="http://www.w3.org/2001/04/xmlenc#">
Line 4:      <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc" />
asp.net
security
encryption
web-config
asked on Stack Overflow Nov 21, 2017 by Abhijeet Bavne • edited Nov 22, 2017 by Abhijeet Bavne

1 Answer

0

Yes. You can do this with the below command by passing provider and your site name.

aspnet_regiis -pe "appSettings" -prov "{0}" -site {1} -app "/"

Where:

  • {0} is the name of your encryption provider specified in the web.config.
  • {1} is the Id of your site in IIS

Similar Question: Encrypting AppSettings in file external to Web.Config

answered on Stack Overflow Nov 21, 2017 by Kumar Lachhani

User contributions licensed under CC BY-SA 3.0