Так, используя aspnet_regiis.exe Util я сделал следующийПочему шифрование файла Web.config работает без предоставления имени keyContainerName?
//Create the container
aspnet_regiis -pc MyRSAKey -exp
//Write key to file
aspnet_regiis -px MyRSAKey MyRSAKey.xml
//Install the key into a machine-level RSA key provider.
aspnet_regiis -pi MyRSAKey MyRSAKey.xml
//Grant access to the contrainer
aspnet_regiis -pa "MyRSAKey" "NT Authority\Network service"
Теперь я думал, что использовать этот ключ мне нужно, чтобы добавить это в файл web.config
<configProtectedData defaultProvider="MyProviderName">
<providers>
<add
name="MyProviderName"
type="System.Configuration.RsaProtectedConfigurationProvider, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
keyContainerName="MyRSAKey"
useMachineContainer="true" />
</providers>
Теперь, когда я запускаю эту команду, она работает:
aspnet_regiis -pef "sectiomName" "pathToConfigFile" -prov "MyProviderName"
Дело в том, что он работает независимо от того, какое значение у меня есть для keyContainerName. Или даже когда я полностью исключаю keyContainerName из файла конфигурации, он все еще работает, предполагая, что он фактически не использует ключ, который я сгенерировал и установил.
Также визуальная студия 2010 даже не распознает keyContainerName (или useMachineContainer), заявив, что имя «keyContainerName» недопустимо.
Что здесь происходит?>
Почему вы используете [несколько восклицательных знаков] (http://wiki.lspace.org/wiki/Multiple_exclamation_marks)? –
, потому что он передает обостренную досаду !!! – x0n