Вы не можете зашифровать все <system.serviceModel>
- это группа разделов конфигурации, которая содержит разделы конфигурации.
aspnet_regiis
только шифровать разделы конфигурации - так что вам нужно выборочно шифровать те части, вам нужно, например:
cd C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
aspnet_regiis.exe -pef "system.serviceModel/bindings" .
aspnet_regiis.exe -pef "system.serviceModel/services" .
т.д.
При этом, вы можете зашифровать то, что вам нужно легко - что не слишком важно, можно оставить в ясном тексте.
Слово предупреждения: поскольку это aspnet_regiis
, он ожидает, что иметь дело с web.config
файлом - скопировать ваш app.config
в папку и назовите его web.config
, шифровать разделы и скопировать эти шифрованные разделы обратно в свой собственный app.config
.
Или напишите свой собственный скрипт/decrypter в разделе конфигурации - это действительно всего несколько строк кода! Или используйте мой - я написал небольшую утилиту ConfigSectionCrypt
, приходите с ее OneDrive - с полным исходным кодом (C# - .NET 3.5 - Visual Studio 2008). Он позволяет шифровать и расшифровывать разделы из любого файла конфигурации - просто укажите имя файла в командной строке.
http://stackoverflow.com/questions/855483/wcf-encryption-solution-for-app-config-viewable-to-a-client может помочь – PRR