共用方式為


如何判斷客戶端支援哪些功能

從 PlayReady 裝置移植套件 4.4 版開始,用戶端會將支援哪些功能的相關信息傳送給授權伺服器,作為授權取得挑戰的一部分。 這包括豐富執行環境 (REE) 功能和受信任的執行環境 (TEE) 功能。

從 PlayReady Server SDK 4.4 版開始,這項資訊會透過 LicenseChallenge 類別公開提供給應用程式。 (舊版 PlayReady Server SDK 會在授權取得挑戰中出現時忽略這項資訊。此頁面描述如何使用這項功能,根據用戶端實作的功能,在伺服器應用程式中做出決策。

功能是透過 LicenseChallenge 類別公開的三種不同的分類:TEE 屬性、TEE API 和 REE 功能。 若要存取個別類別的用戶端功能,您可以使用授權挑戰的屬性來取得對應至每項功能的列舉清單,或存取授權挑戰中傳送之包含功能資訊的原始 XML。 在 4.4 版本中,LicenseChallenge 類別提供的特性及其相應的列舉值如下所示。

TeePropertyList:
支援HEVC硬體解碼
SUPPORTS_REMOTE_PROVISIONING
支援預處理加密數據
需要預處理使用完整幀加密的數據
需要樣本保護
支援安全時鐘
支援安全停止
支援安全的 HDCP 類型 1
REQUIRES_PREPARE_POLICY_INFO
支援除錯追蹤
It may not need an improvement as keeping it as is in technical contexts could be optimal. If translation is necessary and accepted in the field for better understanding, one possible translation could be "需要最少撤銷資料". However, without more context indicating that translation is beneficial or required, it remains appropriate to leave it untranslated.
SUPPORTS_OPTIMIZED_CONTENT_KEY2

TeeApiList:
DRM_TEE_BASE_AllocTEEContext
DRM_TEE_BASE_FreeTEEContext
DRM_TEE_BASE_SignDataWithSecureStoreKey
DRM_TEE_BASE_檢查設備密鑰
DRM_TEE_BASE_獲取除錯資訊
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_解密內容
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_生成挑戰數據
DRM_TEE_SECURETIME_ProcessResponseData
DRM_TEE_AES128CTR_DecryptContentMultiple
DRM_TEE_AES128CBC_DecryptContentMultiple
DRM_TEE_SECURESTOP2_取得簽署密鑰Blob
DRM_TEE_SECURESTOP2_SignChallenge
DRM_TEE_BASE_GetFeatureInformation

ReeFeatureList:
集會
PersistentStorePrealloc
ECCProfiling
ForceAlign
InlineDwordCopy
文件鎖定
多線程
Native64BitTypes
PrecomputedECCGlobalTable(預計算ECC全域表)
追蹤
持久存儲立即寫入 (PersistentStoreWriteThrough)
AddLicenseWriteThrough
無優化
DebugBuild
分析
啟動
防回滾時鐘
CDMI
CleanStore
錯誤代碼合約
PKCRT
設備資產
網域
嵌入式許可證存儲器
PersistentStore
PersistentStoreBlockHeaderCache
CDMIPersistentStore
內容金鑰生成
本地授權生成
計量證書撤銷
計量
模型證書撤銷 (ModelCertificateRevocation)
僅限記憶體的許可
效能
復活
撤銷
安全删除
SecureStop
SecureStop2
SecureTime
結構化序列化
XmlParsingCache
授權獲取
舊版XML憑證
AESCBCS

LicenseChallenge 類別有一些常見狀態,與可使用的客戶端功能集相關。

  • 如果 TeePropertyList、TeeApiList 和 ReeFeatureList 都是空的,則表示用戶端正在執行 4.4 之前的 PK 版本。
  • 如果 ReeFeatureList 不是空的,而且 TeePropertyList 和 TeeApiList 都是空的,則表示兩件事之一。
    • 在 Windows 用戶端上,用戶端是在軟體 DRM 中執行,或用戶端的 TEE 比 PK 4.4 版還舊。
    • 在非 Windows 用戶端上,用戶端的 REE 正在執行 PK 4.4 版以上,但用戶端的 TEE 比 PK 4.4 版還舊。
  • 如果 TeePropertyList、TeeApiList 和 ReeFeatureList 都是非空白的,則用戶端會針對所有元件執行 PK 4.4+ 版。
    • 注意:TeePropertyList 和 TeeApiList 是由客戶端的 TEE 提供,其安全性層級是值得信賴的。