DevicePolicyManager.InstallKeyPair Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 |
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 |
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 |
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.
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 null
r</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.
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.
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.