SecureStorage Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Proporciona almacenamiento seguro simple para pares clave-valor.
public static class SecureStorage
- Herencia
-
System.ObjectSecureStorage
Comentarios
Cada plataforma usa las API nativas proporcionadas por la plataforma para almacenar datos de forma segura:
- iOS: los datos se almacenan en KeyChain. Información adicional sobre SecAccessible en: : Security.SecAccessible
- Android: las claves de cifrado se almacenan en KeyStore y los datos cifrados se almacenan en un contenedor de preferencias compartidas con nombre (PackageId.Xamarin.Essentials).:
- UWP: los datos se cifran con DataProtectionProvider y se almacenan en un elemento denominado ApplicationDataContainer (con un nombre de contenedor de ApplicationId.Xamarin.Essentials).:
NOTA: En los dispositivos Android que se ejecutan por debajo de la API 23 (6.0 Marshmallow) no hay ningún AES disponible en KeyStore. Como procedimiento recomendado, esta API generará un par de claves RSA/ECB/PKCS7Padding almacenado en KeyStore (el único tipo admitido en KeyStore por estos niveles de API inferiores), que se usa para encapsular una clave AES generada en tiempo de ejecución. Esta clave ajustada se almacena en Preferencias.
Propiedades
DefaultAccessible |
iOS: SecAccessible predeterminado que se usará para todas las llamadas Get/Set a KeyChain. El valor predeterminado es AfterFirstUnlock. |
LegacyKeyHashFallback |
Cuando se establece |
Métodos
GetAsync(String) |
Obtiene el valor descifrado de una clave determinada. |
Remove(String) |
Quita el par clave-valor cifrado de la clave especificada. |
RemoveAll() |
Quita todos los pares clave-valor cifrados almacenados. |
SetAsync(String, String) |
Almacena el valor cifrado para una clave determinada. |
SetAsync(String, String, SecAccessible) |
Almacena el valor cifrado para una clave determinada. Invalidación de iOS para especificar SecAccessible para la cadena de claves. |