SecureStorage クラス

定義

キーと値のペア用のシンプルなセキュリティで保護されたストレージを提供します。

public static class SecureStorage
継承
System.Object
SecureStorage

注釈

各プラットフォームでは、データを安全に格納するために、プラットフォーム提供のネイティブ API を使用します。

  • iOS: データは KeyChain に格納されます。 SecAccessible の追加情報: : Security.SecAccessible
  • Android: 暗号化キーは KeyStore に格納され、暗号化されたデータは名前付きの共有基本設定コンテナー (PackageId.Xamarin.Essentials) に格納されます
  • UWP: データは DataProtectionProvider を使用して暗号化され、ApplicationDataContainer という名前の (コンテナー名が ApplicationId.Xamarin.Essentials) に格納されます

注: API 23 (6.0 Marshmallow) の下で実行されている Android デバイスでは、KeyStore で使用できる AES はありません。 ベスト プラクティスとして、この API では、KeyStore に格納されている RSA/ECB/PKCS7Padding キー ペア (これらの下位 API レベルで KeyStore でサポートされている唯一の型) が生成されます。これは、実行時に生成された AES キーをラップするために使用されます。 このラップされたキーは、Preferences に格納されます。

プロパティ

DefaultAccessible

iOS: KeyChain に対するすべての Get/Set 呼び出しに使用する既定の SecAccessible。 既定値は AfterFirstUnlock です。

LegacyKeyHashFallback

キーと値のペアが見つからない場合は、 に true 設定すると、MD5 キー ハッシュを使用して値の検索も試行されます。

メソッド

GetAsync(String)

指定されたキーの復号化された値を取得します。

Remove(String)

指定されたキーの暗号化されたキーと値のペアを削除します。

RemoveAll()

格納されているすべての暗号化されたキーと値のペアを削除します。

SetAsync(String, String)

特定のキーに対して暗号化された値を格納します。

SetAsync(String, String, SecAccessible)

特定のキーに対して暗号化された値を格納します。 KeyChain に SecAccessible を指定するための iOS オーバーライド。

適用対象