共用方式為


DevicePolicyManager.InstallKeyPair 方法

定義

多載

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

下列程式代碼可以呼叫此 API 來安裝分葉憑證的憑證鏈結和對應的私鑰:ul>li 裝置擁有者/li><li>配置檔擁有<者</li 委派憑證安裝程式<>></<>>li li Credential management app</li<>>li An 應用程式,其中保存android.Manifest.permission#MANAGE_DEVICE_POLICY_CERTIFICATES許可權</li></ul>><<配置檔中的所有應用程式都能夠存取憑證鏈結,並使用私鑰,並給予直接使用者核准。

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

下列程式代碼可以呼叫此 API 來安裝分葉憑證的憑證鏈結和對應的私鑰:ul>li 裝置擁有者/li><li>配置檔擁有<者</li 委派憑證安裝程式<>></<>>li li Credential management app</li<>>li An 應用程式,其中保存android.Manifest.permission#MANAGE_DEVICE_POLICY_CERTIFICATES許可權</li></ul>><<配置檔內的所有應用程式都能夠存取憑證鏈結,並使用私鑰,並給予使用者直接核准(如果允許使用者選取私鑰)。

InstallKeyPair(ComponentName, IPrivateKey, Certificate, String)

下列程式代碼可以呼叫此 API 來安裝憑證和對應的私鑰:ul>li 裝置擁有者/li><li li>配置檔擁有<者</li>><li 委派的憑證安裝程式</li>><li li 認證管理應用程式</li<>li>An 應用程式,其中保存android.Manifest.permission#MANAGE_DEVICE_POLICY_CERTIFICATES配置檔內的許可權</li></ul> 所有應用程式都能夠存取憑證並使用私鑰,><< 指定直接使用者核准。

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

下列程式代碼可以呼叫此 API 來安裝分葉憑證的憑證鏈結和對應的私鑰:ul>li 裝置擁有者/li><li>配置檔擁有<者</li 委派憑證安裝程式<>></<>>li li Credential management app</li<>>li An 應用程式,其中保存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 裝置擁有者/li><li>配置檔擁有<者</li 委派憑證安裝程式<>></<>>li li Credential management app</li<>>li An 應用程式,其中保存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 是現有的別名,則會撤銷所有先前授與應用程式存取與此別名相關聯的密鑰和憑證。

android.app.admin.DevicePolicyManager.installKeyPair(android.content.ComponentName, java.security.PrivateKey, java.security.cert.Certificate[], java.lang.String, boolean)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於

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

下列程式代碼可以呼叫此 API 來安裝分葉憑證的憑證鏈結和對應的私鑰:ul>li 裝置擁有者/li><li>配置檔擁有<者</li 委派憑證安裝程式<>></<>>li li Credential management app</li<>>li An 應用程式,其中保存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 裝置擁有者/li><li>配置檔擁有<者</li 委派憑證安裝程式<>></<>>li li Credential management app</li<>>li An 應用程式,其中保存android.Manifest.permission#MANAGE_DEVICE_POLICY_CERTIFICATES許可權</li></ul>><<配置檔內的所有應用程式都能夠存取憑證鏈結,並使用私鑰,並給予使用者直接核准(如果允許使用者選取私鑰)。

從 Android android.os.Build.VERSION_CODES#S,認證管理應用程式可以呼叫此 API。 如果認證管理應用程式<呼叫:ul<>li>componentName 必須是 nullr</li><>。別名必須存在於認證管理應用程式的android.security.AppUriAuthenticationPolicy< /li<>li>中。密鑰組不得為用戶可<選取/li></ul> 注意,在非受控裝置上只能有認證管理應用程式。

此 API 的呼叫端可以立即授與憑證和私鑰的存取權,而不需要使用者核准。 除非絕對必要,否則最好不要要求此要求,因為它會開啟額外的安全性弱點。

包含在 #INSTALLKEY_SET_USER_SELECTABLE 自變數中 flags ,以允許使用者從對話框中選取金鑰。

注意:如果提供的 alias 是現有的別名,則會撤銷所有先前授與應用程式存取與此別名相關聯的密鑰和憑證。

android.app.admin.DevicePolicyManager.installKeyPair(android.content.ComponentName, java.security.PrivateKey, java.security.cert.Certificate[], java.lang.String, int)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於

InstallKeyPair(ComponentName, IPrivateKey, Certificate, String)

下列程式代碼可以呼叫此 API 來安裝憑證和對應的私鑰:ul>li 裝置擁有者/li><li li>配置檔擁有<者</li>><li 委派的憑證安裝程式</li>><li li 認證管理應用程式</li<>li>An 應用程式,其中保存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 裝置擁有者/li><li li>配置檔擁有<者</li>><li 委派的憑證安裝程式</li>><li li 認證管理應用程式</li<>li>An 應用程式,其中保存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 是現有的別名,則會撤銷所有先前授與應用程式存取與此別名相關聯的密鑰和憑證。

android.app.admin.DevicePolicyManager.installKeyPair(android.content.ComponentName, java.security.PrivateKey, java.security.cert.Certificate, java.lang.String)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於