言語

DevicePolicyManager.GenerateKeyPair メソッド

定義

オーバーロード

名前 説明
GenerateKeyPair(ComponentName, String, KeyGenParameterSpec, IdAttestationFlags)

この API を呼び出して、新しい秘密キーと公開キーのペアを生成できます。<ul><li>Device owner</li><li>Profile owner</li><li> 削除された証明書インストーラー</li><li>Credential 管理アプリ</li><li>android.Manifest.permission#MANAGE_DEVICE_POLICY_CERTIFICATESアクセス許可を保持するアプリ</li></ul>デバイスがセキュリティで保護されたハードウェアを介したキー生成をサポートしている場合、このメソッドは、セキュリティで保護されたハードウェアから離れることのないキーを KeyChain で作成する場合に役立ちます。

GenerateKeyPair(String, KeyGenParameterSpec, IdAttestationFlags, KeyChainManagerKeyPairScope)

指定したスコープを持つ新しい秘密キーと公開キーのペアを生成します。

GenerateKeyPair(ComponentName, String, KeyGenParameterSpec, IdAttestationFlags)

この API を呼び出して、新しい秘密キーと公開キーのペアを生成できます。<ul><li>Device owner</li><li>Profile owner</li><li> 削除された証明書インストーラー</li><li>Credential 管理アプリ</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_INFOID_TYPE_SERIALID_TYPE_IMEIID_TYPE_MEID)、および構成証明レコードに個別の構成証明証明書を使用して署名する必要がある場合に ID_TYPE_INDIVIDUAL_ATTESTATION します。 <構成証明レコードにデバイス ID が必要なく、バッチ構成証明証明書を使用する必要がある場合は、p>0 を渡す必要があります。 <p> フラグが指定されている場合は、構成証明チャレンジを keySpecに含む必要があります。

返品

キーの生成が成功した場合は null 以外の AttestedKeyPair 。それ以外の場合は null。

属性

注釈

この API を呼び出して、新しい秘密キーと公開キーのペアを生成できます。<ul><li>Device owner</li><li>Profile owner</li><li> 削除された証明書インストーラー</li><li>Credential 管理アプリ</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 が既存のエイリアスの場合、このエイリアスに関連付けられているキーと証明書にアクセスするためにアプリが付与されていた以前の許可はすべて取り消されます。

構成証明: 構成証明を有効にするには、keySpecを使用してKeyGenParameterSpec.Builder#setAttestationChallengeで構成証明チャレンジを設定します。 idAttestationFlags パラメーターにフラグを指定することで、構成証明レコードに含めるデバイスの一意の ID を要求できます。

特定の識別子を構成証明レコードに含め、個々の構成証明証明書を使用して構成証明レコードに署名できます。 デバイスでこれらの機能がサポートされているかどうかを確認するには、 #isDeviceIdAttestationSupported()#isUniqueDeviceAttestationSupported()を参照してください。

デバイス所有者、プロファイル所有者、委任された証明書インストーラー、資格情報管理アプリは、 #ID_TYPE_BASE_INFO を使用して、製造元、モデル、ブランド、デバイス、製品などの一般的なデバイス情報を構成証明レコードに含めることを要求できます。 デバイスでサポートされている場合は、デバイス所有者、組織所有のデバイスまたは関連ユーザーのプロファイル所有者、および委任された証明書インストーラーのみが、 #ID_TYPE_SERIAL#ID_TYPE_IMEI 、および #ID_TYPE_MEID を使用して、一意のデバイス識別子 (シリアル番号、IMEI、MEID) の構成証明を要求できます ( #isDeviceIdAttestationSupported()を参照)。 さらに、組織所有デバイスのデバイス所有者、プロファイル所有者、および委任された証明書インストーラーは、 #ID_TYPE_INDIVIDUAL_ATTESTATION フラグを指定して、個別の構成証明証明書を使用して構成証明レコードに署名するように要求することもできます (デバイスでサポートされている場合は、 #isUniqueDeviceAttestationSupported()を参照してください)。

#ID_TYPE_SERIAL#ID_TYPE_IMEI#ID_TYPE_MEIDのいずれかが設定されている場合、#ID_TYPE_BASE_INFOも設定されていることが暗黙的に想定されます。

#ID_TYPE_INDIVIDUAL_ATTESTATIONを使用した構成証明は、StrongBox でキーの生成が行われた場合にのみ要求できます。

Javaドキュメント。

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

適用対象

GenerateKeyPair(String, KeyGenParameterSpec, IdAttestationFlags, KeyChainManagerKeyPairScope)

指定したスコープを持つ新しい秘密キーと公開キーのペアを生成します。

[Android.Runtime.Register("generateKeyPair", "(Ljava/lang/String;Landroid/security/keystore/KeyGenParameterSpec;II)Landroid/security/AttestedKeyPair;", "GetGenerateKeyPair_Ljava_lang_String_Landroid_security_keystore_KeyGenParameterSpec_IIHandler", ApiSince=37)]
[Android.Runtime.RequiresPermission("android.permission.MANAGE_DEVICE_POLICY_CERTIFICATES")]
public virtual Android.Security.AttestedKeyPair GenerateKeyPair(string algorithm, Android.Security.Keystore.KeyGenParameterSpec keySpec, Android.App.Admin.IdAttestationFlags idAttestationFlags, Android.Security.KeyChainManagerKeyPairScope scope);
[<Android.Runtime.Register("generateKeyPair", "(Ljava/lang/String;Landroid/security/keystore/KeyGenParameterSpec;II)Landroid/security/AttestedKeyPair;", "GetGenerateKeyPair_Ljava_lang_String_Landroid_security_keystore_KeyGenParameterSpec_IIHandler", ApiSince=37)>]
[<Android.Runtime.RequiresPermission("android.permission.MANAGE_DEVICE_POLICY_CERTIFICATES")>]
abstract member GenerateKeyPair : string * Android.Security.Keystore.KeyGenParameterSpec * Android.App.Admin.IdAttestationFlags * Android.Security.KeyChainManagerKeyPairScope -> Android.Security.AttestedKeyPair
override this.GenerateKeyPair : string * Android.Security.Keystore.KeyGenParameterSpec * Android.App.Admin.IdAttestationFlags * Android.Security.KeyChainManagerKeyPairScope -> Android.Security.AttestedKeyPair

パラメーター

algorithm
String

キー生成アルゴリズムについては、 java.security.KeyPairGeneratorを参照してください。

keySpec
KeyGenParameterSpec

生成するキーの仕様については、 java.security.KeyPairGeneratorを参照してください。

idAttestationFlags
IdAttestationFlags

構成証明レコードに含める必要がある識別子のビットマスク。 詳細については、基本メソッドを参照してください。

scope
KeyChainManagerKeyPairScope

キー ペアのスコープ: KeyChainManager#KEYPAIR_SCOPE_USER または KeyChainManager#KEYPAIR_SCOPE_DEVICE

返品

null 以外の AttestedKeyPair

属性

適用対象