Language

KeyProtection.Builder.SetMaxUsageCount(Int32) メソッド

定義

キーの使用を許可する最大回数を設定します。

[Android.Runtime.Register("setMaxUsageCount", "(I)Landroid/security/keystore/KeyProtection$Builder;", "", ApiSince=31)]
public Android.Security.Keystore.KeyProtection.Builder SetMaxUsageCount(int maxUsageCount);
[<Android.Runtime.Register("setMaxUsageCount", "(I)Landroid/security/keystore/KeyProtection$Builder;", "", ApiSince=31)>]
member this.SetMaxUsageCount : int -> Android.Security.Keystore.KeyProtection.Builder

パラメーター

maxUsageCount
Int32

キーの使用が許可される最大回数。使用に制限がない場合はKeyProperties.UNRESTRICTED_USAGE_COUNT。

返品

属性

注釈

キーの使用を許可する最大回数を設定します。 キーを使用するたびに、使用カウンターが減少します。 この承認は、秘密鍵と秘密キーの操作にのみ適用されます。 公開キーの操作は制限されません。 たとえば、Cipher.doFinal() などのメソッドを使用してデータを正常に暗号化および復号化すると、秘密鍵の使用カウンターが減少します。 Signature.sign() などのメソッドを使用してデータに正常に署名すると、秘密キーの使用カウンターが減少します。 使用カウンターが使い果たされると、キーは Android キーストアによって削除対象としてマークされ、その後キーを使用しようとすると KeyPermanentlyInvalidatedException がスローされます。 使い果たされたキーが完全に削除された後に Android キーストアから読み込むキーはありません。これは、以前に存在しなかったキーと同様です。

既定では、キーの使用に制限はありません。

一部のセキュリティで保護されたハードウェアでは、この機能がまったくサポートされない場合があります。その場合、ソフトウェアで適用される場合、一部のセキュリティで保護されたハードウェアでサポートされる場合がありますが、maxUsageCount = 1 でのみサポートされる場合があり、一部のセキュリティで保護されたハードウェアでは maxUsageCount の値が大きい場合にサポートされる場合があります。

PackageManager 機能フラグ:PackageManager.FEATURE_KEYSTORE_SINGLE_USE_KEYとPackageManager.FEATURE_KEYSTORE_LIMITED_USE_KEYを使用して、セキュリティで保護されたハードウェアでこの機能を適用できないか、maxUsageCount = 1 でのみ適用できるか、maxUsageCount の値を大きくして適用できるかどうかを確認できます。

android.security.keystore.KeyProtection.Builder.setMaxUsageCountの Android リファレンス。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象