概要
PlayReady テスト サーバーでは、以前の PlayReady 実装や既存のクライアント アプリケーションとの下位互換性を確保するために、従来の構文のサポートが維持されています。 この従来のアプローチでは、初期の PlayReady バージョン以降にサポートされていた、簡略化されたパラメーター形式と従来の HTTP メソッドが使用されます。
従来の URL 形式
従来の構文では、簡略化された URL 構造が使用されます。
https://playready.directtaps.net/pr/svc/rightsmanager.asmx?PlayRight=1&kid=KEY_ID
サポートされているレガシ パラメーター
PlayRight パラメーター
PlayRight パラメーターは、基本的なライセンスのアクセス許可を指定します。
- 1: 再生を許可する (基本ライセンス)
- 2: コピー保護による再生を許可する
- 3: 強化された保護を使用して再生を許可する
- 0: 再生を拒否する (拒否シナリオのテスト用)
キー ID パラメーター (kid)
従来の形式では、簡略化されたキー ID の仕様がサポートされています。
- 標準 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 パラメーター値が無効です
- レガシ キー形式: レガシ モードではキー ID 形式がサポートされていません
- バージョンの不一致: クライアント バージョンがレガシ サーバーと互換性がありません
エラー応答の形式
従来のエラー応答では、簡略化された XML 形式が使用されます。
<?xml version="1.0" encoding="utf-8"?>
<Error>
<Code>400</Code>
<Message>Invalid PlayRight parameter</Message>
</Error>
ベスト プラクティス
従来の構文を使用する場合
- レガシ システム: 以前の PlayReady 実装のサポート
- 下位互換性: 既存のクライアントとの互換性の維持
- シンプルな要件: 高度な機能を使用しない基本的な再生
- 移行期間: 最新の実装への移行中
推奨される代替手段
新しい実装の場合は、次の点を考慮してください。
- クエリ文字列の構文 - 単純なモダン アプローチ
- CustomData JSON 構文 - 高度な構成
- Base64 JSON 構文 - コンパクトモダン形式
今後のバージョンでの使用
注: 従来の構文のサポートは下位互換性のために維持されますが、新しい実装では非推奨です。 強化された機能とセキュリティのために、最新の構文に移行することを検討してください。
関連ドキュメント
- PlayReady テスト サーバー サービス - メイン サービスの概要
- クエリ文字列の構文 - 最新の単純なアプローチ
- 移行方法 - 移行ガイダンス
- PlayReady テスト サーバー - サーバーの完全なドキュメント
サポートとトラブルシューティング
従来の構文に関する問題の場合:
- PlayReady バージョンの互換性を確認する
- パラメーターの形式と値を確認する
- 簡略化された構成でテストする
- 最新の構文への移行を検討する
- プラットフォーム固有のドキュメントを確認する
移行の支援と最新の代替手段については、 PlayReady テスト サーバー のメイン ドキュメントを参照してください。