SecureStorage 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
为键/值对提供简单的安全存储。
public static class SecureStorage
- 继承
-
System.ObjectSecureStorage
注解
每个平台都使用平台提供的本机 API 安全地存储数据:
- iOS:数据存储在 KeyChain 中。 有关 SecAccessible 的其他信息,请参阅: Security.SecAccessible:
- Android:加密密钥存储在 KeyStore 中,加密数据存储在 PackageId.Xamarin (命名的共享首选项容器中。Essentials) .:
- UWP:数据使用 DataProtectionProvider 进行加密,并存储在容器名称为 ApplicationId.Xamarin 的命名 ApplicationDataContainer (中。Essentials) .:
注意:在运行低于 API 23 (6.0 Marshmallow) 的 Android 设备上,KeyStore 中没有 AES 可用。 作为最佳做法,此 API 将生成存储在 KeyStore 中的 RSA/ECB/PKCS7Padding 密钥对, (KeyStore 中这些较低 API 级别) 支持的唯一类型,用于包装运行时生成的 AES 密钥。 此包装的密钥存储在“首选项”中。
属性
DefaultAccessible |
iOS:默认 Sec 可访问,用于对 KeyChain 的所有 Get/Set 调用。 默认值为 AfterFirstUnlock。 |
LegacyKeyHashFallback |
如果未找到键/值对,则设置为 |
方法
GetAsync(String) |
获取给定密钥的解密值。 |
Remove(String) |
删除给定密钥的加密密钥/值对。 |
RemoveAll() |
删除所有存储的加密密钥/值对。 |
SetAsync(String, String) |
存储给定密钥的加密值。 |
SetAsync(String, String, SecAccessible) |
存储给定密钥的加密值。 iOS 重写以指定 KeyChain 的 SecAccessible。 |