DevicePolicyManager.InstallKeyPair 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
| 名稱 | Description |
|---|---|
| InstallKeyPair(ComponentName, IPrivateKey, Certificate, String) |
此 API 可透過以下方式呼叫以安裝憑證及對應的私鑰:ul>li 裝置>擁有者</li><li>設定檔擁有者</li<>li>li 委派憑證安裝器</li><li>憑證管理應用程式</li<>li>li 持有 |
| InstallKeyPair(ComponentName, IPrivateKey, Certificate[], String, InstallKeyFlags) |
此 API 可由以下方式呼叫,安裝葉子憑證的憑證鏈及對應私鑰:ul>li 裝置>擁有者</li><li>設定檔擁有者</li><li>委派憑證安裝器</li><>li 憑證管理應用程式</li<>li>li 持有 |
| InstallKeyPair(ComponentName, IPrivateKey, Certificate[], String, Boolean) |
此 API 可由以下方式呼叫,安裝葉子憑證的憑證鏈及對應私鑰:ul>li 裝置>擁有者</li><li>設定檔擁有者</li><li>委派憑證安裝器</li><>li 憑證管理應用程式</li<>li>li 持有 |
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 是現有別名,該應用程式先前獲得的存取該別名金鑰及憑證的授權將被撤銷。
本頁部分內容為基於 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 是現有別名,該應用程式先前獲得的存取該別名金鑰及憑證的授權將被撤銷。
本頁部分內容為基於 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 是現有別名,該應用程式先前獲得的存取該別名金鑰及憑證的授權將被撤銷。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。