Compartilhar via


DevicePolicyManager.InstallKeyPair Método

Definição

Sobrecargas

InstallKeyPair(ComponentName, IPrivateKey, Certificate[], String, Boolean)

Essa API pode ser chamada pelo seguinte para instalar uma cadeia de certificados e a chave privada correspondente para o certificado folha: <ul<>li>Proprietário< do dispositivo/li><li>Proprietário< do perfil/li><li>Instalador< de certificado delegado/li<>li>Aplicativo de gerenciamento de< credenciais/li><li>Um aplicativo que contém a android.Manifest.permission#MANAGE_DEVICE_POLICY_CERTIFICATES permissão</li></ul> Todos os aplicativos dentro do perfil poderão acessar a cadeia de certificados e usar a chave privada, com a aprovação direta do usuário.

InstallKeyPair(ComponentName, IPrivateKey, Certificate[], String, InstallKeyFlags)

Essa API pode ser chamada pelo seguinte para instalar uma cadeia de certificados e a chave privada correspondente para o certificado folha: <ul<>li>Proprietário< do dispositivo/li><li>Proprietário< do perfil/li><li>Instalador< de certificado delegado/li<>li>Aplicativo de gerenciamento de< credenciais/li><li>Um aplicativo que contém a android.Manifest.permission#MANAGE_DEVICE_POLICY_CERTIFICATES permissão</li></ul> Todos os aplicativos dentro do perfil poderão acessar a cadeia de certificados e usar a chave privada, com a aprovação direta do usuário (se o usuário tiver permissão para selecionar a chave privada).

InstallKeyPair(ComponentName, IPrivateKey, Certificate, String)

Essa API pode ser chamada pelo seguinte para instalar um certificado e a chave privada correspondente: <ul<>li>Proprietário< do dispositivo/li><li>Proprietário< do perfil/li><li>Instalador< de certificado delegado/li<>li>Aplicativo de gerenciamento de< credenciais/li><li>Um aplicativo que detém a android.Manifest.permission#MANAGE_DEVICE_POLICY_CERTIFICATES permissão</li></ul> Todos os aplicativos dentro do perfil poderão acessar o certificado e usar a chave privada, dada a aprovação direta do usuário.

InstallKeyPair(ComponentName, IPrivateKey, Certificate[], String, Boolean)

Essa API pode ser chamada pelo seguinte para instalar uma cadeia de certificados e a chave privada correspondente para o certificado folha: <ul<>li>Proprietário< do dispositivo/li><li>Proprietário< do perfil/li><li>Instalador< de certificado delegado/li<>li>Aplicativo de gerenciamento de< credenciais/li><li>Um aplicativo que contém a android.Manifest.permission#MANAGE_DEVICE_POLICY_CERTIFICATES permissão</li></ul> Todos os aplicativos dentro do perfil poderão acessar a cadeia de certificados e usar a chave privada, com a aprovação direta do usuário.

[Android.Runtime.Register("installKeyPair", "(Landroid/content/ComponentName;Ljava/security/PrivateKey;[Ljava/security/cert/Certificate;Ljava/lang/String;Z)Z", "GetInstallKeyPair_Landroid_content_ComponentName_Ljava_security_PrivateKey_arrayLjava_security_cert_Certificate_Ljava_lang_String_ZHandler", ApiSince=24)]
[Android.Runtime.RequiresPermission("android.permission.MANAGE_DEVICE_POLICY_CERTIFICATES")]
public virtual bool InstallKeyPair (Android.Content.ComponentName? admin, Java.Security.IPrivateKey privKey, Java.Security.Cert.Certificate[] certs, string alias, bool requestAccess);
[<Android.Runtime.Register("installKeyPair", "(Landroid/content/ComponentName;Ljava/security/PrivateKey;[Ljava/security/cert/Certificate;Ljava/lang/String;Z)Z", "GetInstallKeyPair_Landroid_content_ComponentName_Ljava_security_PrivateKey_arrayLjava_security_cert_Certificate_Ljava_lang_String_ZHandler", ApiSince=24)>]
[<Android.Runtime.RequiresPermission("android.permission.MANAGE_DEVICE_POLICY_CERTIFICATES")>]
abstract member InstallKeyPair : Android.Content.ComponentName * Java.Security.IPrivateKey * Java.Security.Cert.Certificate[] * string * bool -> bool
override this.InstallKeyPair : Android.Content.ComponentName * Java.Security.IPrivateKey * Java.Security.Cert.Certificate[] * string * bool -> bool

Parâmetros

admin
ComponentName

A qual DeviceAdminReceiver solicitação está associada ou null se o chamador não for um administrador de dispositivo.

privKey
IPrivateKey

A chave privada a ser instalada.

certs
Certificate[]

A cadeia de certificados a ser instalada. A cadeia deve começar com o certificado de folha e incluir a cadeia de confiança em ordem. Isso será devolvido pela android.security.KeyChain#getCertificateChain.

alias
String

O alias de chave privada sob o qual instalar o certificado. Se um certificado com esse alias já existir, ele será substituído.

requestAccess
Boolean

true para solicitar que o aplicativo de chamada tenha acesso às credenciais imediatamente. Caso contrário, o acesso às credenciais será limitado pela aprovação do usuário.

Retornos

true se as chaves foram instaladas, false caso contrário.

Atributos

Comentários

Essa API pode ser chamada pelo seguinte para instalar uma cadeia de certificados e a chave privada correspondente para o certificado folha: <ul<>li>Proprietário< do dispositivo/li><li>Proprietário< do perfil/li><li>Instalador< de certificado delegado/li<>li>Aplicativo de gerenciamento de< credenciais/li><li>Um aplicativo que contém a android.Manifest.permission#MANAGE_DEVICE_POLICY_CERTIFICATES permissão</li></ul> Todos os aplicativos dentro do perfil poderão acessar a cadeia de certificados e usar a chave privada, com a aprovação direta do usuário.

No Android android.os.Build.VERSION_CODES#S, o aplicativo de gerenciamento de credenciais pode chamar essa API. No entanto, essa API define o par de chaves como selecionável pelo usuário por padrão, o que não é permitido quando chamado pelo aplicativo de gerenciamento de credenciais. Em vez disso, #installKeyPair(ComponentName, PrivateKey, Certificate[], String, int) deve ser chamado com #INSTALLKEY_SET_USER_SELECTABLE não definido como um sinalizador. Observe que só pode haver um aplicativo de gerenciamento de credenciais em um dispositivo não gerenciado.

O chamador dessa API pode conceder a si mesmo acesso ao certificado e à chave privada imediatamente, sem a aprovação do usuário. É uma prática recomendada não solicitar isso, a menos que seja estritamente necessário, pois isso abre vulnerabilidades de segurança adicionais.

Observação: se o fornecido alias for de um alias existente, todas as concessões anteriores que os aplicativos receberam para acessar a chave e os certificados associados a esse alias serão revogadas.

Documentação Java para android.app.admin.DevicePolicyManager.installKeyPair(android.content.ComponentName, java.security.PrivateKey, java.security.cert.Certificate[], java.lang.String, boolean).

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

Aplica-se a

InstallKeyPair(ComponentName, IPrivateKey, Certificate[], String, InstallKeyFlags)

Essa API pode ser chamada pelo seguinte para instalar uma cadeia de certificados e a chave privada correspondente para o certificado folha: <ul<>li>Proprietário< do dispositivo/li><li>Proprietário< do perfil/li><li>Instalador< de certificado delegado/li<>li>Aplicativo de gerenciamento de< credenciais/li><li>Um aplicativo que contém a android.Manifest.permission#MANAGE_DEVICE_POLICY_CERTIFICATES permissão</li></ul> Todos os aplicativos dentro do perfil poderão acessar a cadeia de certificados e usar a chave privada, com a aprovação direta do usuário (se o usuário tiver permissão para selecionar a chave privada).

[Android.Runtime.Register("installKeyPair", "(Landroid/content/ComponentName;Ljava/security/PrivateKey;[Ljava/security/cert/Certificate;Ljava/lang/String;I)Z", "GetInstallKeyPair_Landroid_content_ComponentName_Ljava_security_PrivateKey_arrayLjava_security_cert_Certificate_Ljava_lang_String_IHandler", ApiSince=28)]
[Android.Runtime.RequiresPermission("android.permission.MANAGE_DEVICE_POLICY_CERTIFICATES")]
public virtual bool InstallKeyPair (Android.Content.ComponentName? admin, Java.Security.IPrivateKey privKey, Java.Security.Cert.Certificate[] certs, string alias, Android.App.Admin.InstallKeyFlags flags);
[<Android.Runtime.Register("installKeyPair", "(Landroid/content/ComponentName;Ljava/security/PrivateKey;[Ljava/security/cert/Certificate;Ljava/lang/String;I)Z", "GetInstallKeyPair_Landroid_content_ComponentName_Ljava_security_PrivateKey_arrayLjava_security_cert_Certificate_Ljava_lang_String_IHandler", ApiSince=28)>]
[<Android.Runtime.RequiresPermission("android.permission.MANAGE_DEVICE_POLICY_CERTIFICATES")>]
abstract member InstallKeyPair : Android.Content.ComponentName * Java.Security.IPrivateKey * Java.Security.Cert.Certificate[] * string * Android.App.Admin.InstallKeyFlags -> bool
override this.InstallKeyPair : Android.Content.ComponentName * Java.Security.IPrivateKey * Java.Security.Cert.Certificate[] * string * Android.App.Admin.InstallKeyFlags -> bool

Parâmetros

admin
ComponentName

A qual DeviceAdminReceiver solicitação está associada ou null se o chamador não for um administrador de dispositivo.

privKey
IPrivateKey

A chave privada a ser instalada.

certs
Certificate[]

A cadeia de certificados a ser instalada. A cadeia deve começar com o certificado de folha e incluir a cadeia de confiança em ordem. Isso será devolvido pela android.security.KeyChain#getCertificateChain.

alias
String

O alias de chave privada sob o qual instalar o certificado. Se um certificado com esse alias já existir, ele será substituído.

flags
InstallKeyFlags

Sinalizadores para solicitar que o aplicativo de chamada tenha acesso às credenciais e defina a chave para ser selecionável pelo usuário. Confira #INSTALLKEY_SET_USER_SELECTABLE e #INSTALLKEY_REQUEST_CREDENTIALS_ACCESS.

Retornos

true se as chaves foram instaladas, false caso contrário.

Atributos

Comentários

Essa API pode ser chamada pelo seguinte para instalar uma cadeia de certificados e a chave privada correspondente para o certificado folha: <ul<>li>Proprietário< do dispositivo/li><li>Proprietário< do perfil/li><li>Instalador< de certificado delegado/li<>li>Aplicativo de gerenciamento de< credenciais/li><li>Um aplicativo que contém a android.Manifest.permission#MANAGE_DEVICE_POLICY_CERTIFICATES permissão</li></ul> Todos os aplicativos dentro do perfil poderão acessar a cadeia de certificados e usar a chave privada, com a aprovação direta do usuário (se o usuário tiver permissão para selecionar a chave privada).

No Android android.os.Build.VERSION_CODES#S, o aplicativo de gerenciamento de credenciais pode chamar essa API. Se chamado pelo aplicativo de gerenciamento de credenciais: <ul><li>O componentName deve ser nullr</li><li>O alias deve existir no /li<>li>do aplicativo de gerenciamento de android.security.AppUriAuthenticationPolicy<credenciais O par de chaves não deve ser selecionável< pelo usuário/li></ul> Observe que só pode haver um aplicativo de gerenciamento de credenciais em um dispositivo não gerenciado.

O chamador dessa API pode conceder a si mesmo acesso ao certificado e à chave privada imediatamente, sem a aprovação do usuário. É uma prática recomendada não solicitar isso, a menos que seja estritamente necessário, pois isso abre vulnerabilidades de segurança adicionais.

Inclua #INSTALLKEY_SET_USER_SELECTABLE no flags argumento para permitir que o usuário selecione a chave em uma caixa de diálogo.

Observação: se o fornecido alias for de um alias existente, todas as concessões anteriores que os aplicativos receberam para acessar a chave e os certificados associados a esse alias serão revogadas.

Documentação Java para android.app.admin.DevicePolicyManager.installKeyPair(android.content.ComponentName, java.security.PrivateKey, java.security.cert.Certificate[], java.lang.String, int).

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

Aplica-se a

InstallKeyPair(ComponentName, IPrivateKey, Certificate, String)

Essa API pode ser chamada pelo seguinte para instalar um certificado e a chave privada correspondente: <ul<>li>Proprietário< do dispositivo/li><li>Proprietário< do perfil/li><li>Instalador< de certificado delegado/li<>li>Aplicativo de gerenciamento de< credenciais/li><li>Um aplicativo que detém a android.Manifest.permission#MANAGE_DEVICE_POLICY_CERTIFICATES permissão</li></ul> Todos os aplicativos dentro do perfil poderão acessar o certificado e usar a chave privada, dada a aprovação direta do usuário.

[Android.Runtime.Register("installKeyPair", "(Landroid/content/ComponentName;Ljava/security/PrivateKey;Ljava/security/cert/Certificate;Ljava/lang/String;)Z", "GetInstallKeyPair_Landroid_content_ComponentName_Ljava_security_PrivateKey_Ljava_security_cert_Certificate_Ljava_lang_String_Handler")]
[Android.Runtime.RequiresPermission("android.permission.MANAGE_DEVICE_POLICY_CERTIFICATES")]
public virtual bool InstallKeyPair (Android.Content.ComponentName? admin, Java.Security.IPrivateKey privKey, Java.Security.Cert.Certificate cert, string alias);
[<Android.Runtime.Register("installKeyPair", "(Landroid/content/ComponentName;Ljava/security/PrivateKey;Ljava/security/cert/Certificate;Ljava/lang/String;)Z", "GetInstallKeyPair_Landroid_content_ComponentName_Ljava_security_PrivateKey_Ljava_security_cert_Certificate_Ljava_lang_String_Handler")>]
[<Android.Runtime.RequiresPermission("android.permission.MANAGE_DEVICE_POLICY_CERTIFICATES")>]
abstract member InstallKeyPair : Android.Content.ComponentName * Java.Security.IPrivateKey * Java.Security.Cert.Certificate * string -> bool
override this.InstallKeyPair : Android.Content.ComponentName * Java.Security.IPrivateKey * Java.Security.Cert.Certificate * string -> bool

Parâmetros

admin
ComponentName

A qual DeviceAdminReceiver solicitação está associada ou null se o chamador não for um administrador de dispositivo.

privKey
IPrivateKey

A chave privada a ser instalada.

cert
Certificate

O certificado a ser instalado.

alias
String

O alias de chave privada sob o qual instalar o certificado. Se um certificado com esse alias já existir, ele será substituído.

Retornos

true se as chaves foram instaladas, false caso contrário.

Atributos

Comentários

Essa API pode ser chamada pelo seguinte para instalar um certificado e a chave privada correspondente: <ul<>li>Proprietário< do dispositivo/li><li>Proprietário< do perfil/li><li>Instalador< de certificado delegado/li<>li>Aplicativo de gerenciamento de< credenciais/li><li>Um aplicativo que detém a android.Manifest.permission#MANAGE_DEVICE_POLICY_CERTIFICATES permissão</li></ul> Todos os aplicativos dentro do perfil poderão acessar o certificado e usar a chave privada, dada a aprovação direta do usuário.

No Android android.os.Build.VERSION_CODES#S, o aplicativo de gerenciamento de credenciais pode chamar essa API. No entanto, essa API define o par de chaves como selecionável pelo usuário por padrão, o que não é permitido quando chamado pelo aplicativo de gerenciamento de credenciais. Em vez disso, #installKeyPair(ComponentName, PrivateKey, Certificate[], String, int) deve ser chamado com #INSTALLKEY_SET_USER_SELECTABLE não definido como um sinalizador.

O acesso às credenciais instaladas não será concedido ao chamador desta API sem a aprovação direta do usuário. Isso é para segurança - se um instalador de certificado for comprometido, os certificados que ele já havia instalado serão protegidos.

Se o instalador precisar ter acesso às credenciais, chame #installKeyPair(ComponentName, PrivateKey, Certificate[], String, boolean) .

Observação: se o fornecido alias for de um alias existente, todas as concessões anteriores que os aplicativos receberam para acessar a chave e os certificados associados a esse alias serão revogadas.

Documentação Java para android.app.admin.DevicePolicyManager.installKeyPair(android.content.ComponentName, java.security.PrivateKey, java.security.cert.Certificate, java.lang.String).

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

Aplica-se a