共用方式為


PlayReady 測試伺服器的舊版語法

概觀

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

相容性測試

  1. 版本測試:使用不同的 PlayReady 版本進行測試
  2. 平台測試:在支援的平台上驗證
  3. 功能測試:驗證可用的功能正常運作
  4. 移轉測試:測試新式語法的升級路徑

錯誤處理

Legacy-Specific 錯誤

  • 不支援的 PlayRight:無效的 PlayRight 參數值
  • 舊版金鑰格式:舊版模式不支援密鑰標識碼格式
  • 版本不符:用戶端版本與舊版伺服器不相容

錯誤回應格式

舊版錯誤回應會使用簡化的 XML 格式:

<?xml version="1.0" encoding="utf-8"?>
<Error>
    <Code>400</Code>
    <Message>Invalid PlayRight parameter</Message>
</Error>

最佳做法

使用舊版語法的時機

  1. 舊版系統:支援舊版 PlayReady 實作
  2. 回溯兼容性:維護與現有用戶端的相容性
  3. 簡單需求:沒有進階功能的基本播放
  4. 移轉期間:轉換至新式實作期間

針對新的實作,請考慮:

取代通知

注意:舊版語法支援是為了回溯相容性而維護,但針對新的實作已被取代。 請考慮移轉至新式語法,以取得增強的功能和安全性。

支援和疑難解答

針對舊版語法的問題:

  1. 確認 PlayReady 版本相容性
  2. 檢查參數格式和值
  3. 使用簡化的組態進行測試
  4. 請考慮移轉至新式語法
  5. 檢閱平臺特定檔

如需移轉協助和新式替代方案,請參閱主要的 PlayReady 測試伺服器 檔。