2011-12-06 44 views
0

我有“Class library projet”,稍后在Web服务器上作为HttpHandler工作。所以我有本地2文件app.config(对于本地开发,因为它是一个DLL)和web.config(对于远程Web服务器)。为HttpHandler加密配置文件

所以现在我想加密配置文件。所有东西都被加密并在远程Web服务器上导入。但处理程序不起作用。我收到一个错误:"Failed to decrypt using provider 'My_Provider'. Error message from the provider: The RSA key container could not be opened."

在我的开发PC一切工作正常。哪里不对?

所以这个我出口步骤

cd %windir%\Microsoft.NET\Framework\v4.0.30319

aspnet_regiis -pc "My_Keys" -exp

aspnet_regiis -pa "My_Keys" "IIS APPPOOL\CustomAppPool"

aspnet_regiis -pef "connectionStrings" "HandlerProjectPath" -prov "My_Provider"

aspnet_regiis -px "MyKeys" "HandlerProjectPath\MyKeys.xml" -pri

pause

这些都是重要的步骤

%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis -pi "My_Keys" "MyKeys.xml"

pause

附:我的处理程序在名为“CustomAppPool”的自定义AppPool中的IIS 7上工作。我专门在PC上创建了一个应用程序池名称。

这是我configData

Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a,
processorArchitecture=MSIL"

 keyContainerName="My_Keys" 
     useMachineContainer="true" /> 
</providers> </configProtectedData> 

提前感谢!

回答

1

我认为在导入密钥对之后,您需要授予对分配给您的AppPool的IIS身份的容器访问权限。

+0

是的,它帮助!谢谢! – user970742