Поделиться через


SecureStorage Класс

Определение

Предоставляет простое безопасное хранилище для пар "ключ-значение".

public static class SecureStorage
Наследование
System.Object
SecureStorage

Комментарии

Каждая платформа использует собственные API платформы для безопасного хранения данных:

  • iOS: данные хранятся в цепочке ключей. Дополнительные сведения о secAccessible по адресу: Security.SecAccessible:
  • Android: ключи шифрования хранятся в хранилище ключей, а зашифрованные данные — в именованном контейнере общих предпочтений (PackageId.Xamarin.Essentials).:
  • UWP: данные шифруются с помощью DataProtectionProvider и хранятся в с именем ApplicationDataContainer (с именем контейнера ApplicationId.Xamarin.Essentials).:

ПРИМЕЧАНИЕ. На устройствах Android под управлением API 23 (6.0 Marshmallow) нет AES, доступных в KeyStore. Рекомендуется, чтобы этот API создал пару ключей RSA/ECB/PKCS7Padding, хранящуюся в KeyStore (единственный тип, поддерживаемый в KeyStore этими более низкими уровнями API), которая используется для упаковки ключа AES, созданного во время выполнения. Этот упакованный ключ хранится в разделе Параметры.

Свойства

DefaultAccessible

iOS: secAccessible по умолчанию используется для всех вызовов Get/Set в KeyChain. Значение по умолчанию — AfterFirstUnlock.

LegacyKeyHashFallback

Если пара true "ключ-значение" не найдена, хэш ключа MD5 также используется для поиска значения.

Методы

GetAsync(String)

Возвращает расшифрованное значение для заданного ключа.

Remove(String)

Удаляет зашифрованную пару "ключ-значение" для заданного ключа.

RemoveAll()

Удаляет все хранимые пары "ключ-значение".

SetAsync(String, String)

Сохраняет зашифрованное значение для заданного ключа.

SetAsync(String, String, SecAccessible)

Сохраняет зашифрованное значение для заданного ключа. Переопределите iOS, чтобы указать SecAccessible для цепочки ключей.

Применяется к