Lenguaje

DevicePolicyManager.GenerateKeyPair Método

Definición

Sobrecargas

Nombre Description
GenerateKeyPair(ComponentName, String, KeyGenParameterSpec, IdAttestationFlags)

Puede llamar a esta API para generar un nuevo par de claves privadas o públicas: ul<li Li Device owner>/li<>Li<Profile owner>/li<><Li Delegated certificate installer>/li li<><Li Credential management app>/li Li<><Una aplicación que contiene el > permiso</li>android.Manifest.permission#MANAGE_DEVICE_POLICY_CERTIFICATES/ul<><> Si el dispositivo admite la generación de claves a través de hardware seguro, este método es útil para crear una clave en KeyChain que nunca abandonó el hardware seguro.

GenerateKeyPair(String, KeyGenParameterSpec, IdAttestationFlags, KeyChainManagerKeyPairScope)

Genera un nuevo par de claves privadas o públicas con un ámbito especificado.

GenerateKeyPair(ComponentName, String, KeyGenParameterSpec, IdAttestationFlags)

Puede llamar a esta API para generar un nuevo par de claves privadas o públicas: ul<li Li Device owner>/li<>Li<Profile owner>/li<><Li Delegated certificate installer>/li li<><Li Credential management app>/li Li<><Una aplicación que contiene el > permiso</li>android.Manifest.permission#MANAGE_DEVICE_POLICY_CERTIFICATES/ul<><> Si el dispositivo admite la generación de claves a través de hardware seguro, este método es útil para crear una clave en KeyChain que nunca abandonó el hardware seguro.

[Android.Runtime.Register("generateKeyPair", "(Landroid/content/ComponentName;Ljava/lang/String;Landroid/security/keystore/KeyGenParameterSpec;I)Landroid/security/AttestedKeyPair;", "GetGenerateKeyPair_Landroid_content_ComponentName_Ljava_lang_String_Landroid_security_keystore_KeyGenParameterSpec_IHandler", ApiSince=28)]
[Android.Runtime.RequiresPermission("android.permission.MANAGE_DEVICE_POLICY_CERTIFICATES")]
public virtual Android.Security.AttestedKeyPair? GenerateKeyPair(Android.Content.ComponentName? admin, string algorithm, Android.Security.Keystore.KeyGenParameterSpec keySpec, Android.App.Admin.IdAttestationFlags idAttestationFlags);
[<Android.Runtime.Register("generateKeyPair", "(Landroid/content/ComponentName;Ljava/lang/String;Landroid/security/keystore/KeyGenParameterSpec;I)Landroid/security/AttestedKeyPair;", "GetGenerateKeyPair_Landroid_content_ComponentName_Ljava_lang_String_Landroid_security_keystore_KeyGenParameterSpec_IHandler", ApiSince=28)>]
[<Android.Runtime.RequiresPermission("android.permission.MANAGE_DEVICE_POLICY_CERTIFICATES")>]
abstract member GenerateKeyPair : Android.Content.ComponentName * string * Android.Security.Keystore.KeyGenParameterSpec * Android.App.Admin.IdAttestationFlags -> Android.Security.AttestedKeyPair
override this.GenerateKeyPair : Android.Content.ComponentName * string * Android.Security.Keystore.KeyGenParameterSpec * Android.App.Admin.IdAttestationFlags -> Android.Security.AttestedKeyPair

Parámetros

admin
ComponentName

Al que DeviceAdminReceiver está asociada esta solicitud, o null si el autor de la llamada no es un administrador de dispositivos.

algorithm
String

El algoritmo de generación de claves, vea java.security.KeyPairGenerator.

keySpec
KeyGenParameterSpec

Especificación de la clave que se va a generar, consulte java.security.KeyPairGenerator.

idAttestationFlags
IdAttestationFlags

Máscara de bits de los identificadores que se deben incluir en el registro de atestación (ID_TYPE_BASE_INFO, ID_TYPE_SERIALy ID_TYPE_IMEIID_TYPE_MEID ) y ID_TYPE_INDIVIDUAL_ATTESTATION si el registro de atestación debe estar firmado mediante un certificado de atestación individual. <p>0 debe pasarse si no se requiere ninguna identificación del dispositivo en el registro de atestación y se debe usar el certificado de atestación por lotes. <p> Si se especifica alguna marca, se debe incluir un desafío de atestación en .keySpec

Devoluciones

Valor que no es NULL AttestedKeyPair si la generación de claves se realizó correctamente; de lo contrario, es NULL.

Atributos

Comentarios

Puede llamar a esta API para generar un nuevo par de claves privadas o públicas: ul<li Li Device owner>/li<>Li<Profile owner>/li<><Li Delegated certificate installer>/li li<><Li Credential management app>/li Li<><Una aplicación que contiene el > permiso</li>android.Manifest.permission#MANAGE_DEVICE_POLICY_CERTIFICATES/ul<><> Si el dispositivo admite la generación de claves a través de hardware seguro, este método es útil para crear una clave en KeyChain que nunca abandonó el hardware seguro. El acceso a la clave se controla de la misma manera que en #installKeyPair.

Desde Android android.os.Build.VERSION_CODES#S, la aplicación de administración de credenciales puede llamar a esta API. Si lo llama la aplicación de administración de credenciales, componentName debe ser null. Tenga en cuenta que solo puede haber una aplicación de administración de credenciales en un dispositivo no administrado.

Dado que este método puede tardar varios segundos en completarse, solo se debe llamar desde un subproceso de trabajo. Este método devuelve null cuando se llama desde el subproceso principal.

Este método no es seguro para subprocesos, llamarlo desde varios subprocesos al mismo tiempo dará como resultado un comportamiento indefinido. Si el subproceso de llamada se interrumpe mientras la invocación está en curso, finalizará y devolverá null.

Nota: Si el proporcionado alias es de un alias existente, se revocarán todas las concesiones anteriores que se han concedido a las aplicaciones para acceder a la clave y los certificados asociados a este alias.

Atestación: para habilitar la atestación, establezca un desafío de atestación en keySpec a través KeyGenParameterSpec.Builder#setAttestationChallengede . Al especificar marcas en el idAttestationFlags parámetro , es posible solicitar que la identidad única del dispositivo se incluya en el registro de atestación.

Los identificadores específicos se pueden incluir en el registro de atestación y se puede usar un certificado de atestación individual para firmar el registro de atestación. Para averiguar si el dispositivo admite estas características, consulte #isDeviceIdAttestationSupported() y #isUniqueDeviceAttestationSupported().

El propietario del dispositivo, el propietario del perfil, su instalador de certificado delegado y la aplicación de administración de credenciales pueden usar #ID_TYPE_BASE_INFO para solicitar la inclusión de la información general del dispositivo, incluidos el fabricante, el modelo, la marca, el dispositivo y el producto en el registro de atestación. Solo el propietario del dispositivo, el propietario del perfil en un dispositivo de propiedad de la organización o un usuario afiliado, y sus instaladores de certificados delegados pueden usar #ID_TYPE_SERIAL#ID_TYPE_IMEI , y #ID_TYPE_MEID para solicitar identificadores de dispositivo únicos que se atestiguan (el número de serie, IMEI y MEID correspondiente), si el dispositivo lo admite (consulte #isDeviceIdAttestationSupported()). Además, el propietario del dispositivo, el propietario del perfil en un dispositivo propiedad de la organización y sus instaladores de certificados delegados también pueden solicitar la firma del registro de atestación mediante un certificado de atestación individual especificando la #ID_TYPE_INDIVIDUAL_ATTESTATION marca (si es compatible con el dispositivo, consulte #isUniqueDeviceAttestationSupported()).

Si se establece cualquiera de #ID_TYPE_SERIAL, #ID_TYPE_IMEI y #ID_TYPE_MEID , se supone implícitamente que #ID_TYPE_BASE_INFO también se establece.

La atestación que usa #ID_TYPE_INDIVIDUAL_ATTESTATION solo se puede solicitar si la generación de claves se realiza en StrongBox.

Java documentación para android.app.admin.DevicePolicyManager.generateKeyPair(android.content.ComponentName, java.lang.String, android.security.keystore.KeyGenParameterSpec, int).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Se aplica a

GenerateKeyPair(String, KeyGenParameterSpec, IdAttestationFlags, KeyChainManagerKeyPairScope)

Genera un nuevo par de claves privadas o públicas con un ámbito especificado.

[Android.Runtime.Register("generateKeyPair", "(Ljava/lang/String;Landroid/security/keystore/KeyGenParameterSpec;II)Landroid/security/AttestedKeyPair;", "GetGenerateKeyPair_Ljava_lang_String_Landroid_security_keystore_KeyGenParameterSpec_IIHandler", ApiSince=37)]
[Android.Runtime.RequiresPermission("android.permission.MANAGE_DEVICE_POLICY_CERTIFICATES")]
public virtual Android.Security.AttestedKeyPair GenerateKeyPair(string algorithm, Android.Security.Keystore.KeyGenParameterSpec keySpec, Android.App.Admin.IdAttestationFlags idAttestationFlags, Android.Security.KeyChainManagerKeyPairScope scope);
[<Android.Runtime.Register("generateKeyPair", "(Ljava/lang/String;Landroid/security/keystore/KeyGenParameterSpec;II)Landroid/security/AttestedKeyPair;", "GetGenerateKeyPair_Ljava_lang_String_Landroid_security_keystore_KeyGenParameterSpec_IIHandler", ApiSince=37)>]
[<Android.Runtime.RequiresPermission("android.permission.MANAGE_DEVICE_POLICY_CERTIFICATES")>]
abstract member GenerateKeyPair : string * Android.Security.Keystore.KeyGenParameterSpec * Android.App.Admin.IdAttestationFlags * Android.Security.KeyChainManagerKeyPairScope -> Android.Security.AttestedKeyPair
override this.GenerateKeyPair : string * Android.Security.Keystore.KeyGenParameterSpec * Android.App.Admin.IdAttestationFlags * Android.Security.KeyChainManagerKeyPairScope -> Android.Security.AttestedKeyPair

Parámetros

algorithm
String

El algoritmo de generación de claves, vea java.security.KeyPairGenerator.

keySpec
KeyGenParameterSpec

Especificación de la clave que se va a generar, consulte java.security.KeyPairGenerator.

idAttestationFlags
IdAttestationFlags

Máscara de bits de los identificadores que se deben incluir en el registro de atestación. Consulte el método base para obtener más información.

scope
KeyChainManagerKeyPairScope

Ámbito del par de claves: KeyChainManager#KEYPAIR_SCOPE_USER o KeyChainManager#KEYPAIR_SCOPE_DEVICE.

Devoluciones

Un valor que no es NULL AttestedKeyPair.

Atributos

Se aplica a