PresentationSession.GetCredentialData(String, CredentialDataRequest) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
현재 프레젠테이션 세션의 명명된 자격 증명에서 데이터를 검색합니다.
[Android.Runtime.Register("getCredentialData", "(Ljava/lang/String;Landroid/security/identity/CredentialDataRequest;)Landroid/security/identity/CredentialDataResult;", "GetGetCredentialData_Ljava_lang_String_Landroid_security_identity_CredentialDataRequest_Handler", ApiSince=33)]
public abstract Android.Security.Identity.CredentialDataResult? GetCredentialData (string credentialName, Android.Security.Identity.CredentialDataRequest request);
[<Android.Runtime.Register("getCredentialData", "(Ljava/lang/String;Landroid/security/identity/CredentialDataRequest;)Landroid/security/identity/CredentialDataResult;", "GetGetCredentialData_Ljava_lang_String_Landroid_security_identity_CredentialDataRequest_Handler", ApiSince=33)>]
abstract member GetCredentialData : string * Android.Security.Identity.CredentialDataRequest -> Android.Security.Identity.CredentialDataResult
매개 변수
- credentialName
- String
검색할 자격 증명의 이름입니다.
- request
- CredentialDataRequest
자격 증명에서 검색할 데이터
반환
자격 증명을 찾을 수 없으면 null을 반환합니다. 그렇지 않으면 CredentialDataResult
네임스페이스로 구성된 항목 데이터와 현재 세션에 바인딩된 동일한 데이터의 암호화 인증 표현을 포함하는 개체입니다.
- 특성
설명
현재 프레젠테이션 세션의 명명된 자격 증명에서 데이터를 검색합니다.
요청된 항목 중 하나에 대한 액세스 제어 확인이 실패하거나 항목이 없는 경우 항목이 반환되지 않습니다. 애플리케이션은 요청된 각 항목의 메서드를 CredentialDataResult.Entries#getStatus(String, String)
사용하여 이를 감지할 수 있습니다.
애플리케이션은 사용자 인증이 필요한지 여부를 가정해서는 안 됩니다. 대신 애플리케이션은 먼저 데이터 요소 값을 요청한 다음 반환 CredentialDataResult.Entries
된 값을 검사해야 합니다. 반환되는 경우 CredentialDataResult.Entries#STATUS_USER_AUTHENTICATION_FAILED
애플리케이션은 이 개체를 참조하는 개체를 android.hardware.biometrics.BiometricPrompt.CryptoObject
가져와서 이 개체와 함께 android.hardware.biometrics.BiometricPrompt
사용해야 합니다. 인증에 성공하면 애플리케이션이 다시 호출 #getCredentialData(String, CredentialDataRequest)
될 수 있습니다.
동일한 자격 증명 이름을 사용하여 이 메서드를 여러 번 호출할 수 있습니다. 이 작업을 수행하면 동일한 인증 키가 사용됩니다.
판독기 서명이 요청 매개 변수에서 설정된 경우(메서드를 CredentialDataRequest.Builder#setReaderSignature(byte[])
통해) RFC 8152에 정의된 대로 구조체의 COSE_Sign1
바이트를 포함해야 합니다. 페이로드는 nil
사용되어야 하며 분리된 페이로드는 아래에 설명된 ReaderAuthenticationBytes
CBOR입니다.
ReaderAuthentication = [
"ReaderAuthentication",
SessionTranscript,
ItemsRequestBytes
]
ItemsRequestBytes = #6.24(bstr .cbor ItemsRequest)
ReaderAuthenticationBytes = #6.24(bstr .cbor ReaderAuthentication)
는 요청 ItemsRequestBytes
매개 변수에 설정된 요청 메시지의 바이트(메서드를 CredentialDataRequest.Builder#setRequestMessage(byte[])
통해)입니다.
서명을 만드는 데 사용되는 키에 해당하는 공개 키는 구조체의 COSE_Sign1
보호되지 않는 헤더 요소에서 x5chain
찾을 수 있습니다(draft-ietf-cose-x509-08에 설명된 대로). 해당 요소에 인증서가 하나 이상 있을 수 있으며 더 있을 수 있습니다(이 경우 각 인증서는 후속에서 서명해야 합니다).
판독기 인증으로 보호되는 데이터 요소는 판독기 인증서 체인에서 최상위 인증서로 서명되고 데이터 요소가 인증서 체인에 표시되는 키에 대해 X.509 인증서로 AccessControlProfile
구성된 경우에만 requestMessage
반환됩니다.
요청 메시지 CBOR은 판독기 인증을 적용하는 데만 사용되며 이 API가 반환할 항목을 결정하는 데 사용되지 않습니다. 애플리케이션은 요청 메시지를 구문 분석하고 사용자 기본 설정 및/또는 동의에 따라 필터링해야 합니다.
이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.