誰かがこれについて素晴らしいアイデアを持っているかどうか、私はただ興味があります.
多くの C# Windows サービスがあります。各アプリは複数のマシンにインストールされます (アプリに応じて 2 ~ 80 台の任意の場所)。
ネットワークのセキュリティ設定により、SQL サーバーに対して Windows 認証を (一貫して) 使用できないため、接続文字列と資格情報には実際のユーザー名とパスワードが含まれています。
インフラストラクチャ担当者は、ソフトウェアを展開するときに次のことができるようにしたいと考えています。1) 構成を一度編集します。さまざまなデータベース接続に適切なサーバー、ユーザー、およびパスワードを設定します。2) 接続文字列を (少なくとも) 暗号化するか、肉眼では判読できないようにします。3) その構成ファイルを、特定のソフトウェアのすべてのインストールにコピーします。これは、暗号化を特定のマシンに関連付けることができないことを意味します。
DPAPI はこれを行うことができますか? 1 つのキー セットをすべてのターゲットにインストールして、共通の構成ファイルを解読できるようにすることはできますか? この場合、構成はどのように編集されますか? 同じ方法で、他のユーザーが暗号化された構成を表示できないようにするにはどうすればよいですか?