Я слышал, что есть некоторые инструменты, но я ими не пользуюсь.
Я создал какой-то инструмент https://sourceforge.net/p/headerfinder , может быть, это полезно. К сожалению, это инструмент "HOME MADE" со следующими проблемами:
Мы используем поставщика защищенной конфигурации RSA . Эта страница не легкая для чтения, но на ней есть то, что вам нужно.
Я рекомендую такую команду (пример из статьи):
aspnet_regiis.exe -pef "connectionStrings" C: \ Projects \ MachineRSA
Перед шифрованием строк подключения подумайте о том, от чего вы пытаетесь защитить, зашифровав их. Вашему приложению потребуется доступ к строке подключения в открытом виде по порядку и, следовательно, потребуется доступ к ключу. Следовательно, злоумышленник, который скомпрометирует ваше приложение ASP.Net, скорее всего, сможет украсть ключ и вашу защищенную строку подключения. Таким образом, шифрование на самом деле не дает больших преимуществ.
Вместо шифрования сосредоточьтесь на том, как этот файл обрабатывается операционным персоналом, и на разрешениях файла, которые применяются в производстве. Разрешить доступ на чтение только той учетной записи пула рабочих ASP.Net, от которой работает ваше приложение.
Вы могли подумать об этом, но в противном случае: RSAProtectedConfigurationProvider может использовать для шифрования ключи уровня компьютера или пользователя. По умолчанию используется машинный уровень. Это означает, что вы не можете зашифровать файл web.config один раз и развернуть его на каждой машине в своей веб-ферме. Вы должны зашифровать его на каждой машине, поскольку ключ для шифрования и дешифрования существует только на этом компьютере.
Вы можете обойти эту проблему, используя ключ уровня пользователя или общий доступ к ключу на всех машинах веб-фермы: