шифрування appsettings app.config служби Windows

У мене є служба Windows, яка працює в декількох випадках виробництва.

У конфігураційному файлі для цієї служби Windows є певні безпечні дані, які потребують шифрування.

Good thing - We have only values that are part of appsettings section to be encrypted.

Bad thing - there are 3rd party black box assemblies which consume some of the secure appsettings keys. which means we cannot switch to a different configuration manager.

Отже, ось обмеження, які є частиною нашої проблеми,

  1. Кілька виробничих серверів, тому NO на основі машинного шифрування (я не віддаю перевагу користувальницькому профілю, тому що це не обмежує службу)
  2. Налаштування програми повинні бути споживаними за допомогою програми ConfigurationManager.AppSettings ["Key1"] як звичайно. таким чином, існуючі коди і збірки чорного ящика все ще здатні їх споживати.

Будь-які ідеї/пропозиції/рішення?

1

1 Відповіді

Ви можете скористатися RsaProtectedConfigurationProvider , як описано в ця стаття пов'язана з першою частиною відповіді Давида Піраса . Не впевнений, чому він видалив відповідь, оскільки перша частина, здається, робить саме те, що ви хочете.

У статті пояснюється, як спільно використовувати ключ між декількома серверами, щоб можна було використовувати той самий зашифрований файл конфігурації на всіх серверах. Хоча це і залишає вас важко вирішити ключову проблему управління.

Ви впевнені, що вам потрібно поділитися тим же зашифрованим файлом конфігурації між усіма виробничими серверами, і тому використовувати спільний ключ? Альтернативний підхід полягає у створенні контейнера ключів з тим же ім'ям на кожному виробничому сервері і шифрування файлу незалежно від кожного сервера. Це трохи більше роботи, але довгий шлях до вирішення ключової проблеми управління.

1
додано
@KeYan, я додав посилання на свою відповідь і проголосував за скасування відповіді Давіда.
додано Автор Joe, джерело
"У статті пояснюється, як спільно використовувати ключ між декількома серверами, так що ви можете використовувати той самий зашифрований файл конфігурації на всіх серверах." Ви звертаєтеся до статті, опублікованої Davide? Ви можете зв'язати його знову. Я більше не маю цієї статті.
додано Автор humblelistener, джерело
- Дякую .. Це має логічно працювати для моєї проблеми.
додано Автор humblelistener, джерело