ILicenseAcquisitionHandler.HandleLicenseAcquisitionAsync 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
서비스 구현된 메서드는 라이선스 동의 요청을 처리합니다.
public System.Threading.Tasks.Task<Microsoft.Media.Drm.LicenseResponse> HandleLicenseAcquisitionAsync (Microsoft.Media.Drm.ILicenseChallenge challenge);
abstract member HandleLicenseAcquisitionAsync : Microsoft.Media.Drm.ILicenseChallenge -> System.Threading.Tasks.Task<Microsoft.Media.Drm.LicenseResponse>
Public Function HandleLicenseAcquisitionAsync (challenge As ILicenseChallenge) As Task(Of LicenseResponse)
매개 변수
- challenge
- ILicenseChallenge
ILicenseChallenge 클라이언트에서 받은 구문 분석.
반환
LicenseResponse 클라이언트에 반환할 입니다.
설명
라이선스 취득 요청은 지정된 콘텐츠, 키 교환을 제공하는 라이선스 및/또는 현재 서버 시간에 대한 작업을 수행할 수 있는 권한을 부여하는 라이선스에 대한 클라이언트의 요청입니다. 이 메서드에서 서비스는 일반적으로 다음 단계를 순서대로 수행합니다.
- CustomData 들어오는 요청에서 를 읽습니다.
- 사용자를 인증합니다.
- 라이선스가 등록된 도메인이 있는 고객에게만 전달되어야 하는 경우 이 클라이언트에 대해 유효한 인증서를 반환하는지 여부를 GetDomainCertificates() 억제하고 그렇지 않은 경우 을 DomainRequiredException throw합니다.
- 라이선스를 발급해야 하는 경우(true가 아닌 경우 LicenseServerTimeRequested 필요) 하나 이상의 License 개체를 만듭니다.
- 만든 각 License 라이선스에 원하는 Rights 및 제한을 추가하고 라이선스 BindingKey 를 적절한 인증서 또는 루트 라이선스에 바인딩합니다. 콘텐츠 라이선스의 경우 속성을 설정합니다 ContentEncryptionKey . (있는 경우 서비스는 에서 ContentHeader 를 EncryptionType 사용하여 요청ContentKeyType된 를 확인할 수 있습니다.) 그런 다음, 를 호출합니다AddLicense(License).
- 가 포함된 경우 ReeFeatureList 속성을 설정합니다LicenseServerTimeCertificate.LicenseServerTime
- 라이선스 승인 요청이 지원되는 경우 속성을 설정하고 TransactionId 라이선스 승인 결과를 확인하는 데 필요한 트랜잭션 데이터를 저장합니다.
- 에서 LicenseResponse원하는 추가 속성을 설정합니다.