DevicePolicyManager.GenerateKeyPair 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
오버로드
| 속성 | Description |
|---|---|
| GenerateKeyPair(ComponentName, String, KeyGenParameterSpec, IdAttestationFlags) |
이 API를 호출하여 새 프라이빗/공개 키 쌍을 생성할 수 있습니다. ul<li Device owner>/li li<><Profile owner>/li<>li<Delegated certificate installer>/li<>li<Credential Management app>/li li<><An app that holds the > permission</li> |
| GenerateKeyPair(String, KeyGenParameterSpec, IdAttestationFlags, KeyChainManagerKeyPairScope) |
지정된 범위를 사용하여 새 프라이빗/공개 키 쌍을 생성합니다. |
GenerateKeyPair(ComponentName, String, KeyGenParameterSpec, IdAttestationFlags)
이 API를 호출하여 새 프라이빗/공개 키 쌍을 생성할 수 있습니다. ul<li Device owner>/li li<><Profile owner>/li<>li<Delegated certificate installer>/li<>li<Credential Management app>/li li<><An app that holds the > permission</li>android.Manifest.permission#MANAGE_DEVICE_POLICY_CERTIFICATES/ul<><> 디바이스가 보안 하드웨어를 통해 키 생성을 지원하는 경우 이 방법은 키 집합에서 보안 하드웨어를 떠나지 않는 키를 만드는 데 유용합니다.
[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_IMEI및) 및 증명 레코드에 포함해야 하는 식별자의 비트 마스크이며ID_TYPE_MEIDID_TYPE_INDIVIDUAL_ATTESTATION, 개별 증명 인증서를 사용하여 증명 레코드에 서명해야 하는 경우
<증명 레코드에 디바이스 식별이 필요하지 않고 일괄 처리 증명 인증서를 사용해야 하는 경우 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<><An app that holds the > permission</li>android.Manifest.permission#MANAGE_DEVICE_POLICY_CERTIFICATES/ul<><> 디바이스가 보안 하드웨어를 통해 키 생성을 지원하는 경우 이 방법은 키 집합에서 보안 하드웨어를 떠나지 않는 키를 만드는 데 유용합니다. 키에 대한 액세스는 .에서와 같은 방식으로 제어됩니다 #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 것으로 간주됩니다.
StrongBox에서 키 생성이 수행된 경우에만 증명 사용을 #ID_TYPE_INDIVIDUAL_ATTESTATION 요청할 수 있습니다.
이 페이지의 일부는 만들고 공유한 작업을 기반으로 하며 에 설명된 조건에 따라 사용됩니다.
적용 대상
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
증명 레코드에 포함해야 하는 식별자의 비트 마스크입니다. 자세한 내용은 기본 메서드를 참조하세요.
키 쌍의 범위입니다 KeyChainManager#KEYPAIR_SCOPE_USER . 또는 KeyChainManager#KEYPAIR_SCOPE_DEVICE.
반품
null AttestedKeyPair이 아닌 .
- 특성