DevicePolicyManager.GenerateKeyPair メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
この API は、新しい秘密キーと公開キーのペアを生成するために呼び出すことができます。ul>li Device owner</li li<>>Profile owner</li li<>>Delegated certificate installer</li li>><Credential management app</li li>><アクセス許可<を保持android.Manifest.permission#MANAGE_DEVICE_POLICY_CERTIFICATES
するアプリ/li></ul>><<デバイスがセキュリティで保護されたハードウェアを介したキー生成をサポートしている場合、この方法は、セキュリティで保護されたハードウェアから離れることのないキーを KeyChain に作成する場合に役立ちます。
[Android.Runtime.Register("generateKeyPair", "(Landroid/content/ComponentName;Ljava/lang/String;Landroid/security/keystore/KeyGenParameterSpec;I)Landroid/security/AttestedKeyPair;", "GetGenerateKeyPair_Landroid_content_ComponentName_Ljava_lang_String_Landroid_security_keystore_KeyGenParameterSpec_IHandler", ApiSince=28)]
[Android.Runtime.RequiresPermission("android.permission.MANAGE_DEVICE_POLICY_CERTIFICATES")]
public virtual Android.Security.AttestedKeyPair? GenerateKeyPair (Android.Content.ComponentName? admin, string algorithm, Android.Security.Keystore.KeyGenParameterSpec keySpec, Android.App.Admin.IdAttestationFlags idAttestationFlags);
[<Android.Runtime.Register("generateKeyPair", "(Landroid/content/ComponentName;Ljava/lang/String;Landroid/security/keystore/KeyGenParameterSpec;I)Landroid/security/AttestedKeyPair;", "GetGenerateKeyPair_Landroid_content_ComponentName_Ljava_lang_String_Landroid_security_keystore_KeyGenParameterSpec_IHandler", ApiSince=28)>]
[<Android.Runtime.RequiresPermission("android.permission.MANAGE_DEVICE_POLICY_CERTIFICATES")>]
abstract member GenerateKeyPair : Android.Content.ComponentName * string * Android.Security.Keystore.KeyGenParameterSpec * Android.App.Admin.IdAttestationFlags -> Android.Security.AttestedKeyPair
override this.GenerateKeyPair : Android.Content.ComponentName * string * Android.Security.Keystore.KeyGenParameterSpec * Android.App.Admin.IdAttestationFlags -> Android.Security.AttestedKeyPair
パラメーター
- admin
- ComponentName
DeviceAdminReceiver
この要求が関連付けられているか、またはnull
呼び出し元がデバイス管理者でない場合。
- algorithm
- String
キー生成アルゴリズムについては、「」を参照してください java.security.KeyPairGenerator
。
- keySpec
- KeyGenParameterSpec
生成するキーの仕様については、「」を参照してください java.security.KeyPairGenerator
。
- idAttestationFlags
- IdAttestationFlags
構成証明レコード (ID_TYPE_BASE_INFO
、、) ID_TYPE_INDIVIDUAL_ATTESTATION
ID_TYPE_MEID
に含める必要がある識別子のビットマスク。また、ID_TYPE_SERIAL
ID_TYPE_IMEI
構成証明レコードに個別の構成証明証明書を使用して署名する必要がある場合は 。
<構成証明レコードにデバイス ID が必要なく、バッチ構成証明証明書を使用する必要がある場合は、p>0
を渡す必要があります。
<p> フラグが指定されている場合は、構成証明チャレンジを に keySpec
含む必要があります。
戻り値
キーの生成が成功した場合は null AttestedKeyPair
以外、それ以外の場合は null。
- 属性
注釈
この API は、新しい秘密キーと公開キーのペアを生成するために呼び出すことができます。ul>li Device owner</li li<>>Profile owner</li li<>>Delegated certificate installer</li li>><Credential management app</li li>><アクセス許可<を保持android.Manifest.permission#MANAGE_DEVICE_POLICY_CERTIFICATES
するアプリ/li></ul>><<デバイスがセキュリティで保護されたハードウェアを介したキー生成をサポートしている場合、この方法は、セキュリティで保護されたハードウェアから離れることのないキーを KeyChain に作成する場合に役立ちます。 キーへのアクセスは、 と同じ方法で #installKeyPair
制御されます。
Android android.os.Build.VERSION_CODES#S
から、資格情報管理アプリはこの API を呼び出すことができます。 資格情報管理アプリによって呼び出される場合、componentName は である null
必要があります。 アンマネージド デバイスには資格情報管理アプリしか存在できないことに注意してください。
このメソッドの完了には数秒かかる場合があるため、ワーカー スレッドからのみ呼び出す必要があります。 このメソッドは、null
メイン スレッドから呼び出されたときに を返します。
このメソッドはスレッド セーフではありません。同時に複数のスレッドから呼び出すと、未定義の動作が発生します。 呼び出しが実行中に呼び出し元のスレッドが中断された場合、最終的に が終了し、 が返 null
されます。
注: 指定 alias
された が既存の別名の場合、キーにアクセスするためにアプリが付与されたすべての以前の許可が取り消され、この別名に関連付けられている証明書が取り消されます。
構成証明: 構成証明を有効にするには、 を使用して KeyGenParameterSpec.Builder#setAttestationChallenge
で構成証明チャレンジkeySpec
を設定します。 パラメーターにフラグを idAttestationFlags
指定することで、デバイスの一意の ID を構成証明レコードに含めるよう要求できます。
特定の識別子を構成証明レコードに含め、個々の構成証明証明書を使用して構成証明レコードに署名できます。 デバイスでこれらの機能がサポートされているかどうかを確認するには、 と #isUniqueDeviceAttestationSupported()
を#isDeviceIdAttestationSupported()
参照してください。
デバイス所有者、プロファイル所有者、委任された証明書インストーラー、資格情報管理アプリを使用 #ID_TYPE_BASE_INFO
して、製造元、モデル、ブランド、デバイス、製品などの一般的なデバイス情報を構成証明レコードに含めることを要求できます。 デバイス所有者、organization所有デバイスまたは関連ユーザーのプロファイル所有者、および委任された証明書インストーラーのみが を使用#ID_TYPE_SERIAL
#ID_TYPE_IMEI
#ID_TYPE_MEID
でき、デバイスでサポートされている場合は、一意のデバイス識別子 (シリアル番号、IMEI、MEID に対応する) を要求できます (参照)。#isDeviceIdAttestationSupported()
さらに、デバイス所有者、organization所有デバイスのプロファイル所有者、および委任された証明書インストーラーは、 フラグを指定#ID_TYPE_INDIVIDUAL_ATTESTATION
することで、個々の構成証明証明書を使用して構成証明レコードに署名するように要求することもできます (デバイスでサポートされている場合は、「」を参照)。#isUniqueDeviceAttestationSupported()
のいずれかの #ID_TYPE_SERIAL
#ID_TYPE_IMEI
#ID_TYPE_MEID
が設定されている場合は、 も暗黙的に設定されていると見なされます#ID_TYPE_BASE_INFO
。
を使用する #ID_TYPE_INDIVIDUAL_ATTESTATION
構成証明は、StrongBox でキーの生成が行われた場合にのみ要求できます。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。