PlayReady 4.6 版的新功能
此頁面包含 PlayReady 4.5 版與 PlayReady 4.6 版之間最重要的變更概觀。
PlayReady 4.6 版的一般變更
金鑰交換
從 PlayReady 4.6 開始,單一金鑰 Exchange 授權可以包含具有不同演算法的多個金鑰。
PlayReady Server SDK 4.6 版中的變更
一般伺服器變更
- .NET Core SDK 已移轉至 .NET 6.0 版。
- 金鑰 Exchange 授權現在可以包含具有不同演算法的多個金鑰。
伺服器 API 變更
這只是概觀。 如需詳細資訊,請參閱 伺服器 API 檔 。
- LicenseChallengeReeFeatures 列舉現在包含 KeyExchangeMultiple 值。
- 如果挑戰的 ReeFeatureList 包含 LicenseChallengeReeFeatures.KeyExchangeMultiple,現在可以使用不同的 KeyExchangeRight 實例呼叫 KeyExchangeLicense 類別方法 AddRight 多次。
- IPackagingDataAcquisitionHandler 已新增至 .NET Core 版本。 .NET Core Server SDK 最初未發行此功能。 它已新增回 ,以關閉舊版和 .NET Core 版本之間的這項功能差距。
- IServerAuthorization 現在包含 OnServerCertificateParsed。 在伺服器 SDK 驗證伺服器憑證之後,會呼叫這個方法。 如果驗證成功,則會將憑證物件提供給處理常式;否則會提供驗證例外狀況。
- 設定 LicenseResponse.LicenseServerTimeCertificate 現在會擲回例外狀況,如果 ILicenseChallenge.ReeFeatureList 不包含 LicenseChallengeReeFeatures.LicenseServerTime,而不是向用戶端發出無法使用的授權。
PlayReady 裝置移植套件 4.6 版中的變更
一般裝置移植套件變更
- 僅Microsoft內部實作中使用的更多不支援程式碼路徑已移除,以消除混淆並減少編譯時間和二進位大小。
- 程式碼已跨各種檔案移動,讓連結器能夠進行更好的優化。
- 將會正確處理具有多個不同演算法的單一 KeyExchangeLicense。
- 已新增xmrlicensetoxml.exe工具和原始程式碼。
- 所有記憶體配置函式,例如Oem_MemAlloc現在會根據系統架構 (32 位或 64 位) 取大小,而不是一律採用 32 位大小。
- 已修正Drm_SecureDelete_GenerateChallenge記憶體流失。
- drmmanager 測試區域分成許多個別的測試區域,讓記錄更容易流覽。 作為單一測試區域,記錄檔非常龐大。
裝置移植套件 API 變更
這只是概觀。 如需詳細資訊,請參閱 PlayReady 裝置移植套件 中相關程式碼批註中提供的 API 檔。
下列 OEM REE 和 TEE API 已變更為使用DRM_SIZE_T,而不是大小DRM_DWORD。
- Oem_MemAlloc
- Oem_Broker_MemAlloc
- OEM_TEE_BASE_SecureMemAlloc
- DRMCRT_ScrubMemory
- DRMCRT_LocalMemcpy
- DRMCRT_LocalMemset
- DRMCRT_LocalDWORDSetZero
- DRMCRT_LocalAreEqual
- DRMCRT_LocalDWORDcpy
已新增下列 OEM REE API:
- Oem_Device_GetClientOSInformation (選擇性) 。
下列 OEM TEE API 已變更:
- OEM_TEE_BASE_SecureMemHandleFree現在會傳回DRM_RESULT,而不是DRM_VOID。
- OEM_TEE_RPROV_WrapProvisioningRequest現在會在輸入時包含工作階段金鑰。