SecureStorage Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Fornece armazenamento seguro simples para pares chave/valor.
public static class SecureStorage
- Herança
-
System.ObjectSecureStorage
Comentários
Cada plataforma usa as API nativas fornecidas pela plataforma para armazenar dados com segurança:
- iOS: os dados são armazenados no KeyChain. Informações adicionais sobre SecAccessible em: Security.SecAccessible:
- Android: as chaves de criptografia são armazenadas no KeyStore e os dados criptografados são armazenados em um contêiner de preferência compartilhada nomeado (PackageId.Xamarin.Essentials).:
- UWP: os dados são criptografados com DataProtectionProvider e armazenados em um ApplicationDataContainer nomeado (com um nome de contêiner ApplicationId.Xamarin.Essentials).:
OBSERVAÇÃO: em dispositivos Android em execução abaixo da API 23 (6.0 Marshmallow) não há nenhum AES disponível no KeyStore. Como prática recomendada, essa API gerará um par de chaves RSA/ECB/PKCS7Padding armazenado no KeyStore (o único tipo com suporte no KeyStore por esses níveis de API mais baixos), que é usado para encapsular uma chave AES gerada em runtime. Essa chave encapsulada é armazenada em Preferências.
Propriedades
DefaultAccessible |
iOS: SecAccessible padrão a ser usado para todas as chamadas Get/Set para KeyChain. O valor padrão é AfterFirstUnlock. |
LegacyKeyHashFallback |
Quando definido como |
Métodos
GetAsync(String) |
Obtém o valor descriptografado para uma determinada Chave. |
Remove(String) |
Remove o par chave/valor criptografado para a chave fornecida. |
RemoveAll() |
Remove todos os pares de chave/valor criptografados armazenados. |
SetAsync(String, String) |
Armazena o valor criptografado para uma determinada Chave. |
SetAsync(String, String, SecAccessible) |
Armazena o valor criptografado para uma determinada Chave. Substituição do iOS para especificar SecAccessible para o KeyChain. |