次の方法で共有


クライアントがサポートする機能を特定する方法

PlayReady Device Porting Kit バージョン 4.4 以降、クライアントはライセンス取得チャレンジの一環として、サポートされている機能に関する情報をライセンス サーバーに送信します。 これには、リッチ実行環境 (REE) 機能と信頼された実行環境 (TEE) 機能の両方が含まれます。

PlayReady Server SDK バージョン 4.4 以降では、この情報は LicenseChallenge クラスを介してアプリケーションで一般に公開されます。 (以前のバージョンの PlayReady Server SDK は、ライセンス取得チャレンジに存在する場合、この情報を無視します)。このページでは、この機能を使用して、クライアントが実装した機能に基づいてサーバー アプリケーションで決定を行う方法について説明します。

機能は、3 つの異なるカテゴリ (TEE プロパティ、TEE API、REE 機能) の LicenseChallenge クラスを通じて公開されます。 クライアント機能の個々のカテゴリにアクセスするには、ライセンス チャレンジのプロパティを使用して、各機能に対応する列挙型の一覧を取得するか、ライセンス チャレンジ内で送信された機能情報を含む生の XML にアクセスできます。 バージョン 4.4 以降の LicenseChallenge クラスで公開されている機能を、対応する列挙値と共に以下に示します。

TeePropertyList:
SUPPORTS_HEVC_HW_DECODING
SUPPORTS_REMOTE_PROVISIONING
SUPPORTS_PRE_PROCESS_ENCRYPTED_DATA
REQUIRES_PRE_PROCESS_ENCRYPTED_DATA_WITH_FULL_FRAMES
REQUIRES_SAMPLE_PROTECTION
SUPPORTS_SECURE_CLOCK
SUPPORTS_SECURE_STOP
SUPPORTS_SECURE_HDCP_TYPE_1
REQUIRES_PREPARE_POLICY_INFO
SUPPORTS_DEBUG_TRACING
REQUIRES_MINIMAL_REVOCATION_DATA
SUPPORTS_OPTIMIZED_CONTENT_KEY2

TeeApiList:
DRM_TEE_BASE_AllocTEEContext
DRM_TEE_BASE_FreeTEEContext
DRM_TEE_BASE_SignDataWithSecureStoreKey
DRM_TEE_BASE_CheckDeviceKeys
DRM_TEE_BASE_GetDebugInformation
DRM_TEE_BASE_GenerateNonce
DRM_TEE_BASE_GetSystemTime
DRM_TEE_LPROV_GenerateDeviceKeys
DRM_TEE_RPROV_GenerateBootstrapChallenge
DRM_TEE_RPROV_ProcessBootstrapResponse
DRM_TEE_RPROV_GenerateProvisioningRequest
DRM_TEE_RPROV_ProcessProvisioningResponse
DRM_TEE_LICPREP_PackageKey
DRM_TEE_SAMPLEPROT_PrepareSampleProtectionKey
DRM_TEE_DECRYPT_PreparePolicyInfo
DRM_TEE_DECRYPT_PrepareToDecrypt
DRM_TEE_DECRYPT_CreateOEMBlobFromCDKB
DRM_TEE_AES128CTR_DecryptContent
DRM_TEE_SIGN_SignHash
DRM_TEE_DOM_PackageKeys
DRM_TEE_RESERVED_20
DRM_TEE_RESERVED_21
DRM_TEE_RESERVED_22
DRM_TEE_RESERVED_23
DRM_TEE_REVOCATION_IngestRevocationInfo
DRM_TEE_LICGEN_CompleteLicense
DRM_TEE_LICGEN_AES128CTR_EncryptContent
DRM_TEE_RESERVED_27
DRM_TEE_RESERVED_28
DRM_TEE_RESERVED_29
DRM_TEE_RESERVED_30
DRM_TEE_RESERVED_31
DRM_TEE_RESERVED_32
DRM_TEE_RESERVED_33
DRM_TEE_H264_PreProcessEncryptedData
DRM_TEE_SECURESTOP_GetGenerationID
DRM_TEE_AES128CTR_DecryptAudioContentMultiple
DRM_TEE_SECURETIME_GenerateChallengeData
DRM_TEE_SECURETIME_ProcessResponseData
DRM_TEE_AES128CTR_DecryptContentMultiple
DRM_TEE_AES128CBC_DecryptContentMultiple
DRM_TEE_SECURESTOP2_GetSigningKeyBlob
DRM_TEE_SECURESTOP2_SignChallenge
DRM_TEE_BASE_GetFeatureInformation

ReeFeatureList:
アセンブリ
PersistentStorePrealloc
ECCProfiling
ForceAlign
InlineDwordCopy
FileLocking
マルチ スレッド
Native64BitTypes
PrecomputedECCGlobalTable
トレース
PersistentStoreWriteThrough
AddLicenseWriteThrough
NoOptimizations
DebugBuild
プロファイル
アクティブ化
AntirollbackClock
CDMI
CleanStore
ErrorCodeContract
PKCRT
DeviceAssets
ドメイン
EmbeddedLicenseStore
PersistentStore
PersistentStoreBlockHeaderCache
CDMIPersistentStore
ContentKeyGeneration
LocalLicenseGeneration
MeteringCertificateRevocation
測定
ModelCertificateRevocation
InMemoryOnlyLicenses
パフォーマンス
再 アクティブ 化
無効化
SecureDelete
SecureStop
SecureStop2
SecureTime
StructuredSerialization
XmlParsingCache
LicenseAcquisition
LegacyXmlCertificates
AESCBCS

公開されているクライアント機能セットに関して、LicenseChallenge クラスを使用できる一般的な状態がいくつかあります。

  • TeePropertyList、TeeApiList、ReeFeatureList がすべて空の場合は、クライアントが 4.4 より古いバージョンの PK を実行していることを意味します。
  • ReeFeatureList が空で、TeePropertyList と TeeApiList の両方が空の場合は、2 つのことを意味する可能性があります。
    • Windowsクライアントでは、クライアントがソフトウェア DRM で実行されているか、クライアントの TEE が PK バージョン 4.4 より前です。
    • Windows以外のクライアントでは、クライアントの REE は PK バージョン 4.4 以降を実行していますが、クライアントの TEE は PK バージョン 4.4 より古いです。
  • TeePropertyList、TeeApiList、ReeFeatureList がすべて空でない場合、クライアントはすべてのコンポーネントに対して PK バージョン 4.4 以降を実行しています。
    • 注: TeePropertyList と TeeApiList は、クライアントの TEE によって提供され、そのセキュリティ レベルで信頼できます。