假设应用程序是 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密钥容器 . ”

知道问题可能是什么吗?