Поделиться через


DevicePolicyManager.InstallKeyPair Метод

Определение

Перегрузки

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

Этот API можно вызвать следующим образом, чтобы установить цепочку сертификатов и соответствующий закрытый ключ для конечного сертификата: <ul<>li>Device owner/li Profile owner/li Li Profile owner<</<>>li>Li Делегированный установщик< сертификата/>>><<li credential management app</li><>An app, которое содержит android.Manifest.permission#MANAGE_DEVICE_POLICY_CERTIFICATES разрешение><</li/ul> Все приложения в профиле смогут получить доступ к цепочке сертификатов и использовать закрытый ключ, учитывая прямое утверждение пользователя.

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

Этот API можно вызвать следующим образом, чтобы установить цепочку сертификатов и соответствующий закрытый ключ для конечного сертификата: <ul<>li>Device owner/li Profile owner/li Li Profile owner<</<>>li>Li Делегированный установщик< сертификата/>>><<li credential management app</li><>An app, которое содержит android.Manifest.permission#MANAGE_DEVICE_POLICY_CERTIFICATES разрешение><</li/ul> Все приложения в профиле смогут получить доступ к цепочке сертификатов и использовать закрытый ключ, учитывая прямое утверждение пользователя (если пользователю разрешено выбрать закрытый ключ).

InstallKeyPair(ComponentName, IPrivateKey, Certificate, String)

Этот API можно вызвать следующим образом, чтобы установить сертификат и соответствующий закрытый ключ: <ul><li>Device owner/li profile owner<</><>li li>Li Delegated certificate installer</<><>li li>Credential management app/li App<, который содержит android.Manifest.permission#MANAGE_DEVICE_POLICY_CERTIFICATES разрешение</li>>><</ul> Все приложения в профиле смогут получить доступ к сертификату и использовать закрытый ключ. при указании прямого утверждения пользователя.

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

Этот API можно вызвать следующим образом, чтобы установить цепочку сертификатов и соответствующий закрытый ключ для конечного сертификата: <ul<>li>Device owner/li Profile owner/li Li Profile owner<</<>>li>Li Делегированный установщик< сертификата/>>><<li credential management app</li><>An app, которое содержит android.Manifest.permission#MANAGE_DEVICE_POLICY_CERTIFICATES разрешение><</li/ul> Все приложения в профиле смогут получить доступ к цепочке сертификатов и использовать закрытый ключ, учитывая прямое утверждение пользователя.

[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

Параметры

admin
ComponentName

С которым DeviceAdminReceiver связан этот запрос, или null если вызывающий объект не является администратором устройства.

privKey
IPrivateKey

Закрытый ключ для установки.

certs
Certificate[]

Цепочка сертификатов для установки. Цепочка должна начинаться с конечного сертификата и включать цепочку доверия в порядке. Это будет возвращено android.security.KeyChain#getCertificateChain.

alias
String

Псевдоним закрытого ключа, в котором необходимо установить сертификат. Если сертификат с этим псевдонимом уже существует, он будет перезаписан.

requestAccess
Boolean

true для запроса немедленного предоставления вызывающему приложению доступа к учетным данным. В противном случае доступ к учетным данным будет заверяться утверждением пользователя.

Возвращаемое значение

true Значение , если ключи установлены, false в противном случае.

Атрибуты

Комментарии

Этот API можно вызвать следующим образом, чтобы установить цепочку сертификатов и соответствующий закрытый ключ для конечного сертификата: <ul<>li>Device owner/li Profile owner/li Li Profile owner<</<>>li>Li Делегированный установщик< сертификата/>>><<li credential management app</li><>An app, которое содержит android.Manifest.permission#MANAGE_DEVICE_POLICY_CERTIFICATES разрешение><</li/ul> Все приложения в профиле смогут получить доступ к цепочке сертификатов и использовать закрытый ключ, учитывая прямое утверждение пользователя.

В Android android.os.Build.VERSION_CODES#Sприложение управления учетными данными может вызывать этот API. Однако этот API задает пару ключей как пользователь, который можно выбрать по умолчанию, который не допускается при вызове приложением управления учетными данными. Вместо этого #installKeyPair(ComponentName, PrivateKey, Certificate[], String, int) следует вызывать не как #INSTALLKEY_SET_USER_SELECTABLE флаг. Обратите внимание, что на неуправляемом устройстве может быть только приложение управления учетными данными.

Вызывающий этот API может предоставить себе доступ к сертификату и закрытому ключу немедленно без утверждения пользователя. Рекомендуется не запрашивать это, если это не требуется строго, так как он открывает дополнительные уязвимости безопасности.

Примечание. Если предоставленный alias псевдоним имеет существующий псевдоним, все бывшие гранты, которые приложения были предоставлены для доступа к ключу и сертификатам, связанным с этим псевдонимом, будут отменены.

Документация по Java для android.app.admin.DevicePolicyManager.installKeyPair(android.content.ComponentName, java.security.PrivateKey, java.security.cert.Certificate[], java.lang.String, boolean).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к

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

Этот API можно вызвать следующим образом, чтобы установить цепочку сертификатов и соответствующий закрытый ключ для конечного сертификата: <ul<>li>Device owner/li Profile owner/li Li Profile owner<</<>>li>Li Делегированный установщик< сертификата/>>><<li credential management app</li><>An app, которое содержит android.Manifest.permission#MANAGE_DEVICE_POLICY_CERTIFICATES разрешение><</li/ul> Все приложения в профиле смогут получить доступ к цепочке сертификатов и использовать закрытый ключ, учитывая прямое утверждение пользователя (если пользователю разрешено выбрать закрытый ключ).

[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

Параметры

admin
ComponentName

С которым DeviceAdminReceiver связан этот запрос, или null если вызывающий объект не является администратором устройства.

privKey
IPrivateKey

Закрытый ключ для установки.

certs
Certificate[]

Цепочка сертификатов для установки. Цепочка должна начинаться с конечного сертификата и включать цепочку доверия в порядке. Это будет возвращено android.security.KeyChain#getCertificateChain.

alias
String

Псевдоним закрытого ключа, в котором необходимо установить сертификат. Если сертификат с этим псевдонимом уже существует, он будет перезаписан.

flags
InstallKeyFlags

Флаги для запроса предоставления вызывающему приложению доступа к учетным данным и задания ключа для выбора пользователем. Ознакомьтесь с разделами #INSTALLKEY_SET_USER_SELECTABLE и #INSTALLKEY_REQUEST_CREDENTIALS_ACCESS.

Возвращаемое значение

true Значение , если ключи установлены, false в противном случае.

Атрибуты

Комментарии

Этот API можно вызвать следующим образом, чтобы установить цепочку сертификатов и соответствующий закрытый ключ для конечного сертификата: <ul<>li>Device owner/li Profile owner/li Li Profile owner<</<>>li>Li Делегированный установщик< сертификата/>>><<li credential management app</li><>An app, которое содержит android.Manifest.permission#MANAGE_DEVICE_POLICY_CERTIFICATES разрешение><</li/ul> Все приложения в профиле смогут получить доступ к цепочке сертификатов и использовать закрытый ключ, учитывая прямое утверждение пользователя (если пользователю разрешено выбрать закрытый ключ).

В Android android.os.Build.VERSION_CODES#Sприложение управления учетными данными может вызывать этот API. Если вызывается приложением управления учетными данными: <ul<>li>Имя компонента должно быть nullr</><li li>Псевдоним должен существовать в приложении управления учетными данными /li>><Пара ключей не должна быть выбрана пользователем</li></ul> Note, на неуправляемом устройстве может существовать только приложение управления учетными данными.android.security.AppUriAuthenticationPolicy<

Вызывающий этот API может предоставить себе доступ к сертификату и закрытому ключу немедленно без утверждения пользователя. Рекомендуется не запрашивать это, если это не требуется строго, так как он открывает дополнительные уязвимости безопасности.

Включите #INSTALLKEY_SET_USER_SELECTABLE в flags аргумент, чтобы разрешить пользователю выбрать ключ в диалоговом окне.

Примечание. Если предоставленный alias псевдоним имеет существующий псевдоним, все бывшие гранты, которые приложения были предоставлены для доступа к ключу и сертификатам, связанным с этим псевдонимом, будут отменены.

Документация по Java для android.app.admin.DevicePolicyManager.installKeyPair(android.content.ComponentName, java.security.PrivateKey, java.security.cert.Certificate[], java.lang.String, int).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к

InstallKeyPair(ComponentName, IPrivateKey, Certificate, String)

Этот API можно вызвать следующим образом, чтобы установить сертификат и соответствующий закрытый ключ: <ul><li>Device owner/li profile owner<</><>li li>Li Delegated certificate installer</<><>li li>Credential management app/li App<, который содержит android.Manifest.permission#MANAGE_DEVICE_POLICY_CERTIFICATES разрешение</li>>><</ul> Все приложения в профиле смогут получить доступ к сертификату и использовать закрытый ключ. при указании прямого утверждения пользователя.

[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

Параметры

admin
ComponentName

С которым DeviceAdminReceiver связан этот запрос, или null если вызывающий объект не является администратором устройства.

privKey
IPrivateKey

Закрытый ключ для установки.

cert
Certificate

Сертификат для установки.

alias
String

Псевдоним закрытого ключа, в котором необходимо установить сертификат. Если сертификат с этим псевдонимом уже существует, он будет перезаписан.

Возвращаемое значение

true Значение , если ключи установлены, false в противном случае.

Атрибуты

Комментарии

Этот API можно вызвать следующим образом, чтобы установить сертификат и соответствующий закрытый ключ: <ul><li>Device owner/li profile owner<</><>li li>Li Delegated certificate installer</<><>li li>Credential management app/li App<, который содержит android.Manifest.permission#MANAGE_DEVICE_POLICY_CERTIFICATES разрешение</li>>><</ul> Все приложения в профиле смогут получить доступ к сертификату и использовать закрытый ключ. при указании прямого утверждения пользователя.

В Android android.os.Build.VERSION_CODES#Sприложение управления учетными данными может вызывать этот API. Однако этот API задает пару ключей как пользователь, который можно выбрать по умолчанию, который не допускается при вызове приложением управления учетными данными. Вместо этого #installKeyPair(ComponentName, PrivateKey, Certificate[], String, int) следует вызывать не как #INSTALLKEY_SET_USER_SELECTABLE флаг.

Доступ к установленным учетным данным не будет предоставлен вызывающему объекту этого API без прямого утверждения пользователя. Это для безопасности — если установщик сертификатов станет скомпрометирован, сертификаты, которые уже установлены, будут защищены.

Если установщик должен иметь доступ к учетным данным, вызовите #installKeyPair(ComponentName, PrivateKey, Certificate[], String, boolean) его.

Примечание. Если предоставленный alias псевдоним имеет существующий псевдоним, все бывшие гранты, которые приложения были предоставлены для доступа к ключу и сертификатам, связанным с этим псевдонимом, будут отменены.

Документация по Java для android.app.admin.DevicePolicyManager.installKeyPair(android.content.ComponentName, java.security.PrivateKey, java.security.cert.Certificate, java.lang.String).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к