Idioma

KeyGenParameterSpec.Builder.SetUnlockedDeviceRequired(Boolean) Método

Definição

Define se essa chave está autorizada a ser usada somente enquanto o dispositivo está desbloqueado.

[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

Parâmetros

unlockedDeviceRequired
Boolean

Retornos

Atributos

Comentários

Define se essa chave está autorizada a ser usada somente enquanto o dispositivo está desbloqueado.

O dispositivo é considerado bloqueado para um usuário quando os aplicativos do usuário estão atualmente inacessíveis e alguma forma de autenticação de tela de bloqueio é necessária para recuperar o acesso a eles. Para obter a definição completa, consulte KeyguardManager.isDeviceLocked().

As operações de chave pública não são restritas por setUnlockedDeviceRequired(true) e podem ser executadas mesmo enquanto o dispositivo está bloqueado. No Android 11 (nível de API 30) e inferior, as operações de criptografia e verificação com chaves simétricas também não eram restritas.

As chaves que usam setUnlockedDeviceRequired(true) podem ser importadas e geradas mesmo quando o dispositivo estiver bloqueado, desde que o dispositivo tenha sido desbloqueado pelo menos uma vez desde a última reinicialização. No entanto, essas chaves não podem ser usadas (exceto para as operações irrestrita mencionadas acima) até que o dispositivo seja desbloqueado. Aplicativos que precisam criptografar dados enquanto o dispositivo está bloqueado, de modo que ele só pode ser descriptografado enquanto o dispositivo está desbloqueado podem gerar uma chave e criptografar os dados no software, importar a chave para o Repositório de Chaves usando setUnlockedDeviceRequired(true) e zerá-la.

setUnlockedDeviceRequired(true) está relacionado, mas diferente de setUserAuthenticationRequired(true). setUnlockedDeviceRequired(true) requer que o dispositivo seja desbloqueado, enquanto setUserAuthenticationRequired(true) requer que um tipo específico de autenticação forte tenha ocorrido em um período de tempo específico. Eles podem ser usados juntos ou separadamente; há casos em que um requisito pode ser atendido, mas não o outro.

Aviso: tenha cuidado ao usar setUnlockedDeviceRequired(true) no Android 14 (nível de API 34) e inferior, já que os seguintes bugs existiam no Android 12 a 14: quando o usuário não tinha uma tela de bloqueio segura, as chaves desbloqueadas e necessárias para dispositivo não podiam ser geradas, importadas ou usadas; Quando a tela de bloqueio seguro do usuário foi removida, todas as chaves de dispositivo desbloqueada do usuário foram excluídas automaticamente; O desbloqueio do dispositivo com uma biometria não forte, como o rosto em muitos dispositivos, não autorizou novamente o uso de chaves desbloqueadas e necessárias para dispositivos; O desbloqueio do dispositivo com uma biometria não autorizou novamente o uso de chaves de dispositivo desbloqueado necessárias em perfis que compartilham o bloqueio do usuário pai. Esses problemas são corrigidos no Android 15, para que os aplicativos possam evitá-los usando setUnlockedDeviceRequired(true) apenas no Android 15 e superior. Os aplicativos que usam setUnlockedDeviceRequired(true) e setUserAuthenticationRequired(true) não são afetados pelos dois primeiros problemas, pois os dois primeiros problemas descrevem o comportamento esperado para setUserAuthenticationRequired(true).

Referência do Android para android.security.keystore.KeyGenParameterSpec.Builder.setUnlockedDeviceRequired.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Aplica-se a