Возможно ли разместить ключ AES и IV в KeyContainer с помощью ASPNET_REGIIS? Если да, то как?
Контекст:
Я создал AesProtectedConfigurationProvider для шифрования данных web.config с использованием AES в отличие от Triple DES (т.е. 3DES). Я также создал консольное приложение, которое использует AesProtectedConfigurationProvider для генерации ключа AES и вектора инициализации (IV). Я могу сохранить ключ в текстовом файле, а затем ссылаться на текстовый файл в провайдере web.config. Оттуда я могу зашифровать файл web.config. Но я хотел бы защитить файл keys.txt, переместив их в KeyContainer, если это возможно.
Итак, в теге провайдера раздел для keyContainerName будет следующим:
keyContainerName="AesKeyContainer"
в отличие от
keyContainerName="C:\AesKey.txt"
Мое понимание - текущее предложение шифрования, доступное из коробки в ASPNET_REGIIS, использует 3DES для шифрования содержимого файла web.config, в то время как RsaProtectedConfigurationProvider используется для шифрования ключей 3DES (пожалуйста, исправьте меня, если я ошибаюсь это). Итак, если можно использовать RsaProtectedConfigurationProvider для шифрования ключей AES в KeyContainer, это будет полезно. Я просмотрел следующие сайты, и я не уверен, что это возможно:
https://msdn.microsoft.com/en-us/library/33ws57y0.aspx
Как зашифровать web.config с помощью AES вместо 3DES
EDIT: Кто-нибудь знает, почему Microsoft вытащила AesProtectedConfigurationProvider в последующих выпусках .NET? Это похоже на шаг назад, поскольку AES является текущим стандартом, а 3DES больше не рекомендуется. Говоря с коллегой, они упомянули, что, возможно, они были удалены из-за нарушения безопасности, например; возвышение привилегий. Microsoft, как известно, делает необъявленные изменения в отношении безопасности. Но я хотел бы знать, знает ли кто-нибудь точно. Если в AesProtectedConfigurationProvider был обнаружен недостаток, я мог бы склониться к тому, чтобы оставаться с 3DES.