Смешанные API

Предупреждение

Типы, которые реализуют один из следующих интерфейсов, должны быть потоково безопасны для нескольких вызывающих элементов.

ISecret

Интерфейс ISecret представляет секретное значение, например, криптографический материал. Его API выглядит вот так:

  • Length : int
  • Dispose() : void
  • WriteSecretIntoBuffer(ArraySegment<byte> buffer) : void

Метод WriteSecretIntoBuffer заполняет буфер “сырым” секретным значением. Причина того, что этот API принимает в качестве параметра буфер, а не возвращает напрямую byte[], состоит в том, что вызывающий элемент может использовать объект буферизации, ограничивая незащищенные значения управляемой коллекцией.

Тип Secret - это реализация ISecret, где секретное значение хранится в памяти in-process. На платформах Windows platforms секретное значение шифруется с помощью CryptProtectMemory.

Поделись хорошей новостью с друзьями!
Следи за новостями!