語言

DevicePolicyManager.InstallKeyPair 方法

定義

多載

名稱 Description
InstallKeyPair(ComponentName, IPrivateKey, Certificate, String)

此 API 可透過以下方式呼叫以安裝憑證及對應的私鑰:ul>li 裝置>擁有者</li><li>設定檔擁有者</li<>li>li 委派憑證安裝器</li><li>憑證管理應用程式</li<>li>li 持有android.Manifest.permission#MANAGE_DEVICE_POLICY_CERTIFICATES權限<的應用程式/li<>/ul> 設定檔內的所有應用程式都能存取憑證並使用私鑰,<< 獲得用戶直接批准。

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

此 API 可由以下方式呼叫,安裝葉子憑證的憑證鏈及對應私鑰:ul>li 裝置>擁有者</li><li>設定檔擁有者</li><li>委派憑證安裝器</li><>li 憑證管理應用程式</li<>li>li 持有android.Manifest.permission#MANAGE_DEVICE_POLICY_CERTIFICATES權限<的應用程式/li></ul><<設定檔內的所有應用程式都能存取憑證鏈並使用私鑰,前提是使用者可直接核准(若使用者被允許選擇私鑰)。

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

此 API 可由以下方式呼叫,安裝葉子憑證的憑證鏈及對應私鑰:ul>li 裝置>擁有者</li><li>設定檔擁有者</li><li>委派憑證安裝器</li><>li 憑證管理應用程式</li<>li>li 持有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 持有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 持有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)。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於

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

此 API 可由以下方式呼叫,安裝葉子憑證的憑證鏈及對應私鑰:ul>li 裝置>擁有者</li><li>設定檔擁有者</li><li>委派憑證安裝器</li><>li 憑證管理應用程式</li<>li>li 持有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><>li 憑證管理應用程式</li<>li>li 持有android.Manifest.permission#MANAGE_DEVICE_POLICY_CERTIFICATES權限<的應用程式/li></ul><<設定檔內的所有應用程式都能存取憑證鏈並使用私鑰,前提是使用者可直接核准(若使用者被允許選擇私鑰)。

從 Android android.os.Build.VERSION_CODES#S版本,憑證管理應用程式可以呼叫這個 API。 若憑證管理應用程式呼叫:ul>li 元件名稱必須為 nullr</li><li>別名必須存在於憑證管理應用程式的 android.security.AppUriAuthenticationPolicy</li<>li>金鑰對不可為使用者可<選擇/li></ul> 注意,憑證管理應用程式只能在未受管理的裝置上使用。><<

呼叫此 API 的人可以立即授權自己存取憑證和私鑰,無需使用者批准。 除非絕對必要,否則最好不要申請,因為這會帶來更多安全漏洞。

在參數中加入#INSTALLKEY_SET_USER_SELECTABLEflags,允許使用者從對話框中選擇金鑰。

注意:若提供的 alias 是現有別名,該應用程式先前獲得的存取該別名金鑰及憑證的授權將被撤銷。

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

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於

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

此 API 可由以下方式呼叫,安裝葉子憑證的憑證鏈及對應私鑰:ul>li 裝置>擁有者</li><li>設定檔擁有者</li><li>委派憑證安裝器</li><>li 憑證管理應用程式</li<>li>li 持有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><>li 憑證管理應用程式</li<>li>li 持有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)。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於