如何加密app.config连接字符串并以用户身份执行应用?

时间:2018-12-10 08:08:17

标签: encryption web-config console-application app-config

假设应用程序为console application,并且将以cron job under domain\user的身份运行。 app.config连接字符串需要加密。从管理员命令提示符处执行了以下命令。

  • 将新的KeyContainer创建为可导出的 aspnet_regiis.exe -pc "SecureKeys" -exp

  • 授予域\用户密钥容器的权限 aspnet_regiis.exe -pa "SecureKeys" "domain\user

  • 包含在app.config中

    <configProtectedData>  
     <providers>  
        <add keyContainerName="SecureKeys"  
                 useMachineContainer="false"  
                 name="EncryptionProvider"  
                 type="System.Configuration.RsaProtectedConfigurationProvider"/>  
       </providers>  
     </configProtectedData>
    
  • 加密连接字符串 aspnet_regiis.exe -pef CustomConfig . -prov EncryptionProvider

当尝试以域/用户身份执行控制台应用程序时,抛出以下错误:

  

“无法使用提供程序'RsaProtectedConfigurationProvider'解密。提供程序的错误消息:无法打开RSA密钥容器。”

知道可能是什么问题吗?

0 个答案:

没有答案