KeyGenParameterSpec.Builder.SetMaxUsageCount(Int32) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
設定該金鑰被允許使用的最大次數。
[Android.Runtime.Register("setMaxUsageCount", "(I)Landroid/security/keystore/KeyGenParameterSpec$Builder;", "", ApiSince=31)]
public Android.Security.Keystore.KeyGenParameterSpec.Builder SetMaxUsageCount(int maxUsageCount);
[<Android.Runtime.Register("setMaxUsageCount", "(I)Landroid/security/keystore/KeyGenParameterSpec$Builder;", "", ApiSince=31)>]
member this.SetMaxUsageCount : int -> Android.Security.Keystore.KeyGenParameterSpec.Builder
參數
- maxUsageCount
- Int32
如果使用次數沒有限制,則允許使用該金鑰的最大次數或KeyProperties.UNRESTRICTED_USAGE_COUNT次數。
傳回
- 屬性
備註
設定該金鑰被允許使用的最大次數。 每次使用該鑰匙後,使用次數會減少。 此授權僅適用於秘密金鑰與私鑰操作。 公鑰操作不受限制。 例如,在成功使用像 Cipher.doFinal() 這類方法加密與解密資料後,秘密金鑰的使用計數器會減少。 在成功使用像 Signature.sign() 這類方法簽署資料後,私鑰的使用計數器會減少。 當使用計數器耗盡時,Android Keystore 會標記該金鑰需刪除,且任何後續嘗試使用該金鑰都會拋出 KeyPermanentlyInvalidatedException。 一旦用盡的金鑰永久刪除,就不會再從 Android Keystore 載入任何金鑰,就像該金鑰從未存在過一樣。
預設情況下,金鑰的使用沒有限制。
部分安全硬體可能完全不支援此功能,此時軟體會強制執行;部分安全硬體可能支援此功能,但僅限於 maxUsageCount = 1;而部分安全硬體則可能支援較大的 maxUsageCount。
PackageManager 的功能標誌:PackageManager.FEATURE_KEYSTORE_SINGLE_USE_KEY 和 PackageManager.FEATURE_KEYSTORE_LIMITED_USE_KEY 可用來檢查安全硬體是否無法強制執行此功能,或只能以 maxUsageCount = 1 強制執行,或能以較大值的 maxUsageCount 強制執行。
Android 參考資料。android.security.keystore.KeyGenParameterSpec.Builder.setMaxUsageCount
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。