SecureStorage 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供簡單且安全的鍵值對儲存。
public static class SecureStorage
- 繼承
-
System.ObjectSecureStorage
備註
每個平台都使用平台提供的原生 API 來安全儲存資料:
- iOS:資料儲存在鑰匙鏈中。 關於 SecAccessible 的更多資訊請見: Security.SecAccessible
- Android:加密金鑰儲存在 KeyStore,加密資料則存放在一個命名的共享偏好容器(PackageId.Xamarin.必備資料。
- UWP:資料以 DataProtectionProvider 加密,並儲存在一個名為 ApplicationDataContainer(容器名稱為 ApplicationId.Xamarin)中。必備資料。
注意:在執行 API 23(6.0 Marshmallow)的 Android 裝置上,KeyStore 中沒有 AES。 作為最佳實務,此 API 會產生一對 RSA/ECB/PKCS7Padding 金鑰,儲存在 KeyStore(這是這些較低層級 API 唯一支援的 KeyStore 類型),用來包裝執行時產生的 AES 金鑰。 這個包裹金鑰會儲存在偏好設定中。
屬性
| 名稱 | Description |
|---|---|
| DefaultAccessible |
iOS:預設 SecAccessible 可用於所有 Get/Set KeyChain 呼叫。 預設值是 AfterFirstUnlock。 |
| LegacyKeyHashFallback |
當設定為 |
方法
| 名稱 | Description |
|---|---|
| GetAsync(String) |
取得給定金鑰的解密值。 |
| Remove(String) |
移除該密鑰的加密金鑰/值對。 |
| RemoveAll() |
移除所有儲存的加密金鑰/值對。 |
| SetAsync(String, String, SecAccessible) |
儲存對特定金鑰加密的值。 iOS 覆寫以指定鑰匙圈的 SecAccessibility。 |
| SetAsync(String, String) |
儲存對特定金鑰加密的值。 |