Language

KeyGenParameterSpec.Builder.SetUnlockedDeviceRequired(Boolean) メソッド

定義

デバイスのロックが解除されている間にのみ、このキーの使用が許可されているかどうかを設定します。

[Android.Runtime.Register("setUnlockedDeviceRequired", "(Z)Landroid/security/keystore/KeyGenParameterSpec$Builder;", "", ApiSince=28)]
public Android.Security.Keystore.KeyGenParameterSpec.Builder SetUnlockedDeviceRequired(bool unlockedDeviceRequired);
[<Android.Runtime.Register("setUnlockedDeviceRequired", "(Z)Landroid/security/keystore/KeyGenParameterSpec$Builder;", "", ApiSince=28)>]
member this.SetUnlockedDeviceRequired : bool -> Android.Security.Keystore.KeyGenParameterSpec.Builder

パラメーター

unlockedDeviceRequired
Boolean

返品

属性

注釈

デバイスのロックが解除されている間にのみ、このキーの使用が許可されているかどうかを設定します。

ユーザーのアプリに現在アクセスできなくなり、アクセスを回復するために何らかの形式のロック画面認証が必要な場合、デバイスはユーザーに対してロックされていると見なされます。 完全な定義については、KeyguardManager.isDeviceLocked() を参照してください。

公開キー操作は setUnlockedDeviceRequired(true) によって制限されず、デバイスがロックされている間でも実行できます。 Android 11 (API レベル 30) 以前では、対称キーを使用した暗号化と検証の操作も制限されませんでした。

setUnlockedDeviceRequired(true) を使用するキーは、デバイスが最後の再起動以降に少なくとも 1 回ロック解除されている限り、デバイスがロックされている間でもインポートおよび生成できます。 ただし、デバイスのロックが解除されるまで、このようなキーは使用できません (上記の無制限の操作を除く)。 デバイスのロックが解除されている間にのみ復号化できるように、デバイスがロックされている間にデータを暗号化する必要があるアプリは、キーを生成し、ソフトウェアでデータを暗号化し、setUnlockedDeviceRequired(true) を使用してキーをキーストアにインポートし、元のキーをゼロにできます。

setUnlockedDeviceRequired(true) は setUserAuthenticationRequired(true) に関連していますが、setUserAuthenticationRequired(true) とは異なります。 setUnlockedDeviceRequired(true) ではデバイスのロックを解除する必要があります。一方、setUserAuthenticationRequired(true) では、特定の種類の強力な認証が特定の期間内に行われる必要があります。 これらは、一緒にまたは個別に使用することができます。1 つの要件を満たすことができるが、もう一方の要件を満たさない場合があります。

警告: Android 14 (API レベル 34) 以降では setUnlockedDeviceRequired(true) を使用してください。Android 12 から 14 には次のバグが存在します。ユーザーがセキュリティで保護されたロック画面を持っていない場合、unlocked-device で必要なキーを生成、インポート、または使用できませんでした。ユーザーのセキュリティで保護されたロック画面が削除されると、そのユーザーのロック解除されたデバイスに必要なキーがすべて自動的に削除されました。多くのデバイス上の顔など、強力でない生体認証を使用してデバイスのロックを解除しても、ロック解除されたデバイスで必要なキーの使用は再承認されませんでした。生体認証を使用してデバイスのロックを解除しても、親ユーザーのロックを共有するプロファイルで、ロック解除されたデバイスで必要なキーの使用が再承認されませんでした。 これらの問題は Android 15 で修正されているため、アプリは Android 15 以降でのみ setUnlockedDeviceRequired(true) を使用して回避できます。 setUnlockedDeviceRequired(true) と setUserAuthenticationRequired(true) の両方を使用するアプリは、最初の 2 つの問題の影響を受けません。最初の 2 つの問題では、setUserAuthenticationRequired(true) の予期される動作が記述されているためです。

android.security.keystore.KeyGenParameterSpec.Builder.setUnlockedDeviceRequiredの Android リファレンス。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象