概觀
PlayReady Test Server 會維護舊版語法的支援,以確保與舊版 PlayReady 實作和現有的用戶端應用程式回溯相容性。 此舊版方法使用簡化的參數格式和自早期 PlayReady 版本以來所支援的傳統 HTTP 方法。
舊版 URL 格式
舊版語法會使用簡化的 URL 結構:
https://playready.directtaps.net/pr/svc/rightsmanager.asmx?PlayRight=1&kid=KEY_ID
支援的舊版參數
PlayRight 參數
參數 PlayRight 會指定基本授權許可權:
- 1:允許播放(基本授權)
- 2:允許使用複製保護播放
- 3:允許使用增強的保護播放
- 0:拒絕播放(用於測試拒絕案例)
金鑰識別子參數 (kid)
舊版格式支援簡化的金鑰標識碼規格:
- 標準 GUID 格式:
12345678-1234-1234-1234-123456789012 - 簡化的格式:
123456789012345678901234567890123456 - Base64 編碼格式:
base64-encoded-key-id
舊版授權類型
基本播放授權
https://playready.directtaps.net/pr/svc/rightsmanager.asmx?PlayRight=1&kid=12345678-1234-1234-1234-123456789012
Copy-Protected 授權
https://playready.directtaps.net/pr/svc/rightsmanager.asmx?PlayRight=2&kid=12345678-1234-1234-1234-123456789012
增強型保護授權
https://playready.directtaps.net/pr/svc/rightsmanager.asmx?PlayRight=3&kid=12345678-1234-1234-1234-123456789012
舊版 HTTP 方法
POST 要求格式
以 SOAP 為基礎的傳統授權取得:
POST /pr/svc/rightsmanager.asmx HTTP/1.1
Host: playready.directtaps.net
Content-Type: text/xml; charset=utf-8
SOAPAction: "http://schemas.microsoft.com/DRM/2007/03/protocols/AcquireLicense"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<AcquireLicense xmlns="http://schemas.microsoft.com/DRM/2007/03/protocols">
<challenge>base64-encoded-challenge</challenge>
</AcquireLicense>
</soap:Body>
</soap:Envelope>
GET 要求格式
簡單的 GET 型授權要求:
GET /pr/svc/rightsmanager.asmx?PlayRight=1&kid=12345678-1234-1234-1234-123456789012 HTTP/1.1
Host: playready.directtaps.net
用戶端整合範例
舊版 JavaScript 實作
// Legacy URL construction
function buildLegacyLicenseUrl(keyId, playRight) {
return `https://playready.directtaps.net/pr/svc/rightsmanager.asmx?PlayRight=${playRight}&kid=${keyId}`;
}
// Basic license request
const licenseUrl = buildLegacyLicenseUrl(keyId, 1);
// Use with legacy PlayReady implementations
舊版 C# 實作
// Legacy license request construction
public string BuildLegacyLicenseUrl(string keyId, int playRight)
{
return $"https://playready.directtaps.net/pr/svc/rightsmanager.asmx?PlayRight={playRight}&kid={keyId}";
}
// Usage
string licenseUrl = BuildLegacyLicenseUrl(keyId, 1);
相容性矩陣
PlayReady 版本支援
| PlayReady 版本 | 舊版支援 | 建議的方法 |
|---|---|---|
| 1.0 - 1.3 | 完整 | 舊版語法 |
| 2.0 - 2.3 | 完整 | 舊版或新式 |
| 3.0+ | 有限 | 新式語法 |
| 4.0+ | 已被棄用 | 新式語法 |
用戶端平台支援
| 平台 | 舊版支援 | 註釋 |
|---|---|---|
| Windows 舊版 | 完整 | 原始實作 |
| Silverlight | 完整 | 舊版平台支援 |
| Windows 10+ | 有限 | 慣用新式 API |
| 行動平臺 | 不定 | 檢查平台檔 |
移轉指引
從舊版語法
從舊版語法移轉至新式方法時:
步驟 1:識別目前的使用量
// Current legacy usage
const legacyUrl = `https://playready.directtaps.net/pr/svc/rightsmanager.asmx?PlayRight=1&kid=${keyId}`;
步驟 2:對應至新式對等專案
// Modern equivalent
const modernConfig = {
licenseType: "persistent",
keyId: keyId,
policies: {
playback: {
allowOffline: true
}
}
};
步驟 3:更新授權取得
// Modern license request
const licenseUrl = "https://playready.directtaps.net/pr/svc/rightsmanager.asmx";
// Include modern configuration in request body
舊版語法的限制
功能限制
- 限制原則控制:僅限基本播放許可權
- 沒有進階功能:缺少新式DRM功能
- 簡化保護:基本複製保護選項
- 不支援網域支援:不支援網域系結授權
安全性考慮
- 舊版加密:使用舊版加密方法
- 有限的驗證:降低安全性驗證
- 相容性問題:可能不適用於新式安全性需求
測試舊版實作
基本功能測試
// Test basic playback
testLegacyLicense(keyId, 1); // Should allow playback
// Test copy protection
testLegacyLicense(keyId, 2); // Should enable copy protection
// Test denial scenario
testLegacyLicense(keyId, 0); // Should deny playback
相容性測試
- 版本測試:使用不同的 PlayReady 版本進行測試
- 平台測試:在支援的平台上驗證
- 功能測試:驗證可用的功能正常運作
- 移轉測試:測試新式語法的升級路徑
錯誤處理
Legacy-Specific 錯誤
- 不支援的 PlayRight:無效的 PlayRight 參數值
- 舊版金鑰格式:舊版模式不支援密鑰標識碼格式
- 版本不符:用戶端版本與舊版伺服器不相容
錯誤回應格式
舊版錯誤回應會使用簡化的 XML 格式:
<?xml version="1.0" encoding="utf-8"?>
<Error>
<Code>400</Code>
<Message>Invalid PlayRight parameter</Message>
</Error>
最佳做法
使用舊版語法的時機
- 舊版系統:支援舊版 PlayReady 實作
- 回溯兼容性:維護與現有用戶端的相容性
- 簡單需求:沒有進階功能的基本播放
- 移轉期間:轉換至新式實作期間
建議的替代方案
針對新的實作,請考慮:
- 查詢字串語法 - 簡單的新式方法
- CustomData JSON 語法 - 進階設定
- Base64 JSON 語法 - 精簡新式格式
取代通知
注意:舊版語法支援是為了回溯相容性而維護,但針對新的實作已被取代。 請考慮移轉至新式語法,以取得增強的功能和安全性。
相關文件
- PlayReady Test Server 服務 - 主要服務概觀
- 查詢字串語法 - 新式簡單方法
- 如何移轉 - 移轉指引
- PlayReady 測試伺服器 - 完整伺服器檔
支援和疑難解答
針對舊版語法的問題:
- 確認 PlayReady 版本相容性
- 檢查參數格式和值
- 使用簡化的組態進行測試
- 請考慮移轉至新式語法
- 檢閱平臺特定檔
如需移轉協助和新式替代方案,請參閱主要的 PlayReady 測試伺服器 檔。