Мне просто любопытно, есть ли у кого-нибудь отличные идеи по этому поводу.
У нас есть много C # windows-сервисов. Каждое приложение установлено на нескольких компьютерах (от 2 до 80, в зависимости от приложения.)
В связи с настройкой безопасности сети мы не можем (последовательно) использовать проверку подлинности Windows для серверов SQL, поэтому в наших строках и учетных данных подключения есть действительные имена пользователей и пароли.
Сотрудники нашей инфраструктуры хотят иметь возможность при развертывании программного обеспечения:
1) Отредактируйте конфигурацию один раз - установите соответствующий сервер, пользователя и пароли для различных подключений к базе данных.
2) Зашифруйте строки соединения (по крайней мере) или не прочитайте их невооруженным глазом
3) Скопируйте этот файл конфигурации во все установки определенного программного обеспечения. Это означает, что шифрование не может быть привязано к конкретной машине.
Может ли DPAPI сделать это? Можно ли установить один набор ключей на все цели, чтобы можно было расшифровать общий файл конфигурации? Как редактируется конфигурация в этом случае? Как вы удерживаете других пользователей от просмотра зашифрованной конфигурации таким же образом?